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的创建遵循4中4.3以前所有的步骤,完成后直接挂载就可以使用无需再次分区格式化
#mkdir /scsi1
#mount /dev/sdb1 /scsi1
可以看到客户端1拷贝进入的文件
#ls
fstab lost+found
*如果俩个客户端同时挂载相同的lun,客户端1对lun的数据操作,客户端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的服务文件,让它开机启动。