IPSAN 软件方式的实现 TARGET

Target

1.首先创建我们用于制作的设备,这里我们通过使用分区来代替,大小为5G

/dev/sda5

2.服务端的配置

2.1target的安装

#yum install -y scsi-target-utils

#service tgtd start

#chkconfig tgtd on

2.2.服务端target的配置

2.2.1创建target-T指定target的名字(IQN),格式为:

  iqn: ISCSI Qualified Name

  iqn. ..

     $2: yyyy-mm(创建时间,年月即可)

     $3:主机域名倒写 例:magedu.com要写成com.magedu

     $4:自定义,

#tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2012-08.com.7ing.text:t1

2.2.2创建lun--lun指定编号的时候从1开始,0是预留给iscsi控制器的

#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun1 -b /dev/sda5

2.2.3开放给172.16.0.0/16网络中的主机访问,默认是禁止任何主机访问的

#tgtadm --l iscsi --op bind --mode target --tid 1 -I 172.16.0.0/16

*-I ALL;开放给所有

4.客户端的配置

4.1安装启动

#yum install -y iscsi-initiator-utils

# echo "InitiatorAlias=initiator1" >> /etc/iscsi/initiatorname.iscsi

#service iscsi start

#chkconfig iscsi on

4.2配置

4.2.1客户端发送发现信息

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.98.1

172.16.98.1:3260,1 iqn.2012-08.com.7ing.text:t1

4.2.2登录target,启用设备,服务器端不管用什么类型的设备创建lun,客户端上都识别为一个新的磁盘,这里为/dev/sdb

[root@node2 ~]# iscsiadm -m node -T iqn.2012-08.com.7ing.text:t1 -p 172.16.98.1:3260 -l

Logging in to [iface: default, target: iqn.2012-08.com.7ing.text:t1, portal: 172.16.98.1,3260] (multiple)

Login to [iface: default, target: iqn.2012-08.com.7ing.text:t1, portal: 172.16.98.1,3260] successful.

[root@node2 ~]# fdisk -l

Disk /dev/sda: 128.8 GB, 128849018880 bytes

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14        5235    41945715   8e  Linux LVM

/dev/sda3            5236        5366     1052257+  82  Linux swap / Solaris

Disk /dev/sdb: 5009 MB, 5009163264 bytes

155 heads, 62 sectors/track, 1018 cylinders

Units = cylinders of 9610 * 512 = 4920320 bytes

Disk /dev/sdb doesn't contain a valid partition table

*注意:客户端在发送发现信息和登录的信息会分别记录在以下两个目录,客户端重启的时候无需再次发从发现信息和登录。

/var/lib/iscsi/send_targets/172.16.98.1,3260

/var/lib/iscsi/nodes/iqn.2012-08.com.7ing.text:t1/

4.3分区,格式化挂载使用

#fdisk /dev/sdb

P

1

+200m

W

#partprobe  /dev/sdb

#mke2fs -j /dev/sdb1

#mkdir /scsi

#mount /dev/sdb1 /scsi

拷贝一个文件

#cat /etc/fscat /scsi

5.客户端2的创建

客户端2的创建遵循44.3以前所有的步骤,完成后直接挂载就可以使用无需再次分区格式化

#mkdir /scsi1

#mount /dev/sdb1 /scsi1

可以看到客户端1拷贝进入的文件

#ls

fstab  lost+found

*如果俩个客户端同时挂载相同的lun,客户端1lun的数据操作,客户端2是无法看到的,因为客户端挂载lun的时候,保留的是lun被挂载的时候的状态,客户端2只有重新卸载和挂载才能看见

*如果俩个客户端同时挂载相同的lun,可能造成脑裂的情况,这就要使用高可用集群文件系统来解决问题了

6.客服之间的身份认证,基于用户名和密码,CHAP

6.1单向CHAP的认证,服务端认证客户端

6.1.1服务端的配置

创建用户和密码

#tgtadm --lld iscsi --op new --mode account --user 7ing --password 123456

绑定用户到对应target

#tgtadm --lld iscsi --op bind --mode account -tid 1 --user 7ing 

6.1.2客户端的配置

#vim /etc/iscsi/iscsid.conf

找到如下选项,启用,输入验证客户端创建的用户和密码

 node.session.auth.authmethod = CHAP

 node.session.auth.username = 7ing

 node.session.auth.password = 123456

由于我们的客户端之前已经登录过target,推出登录,并删除登录时产生的两个目录文件,然后重新登录

结束会话

# iscsiadm -m session -r sid -u

登出target

# iscsiadm -m node -T iqn.2012-08.com.example.ts:disk1 -p 172.16.98.1:3260 -u

移除与target的连接

# iscsiadm -m node -T iqn.2012-08.com.example.ts:disk1 -p 172.16.98.1:3260 -o delete

删除文件

# rm -rf /var/lib/iscsi/nodes/iqn.2012-08.com.example.tgt:disk1

# rm -rf -rf /var/lib/iscsi/send_targets/172.16.0.98,3260

重启服务并重新发现和登录

# service iscsid restart

# iscsiadm -m discovery -t sendtargets -p 172.16.98.1

# iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 172.16.98.1:3260 -l

6.2双向认证

6.2.1服务端的配置

在单向认证的基础上,创建用于客户端认证服务端的用户和密码

#tgtadm --lld iscsi --op new --mode account --user ying --password 123456 --outgoing

绑定用户到对应target

#tgtadm --lld iscsi --op bind --mode account -tid 1 --user ying --outgoing

6.2.2客户端的配置

#vim /etc/iscsi/iscsid.conf

找到如下选项,启用,输入验证客户端的用户和密码

 node.session.auth.authmethod = CHAP

 node.session.auth.username = 7ing

 node.session.auth.password = 123456

验证服务端的用户和密码

 Node.session.auth.username_in = ying

 node.session.auth.password _in= 123456

如果以前登录过同样要执行6.1中的步骤

7.注意事项

target配置完成后,如果主服务器的服务重启,或重新启动,主服务器中关于target的配置将会全部丢失,所以说我们有关主服务器中的配置最好也要写在/etc/rc.local文件中,或者我们自己将这些定义写成类似lsb的服务文件,让它开机启动。