我常用这几种iscsi软件来做集群的实验,在接触linux之前我一直用微软的 iscsi target 软件做windows集群的实验,末尾我再介绍 MS iSCSI Target软件的下载地址和使用方法,超简单,我先来介绍 Linux中常用的两种 iSCSI Target软件,总不能挂着狗头卖羊肉吧,呵呵
SCSI target framework (tgt)
这个在rhel5中作为一个套间存在
安装:
yum install scsi-target-utils
启动服务
/etc/init.d/tgtd start
设为开机自启动:
chkconfig tgtd on
确认一下有没有起来呀
netstat -anlpt | grep 3260
3260 是iscsi target的侦听端口
老生常谈,呵呵
我们不需要去配置文档,所有的配置都是通过tgtadm指令进行设置生效的
创建target
tgtadm --lld iscsi --op new --mode target --tid1 -T iqn.2011-11.com.contoso.storage
在linux中没有回显便是成功
看一下刚才的指令都干了些什么
tgtadm --lld iscsi --op show --modetarget
LUN0是系统自动产生的,用来管理 devicecontroller
分配存储设备
现在创建了一个target,稍后向这个target分配一个物理的或文件的存储空间,再分配一个lun号;
可以向一个target分配一个或多个存储空间,而一个存储空间同时只能分配给一个target
现在我准备了三个划分好的分区和一个文件
使用 dd 指令来创建一个1GB大小的文件
dd if=/dev/zero of=/var/lun4 bs=1Mcount=1024
接下来,给新建的target添加一个存储设备
tgtadm --lld iscsi --op new --modelogicalunit --tid 1 --lun 1 -b /dev/hdb5
tgtadm --lld iscsi --op show --mode target 查看信息
从信息可以看到,已经为tid为1的target分配了/dev/hdb5的分区,并未它分配了lun号为1(lun0为系统占用,已经不可以使用)
再为这个target分配 /var/lun4,这个是之前用dd创建的设备。
tgtadm --lld iscsi --op new --modelogicalunit --tid 1 --lun 2 -b /var/lun4
tgtadm --lld iscsi --op show --mode target
设置访问控制
为Target分配了存储设备后,需要设置访问控制后才可以使用,我们可以设置Target任意被访问,但是这样不安全;所以我们可以设置基于IP地址授权或基于用户验证的方式来控制对Target的访问
任意被访问:
tgtadm --lld iscsi --op bind --mode target--tid 1 -I ALL
tgtadm --lld -iscsi --op show --modetarget
把任意访问的授权给去掉
tgtadm --lld iscsi --op unbind --modetarget --tid 1 -I ALL
设置基于ip地址的授权
tgtadm --lld iscsi --op bind --mode target--tid 1 -I 192.168.2.23
在授权一个ip:
tgtadm --lld iscsi --op bind --mode target--tid 1 -I 192.168.2.33
授权一段IP
tgtadm --lld iscsi --op bind --mode target--tid 1 -I 192.168.4.0/24
查看一下:
tgtadm --lld iscsi --op show --modetarget
删除操作
从Target中移除lun
tgtadm --lld iscsi --op delete--mode logicalunit --tid 1 --lun 2
lun 2已经没了
删除target
tgtadm --lld iscsi --op delete --modetarget --tid 1
tgtadm --lld iscsi --op show --mode target
没有任何信息返回,原先的target已经没有了
客户端连接
windows 客户端:
windows 7 iscsi 发起程序
linux客户端
安装iscsi-initiator-utils
发现设备:
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.40 --discover
指令会给我们返回所有target的iqn号
登录设备:
iscsiadm --mode node --targetname iqn.com.beyondsoft.2011-11.storage--portal 192.168.2.40:3260 –login
注意设置开机自动生效:chkconfig iscsid on service iscsid on
系统返回成功登录的信息
从系统中卸载:
iscsiadm --mode node --targetnameiqn.com.beyondsoft.2011-11.storage --portal 192.168.2.40:3260 --logout
系统返回成功登出的信息: