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