iSCSI Target 编译安装过程
1. 解压: tar zxvf iscsitarget-1.4.18 .t ar.gz
2. cd iscsitarget-1.4.18
3. Linux2.6.32的内核太新了最新的 iSCSI Target 版本 1.4.18 还没有支持,网上有高手做了相应的补丁,于是打上补丁 patch -p1 <iscsitarget-1.4.18+linux-2.6.32.patch
4. 编译: make KSRC= /usr/src /linux-2.6.32.2
5. 安装: make install /usr/src /linux-2.6.32.2
iSCSI Target 配置和常用操作详解
1. 修改配置文件
vi /etc/ietd.conf
2. 使用IET 管理命令行
2 添加一个新的target
ietadm --op new --tid=[id] --params Name=iqn.foo.example
其中[id] 为数字,必须是没有使用过的。后面的 Name 需要自己自定义,也需要保证是唯一的。
当然不知道自己本机所有target id 的话,可以使用这个命令查看当前的 target 状态和得到 target id
2 添加一个新的 lun
Note: 在一个已经存在的 target 上加入一个 lun, 以便共享出来给外界。
ietadm --op new --tid=[id] --lun=[lun] --params Path=/path/exported/file,Type=fileio
[id] 必须是一个已经存在的 tid 号, [lun] 可以自己定义。
后面的path 就是共享的路径了。
NOTE: 通过这种方式添加的LUN 在重启服务之后会丢失。
2 停止某个Target 的某个 Connection 的连接
ietadm --op delete --tid=2 --sid=562950876233792 --cid=1 && ietadm --op delete --tid=2
2 停止所有Target 的连接
ietadm --op delete
2 删除某个Target (已经没有 Session 连接的)
ietadm --op delete --tid= 1
上面列出了ietadm 常用的命令,关于 ietadm 其余的命令,大家可以使用 ietadm --help 来查看更多的指令。
3. 常用操作命令
查看当前虚拟单元清单
cat /proc/net/iet/volume
tid:2 name:200M.img
lun:1 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/test.iso
tid:1 name:windows.iso
lun:0 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/windows.iso
查看当前服务器 ISCSI target 服务以及连接状态命令
cat /proc/net/iet/sessions
tid:2 name:200M.img
sid:562950876233792 initiator:iqn.1991-05.com.microsoft:admin-pc
cid:1 ip:192.168.1.240 state:active hd:none dd:none
sid:281475899523136 initiator:jacko
cid:1 ip:192.168.1.60 state:active hd:none dd:none
tid:1 name:windows.iso
启动、停止、重启iscsi-target 服务
/etc/init.d/iscsi-target start
/etc/init.d/iscsi-target stop
/etc/init.d/iscsi-target restart