天天看点

虚拟机配置iSCSI共享存储

我常用这几种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

虚拟机配置iSCSI共享存储
虚拟机配置iSCSI共享存储

3260 是iscsi target的侦听端口

老生常谈,呵呵

我们不需要去配置文档,所有的配置都是通过tgtadm指令进行设置生效的

创建target

虚拟机配置iSCSI共享存储

tgtadm --lld iscsi --op new --mode target --tid1 -T iqn.2011-11.com.contoso.storage

在linux中没有回显便是成功

看一下刚才的指令都干了些什么

tgtadm --lld iscsi --op show --modetarget

虚拟机配置iSCSI共享存储

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 查看信息

虚拟机配置iSCSI共享存储

从信息可以看到,已经为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

虚拟机配置iSCSI共享存储

设置访问控制

为Target分配了存储设备后,需要设置访问控制后才可以使用,我们可以设置Target任意被访问,但是这样不安全;所以我们可以设置基于IP地址授权或基于用户验证的方式来控制对Target的访问

任意被访问:

tgtadm --lld iscsi --op bind --mode target--tid 1 -I ALL

tgtadm --lld -iscsi --op show --modetarget 

虚拟机配置iSCSI共享存储

把任意访问的授权给去掉

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 

虚拟机配置iSCSI共享存储

删除操作

从Target中移除lun

tgtadm --lld iscsi --op delete--mode logicalunit --tid 1 --lun 2

虚拟机配置iSCSI共享存储

lun 2已经没了

删除target

tgtadm --lld iscsi --op delete --modetarget --tid 1

tgtadm --lld iscsi --op show --mode target

没有任何信息返回,原先的target已经没有了

客户端连接

windows 客户端:

windows 7 iscsi 发起程序

虚拟机配置iSCSI共享存储
虚拟机配置iSCSI共享存储
虚拟机配置iSCSI共享存储

linux客户端

安装iscsi-initiator-utils

发现设备:

iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.40 --discover

虚拟机配置iSCSI共享存储

指令会给我们返回所有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

虚拟机配置iSCSI共享存储

系统返回成功登录的信息

虚拟机配置iSCSI共享存储

从系统中卸载:

iscsiadm --mode node --targetnameiqn.com.beyondsoft.2011-11.storage --portal 192.168.2.40:3260 --logout

系统返回成功登出的信息:

虚拟机配置iSCSI共享存储

继续阅读