linux iscsi target 服务器设置
1、(1)安装软件
[root@wiscom1 /]#rpm -qa | grep scsi
iscsi-initiator-utils-6.2.0.873-2.el6.x86_64
scsi-target-utils-1.0.24-2.el6.x86_64
scsi-target-utils iscsi target服务工具
iscsi-initiator-utils iscsi 客户端挂载工具
2、(2)dd创建磁盘
[root@wiscom1 wiscom]#dd if=/dev/zero of=/wiscom/scsi_crs1 bs=2048M count=2
记录了0+2 的读入
记录了0+2 的写出
4294959104字节(4.3 GB)已复制,53.7834 秒,79.9 MB/秒
[root@wiscom1 wiscom]#dd if=/dev/zero of=/wiscom/scsi_crs2 bs=2048M count=2
记录了0+2 的读入
记录了0+2 的写出
4294959104字节(4.3 GB)已复制,59.2205 秒,72.5 MB/秒
[root@wiscom1 wiscom]#dd if=/dev/zero of=/wiscom/scsi_crs3 bs=2048M count=2
记录了0+2 的读入
记录了0+2 的写出
4294959104字节(4.3 GB)已复制,2.83001 秒,1.5 GB/秒
[root@wiscom1 wiscom]#dd if=/dev/zero of=/wiscom/scsi_data1 bs=3072M count=100
记录了0+100 的读入
记录了0+100 的写出
214747955200字节(215 GB)已复制,1655.88 秒,130 MB/秒
[root@wiscom1 wiscom]#dd if=/dev/zero of=/wiscom/scsi_data2 bs=3072M count=100
记录了0+100 的读入
记录了0+100 的写出
214747955200字节(215 GB)已复制,1655.88 秒,130 MB/秒
3、(3)编辑/etc/tgt/targets.conf文件
[root@wiscom1 /]#vim /etc/tgt/targets.conf
default-driver iscsi
<target iqn.2016-0924.wiscom:wiscom01>
<backing-store /wiscom/scsi_crs1>
scsi_id wiscom01
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom02>
<backing-store /wiscom/scsi_crs2>
scsi_id wiscom02
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom03>
<backing-store /wiscom/scsi_crs3>
scsi_id wiscom03
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom04>
<backing-store /wiscom/scsi_data1>
scsi_id wiscom04
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom05>
<backing-store /wiscom/scsi_data2>
scsi_id wiscom05
lun 1
</backing-store>
</target>
4、(4)重启service tgtd restart
[root@wiscom1 tgt]#service tgtd restart
停止 SCSI target daemon: [确定]
正在启动 SCSI target daemon: [确定]
tgtadm: invalid request
Command:
tgtadm -C 0 --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /wiscom/scsi_crs1
exited with code: 22.
重启tgtd 总是报错
注意:
原因在于,iscsi target服务端所提供的设备必须是根目录的。
问题解决步骤:
1、移动文件到根目录下并编辑文件--失败
那么我们现在将/wiscom下的所有文件mv移动到根目录下并编辑/etc/tgt/targets.conf文件:
[root@wiscom1 tgt]#
[root@wiscom1 tgt]#cd /wiscom/
[root@wiscom1 wiscom]#ls
scsi_crs2 scsi_crs3 scsi_data1 scsi_data2
[root@wiscom1 wiscom]#mv * /
[root@wiscom1 wiscom]#ls
[root@wiscom1 wiscom]#cd /
[root@wiscom1 /]#ls scsi_*
scsi_crs1 scsi_crs2 scsi_crs3 scsi_data1 scsi_data2
将以上全部移动到根目录,并修改/etc/tgt/targets.conf文件
[root@wiscom1 tgt]#cat /etc/tgt/targets.conf
default-driver iscsi
<target iqn.2016-0924.wiscom:wiscom01>
<backing-store /scsi_crs1>
scsi_id wiscom01
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom02>
<backing-store /scsi_crs2>
scsi_id wiscom02
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom03>
<backing-store /scsi_crs3>
scsi_id wiscom03
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom04>
<backing-store /scsi_data1>
scsi_id wiscom04
lun 1
</backing-store>
</target>
<target iqn.2016-0924.wiscom:wiscom05>
<backing-store /scsi_data2>
scsi_id wiscom05
lun 1
</backing-store>
</target>
发现还是报错
2、重试删除根目录scsi_crs1并在根目录重建它--成功
[root@wiscom1 tgt]#service tgtd restart
停止 SCSI target daemon: [确定]
正在启动 SCSI target daemon: [确定]
tgtadm: invalid request
Command:
tgtadm -C 0 --lld iscsi --op new --mode logicalunit --tid 3 --lun 1 -b /scsi_crs2
exited with code: 22.
我们可以看到报错移动开始移动到/scsi_crs2,也就是说/scsi_crs1创建成功
3、根据此原理,删除之前移动到根目录下的scsi_crs1\scsi_crs2\scsi_crs3\scsi_data1\scsi_data2--成功
[root@wiscom1 tgt]#service tgtd restart
停止 SCSI target daemon: [确定]
正在启动 SCSI target daemon: [确定]
总结:
1、iscsi target 服务提供的文件设备必须是创建在根目录下的文件,从其他目录下移动到根目录的仍无法创建。
2、/etc/tgt目录下除了targets.conf配置文件不能有其他文件
5、(5)tgt-admin -s查看iscsi target设备情况
