全部博文(36)
分类: LINUX
2011-11-03 00:28:44
我常用这几种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 tftd on
确认一下有没有起来呀
netstat -anlpt | grep 3260
3260 是iscsi target的侦听端口
老生常谈,呵呵
我们不需要去配置配置文档,所有的配置都是通过tgtadm指令进行设置生效的
创建target
在linux中没有回显便是成功
看一下刚才的指令都干了些什么
tgtadm --lld iscsi --op show --mode target
LUN0是系统自动产生的,用来管理 device controller
分配存储设备
现在创建了一个target,稍后向这个target分配一个物理的或文件的存储空间,再分配一个lun号;
可以向一个target分配一个或多个存储空间,而一个存储空间同时只能分配给一个target
现在我准备了三个划分好的分区和一个文件
使用 dd 指令来创建一个1GB大小的文件
dd if=/dev/zero of=/var/lun4 bs=1M count=1024
接下来,给新建的target添加一个存储设备
tgtadm --lld iscsi --op new --mode logicalunit --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 --mode logicalunit --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 --mode target
把任意访问的授权给去掉
tgtadm --lld iscsi --op unbind --mode target --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 --mode target
删除操作
从Target中移除lun
tgtadm --lld iscsi --op delete --mode logicalunit --tid 1 --lun 2
lun 2已经没了
删除target
tgtadm --lld iscsi --op delete --mode target --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
系统返回成功登录的信息
从系统中卸载:
iscsiadm --mode node --targetname iqn.com.beyondsoft.2011-11.storage --portal 192.168.2.40:3260 --logout
系统返回成功登出的信息:
Linux Enterprise iScsi Target(iet)
下载地址:
安装Enterprise iscsi target,先需要安装kernel-devel kernel-header
所以安装之前先检查一下系统是否安装了这个两个包
rpm -qa | grep kernel-devel
rpm -qa | grep kernel-header
如果都装了,就安装喽
make
make install
安装也挺简单的
Enterprise iscsi target 与 tgt不同的是,所有的设置是在配置文档里做的
/etc/iet/ietd.conf是它的配置文档
iet也可以基于ip和用户验证进行授权
用户验证是在iet.conf里面做,ip授权是在initiators.allow 和 targets.allow进行授权
在配置文档里添加:
iSNSServer 192.168.2.40
iSNSAccessControl No
iqn.2011-11.con.beyondsoft.com.storage
#这是创建一个target
Lun 0 Path=/dev/hdb5,Type=fileio,IOMode=wb
#这是给target分配存储设备
退出保存
默认情况下,iet是允许任意被访问的
initiators.allow
我们去掉 ALL ALL配置
添加刚才新建的target访问授权
iqn.2011-11.com.beyondsoft.storage 192.168.2.24, 192.168.2.33
启动服务:
/etc/init.d/iscsi-target start
检查服务是否正常启动:
netstat -anlpt | grep 3260
用windows 客户端连接一下,我的ip是 192.168.2.23
显示没有可用于快速链登录的目标
把我的ip授权
重启服务:/etc/init.d/iscsi-target restart
再连接一下
可以成功连接
以上两种是在linux系统上做的。
以下简单介绍下微软的 iscsi target 3.3
下载地址:
下载完毕 install step by step没有什么好说的,只能安装在64bit的server端,好像有破解版的没有限制。
“开始”——》程序——》Microsoft iScsi software target
在操作控制台里,分别创建target和设备,设备是.vhd的虚拟硬盘文件
创建target
这样就创建好了一个target
创建设备
在创建的过程中会让你选择.vhd文件的存放位置和大小
并可以在创建的过程中把它分配给一个target
客户端连接
windows
用linux连接也是没有问题的
over,介绍的比较简单,有问题可以一起探讨,(*^__^*)