iSCSI的配置(target/initiator)

iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface)
iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料


Target端的配置

1. 下载

http://sourceforge.net/projects/iscsitarget/files/

2. 编译安装

# cd iscsitarget-1.4.20.2
# make && make install
iscsi_trgt.ko               内核模块
ietd                        iscsitarget的守护进程
ietadm                      iscsitarget的用户层管理工具
/etc/init.d/iscsi-target    iscsitarget的启动脚本
/etc/ietd.conf              iscsitarget的配置文件
/etc/initiators.allow       控制initiator对target的访问权限
/etc/initiators.deny        控制initiator对target的访问权限
/etc/iet/targets.allow      控制不同target的被访问权限

3. 配置/etc/ietd.conf

Target iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz
Lun 0 Path=/dev/sg2,Type=fileio
Alias lun0

iqn.yyyy-mm.[:identifier]
iqn:表示”iSCSI Qualified Name”
yyyy-mm:表示年份-月份
reversed domain name:表示倒过来的域名,这里是com.example
identifier:表示识别代码,这里是iscsitarget-1.4.20.2.tar.gz

LUN:表示”Logical Unit Number”。”Type”值fileio是默认的,表示设置设备IO传输类型,有fileio、blockio、nullio。逻辑卷推荐用fileio,分区推荐用blockio

4. 启动iscsitarget

# /etc/init.d/iscsi-target start
# netstat -tulpn | grep 3260

inititor端配置

典型的initiator都有共同的目的,就是作为一个SCSI总线的适配器,代替物理上的SCSI设备(类似硬盘或者磁带)。iSCSI initiator通过IP网络传输SCSI命令

1. yum安装

# yum -y install iscsi-initiator-utils

2. 启动inititor

# /etc/init.d/iscsid start

首先要保证iscsid守护进程启动,否则出现”Connection refused”

3. 发现target

# iscsiadm -m discovery -t sendtargets -p <iSCSI target ip>:<port>
# iscsiadm -m discovery -t st -p 127.0.0.1 

127.0.0.1:3260,1 iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz
192.168.60.219:3260,1 iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz

默认情况下port是3260,iptables不要有限制

4. 登录target

# iscsiadm -m node -T <target-name> -p <ip-address>:<port> --login
# iscsiadm -m node -T iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz -p 127.0.0.1 -l

Logging in to [iface: default, target: iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz, portal: 127.0.0.1,3260] (multiple)
Login to [iface: default, target: iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz, portal: 127.0.0.1,3260] successful.

5. 登出target

# iscsiadm -m node -T iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz -p 127.0.0.1 -u
# iscsiadm -m node --logoutall=all

登出所有登录

6. 删除target

# iscsiadm -m node -o delete -T st -p 127.0.0.1

7. 开启认证

# iscsiadm -m node -T st -o update --name node.session.auth.authmethod --value=CHAP

8. 添加用户

# iscsiadm -m node -T st -o update --name node.session.auth.username --value=[用户名]

9.添加密码

# iscsiadm –m node –T st -o update –name node.session.auth.password --value=[密码]

tgt

tgtadm是用来监控、修改Linux SCSI target 的工具,包括target设置、卷设置,等等

1. 安装

//RHEL
# yum -y install scsi-target-utils
//Ubuntu
# apt-get install tgt

2. 启动服务

# /etc/init.d/tgtd start

测试没起来服务

3. 创建target

# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2015-06.com.example:iscsitarget-1.4.20.2.tar.gz

4. 查看target

# tgtadm --lld iscsi --op show --mode target

5. 为target增加一个lun(logical unit)

# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --bstype=sg --device-type=pt -b /dev/sg2

6. target接受initiator的访问

# tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
原文地址:https://www.cnblogs.com/zhangxuechao/p/11709946.html