二、配置iscsi的Initiator(iscsi客户端,需要连接使用iscsi存储)
# yum install iscsi-initiator-utils
# service iscsid start <---真正客户端服务进程
# service iscsi start <---一个脚本。能够自动实现登录target
首先发现target
# iscsiadm -m discovery -p 1.1.1.128 -t st
1.1.1.128:3260,1 iqn.2011-11.com.upl:webroot
登录target
# iscsiadm -m node -T iqn.2011-11.com.upl:webroot -p 1.1.1.128 -l
验证,多了一个硬盘
# fdisk -l
格式化成ext3,然后存放一些文件。
# mkfs.ext3 /dev/sdb1
客户端只要曾经发现过target,重启iscsi服务就会自动登录该target
# service iscsi restart
例子2:实现另外一个带有访问控制的target
# vim /etc/tgt/targets.conf
<target iqn.2011-11.com.upl:qdisk>
backing-store /dev/sda6
incominguser tom 123456
initiator-address 1.1.1.129
initiator-address 1.1.2.129
</target>
重启target最好保证没有客户端(发起方)正在连接存储
# service tgtd stop
# service tgtd start
# tgtadm --lld iscsi --op show --mode target
....
客户端:
# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = tom
node.session.auth.password = 123456
# service iscsid restart
# iscsiadm -m discovery -t st -p 1.1.1.128
# iscsiadm -m node -T iqn.2011-11.com.upl:qdisk -l
取消登录
# iscsiadmin -m node -u <---取消全部
-T iqn.2011-11.com.upl:qdisk 取消具体某个target的登录
如果想启动iscsi服务时候不会自动登录,就必须删掉该target的记录
# iscsiadmin -m node --op delete -T iqn.2011-11.com.upl:qdisk
# iscsiadm -m session
tcp: [13] 1.1.1.128:3260,1 iqn.2011-11.com.upl:qdisk
# iscsiadm -m node -T iqn.2011-11.com.upl:webroot -l <---没密码的target一样可以登录
# iscsiadm -m session
tcp: [13] 1.1.1.128:3260,1 iqn.2011-11.com.upl:qdisk
tcp: [14] 1.1.1.128:3260,1 iqn.2011-11.com.upl:webroot
思考:
登录顺序不一样,本地fdisk -l看到的设备名字就不一样。设备的命名混乱会出现什么严重后果?如何解决?
挂载的时候,设备路径名字不固定,挂载会出错。
解决: udev设备管理模块、多路径multipath
如果多个客户端同时连接同一个target,该target被格式化成ext3,多个节点同时使用这个文件系统会导致什么严重后果?
文件系统损坏,整个分区的数据就可能丢失。
原因:虽然物理上该设备允许多个节点同时去连接和使用,但是该设备上使用的文件系统ext3是一个单机文件系统(只允许一个节点去使用)。
解决:使用集群文件系统gfs,ocfs.
例子3:使用udev管理设备
Linux内核专门用于管理系统各种硬件设备,并且对其进行重名,生成设备文件。管理员可以通过自定义规则文件来干预udev对设备的命名。
主配置文件:
/etc/udev/udev.conf
规则文件目录:
/etc/udev/rules.d/
对某个硬盘生成自定义的设备文件:
KERNEL=="sd[a-z]",SUBSYSTEM=="block",SYSFS{size}=="11020527",SYMLINK="iscsi_qdisk"
# udevtest /block/sde
...
udev_node_add: creating symlink '/dev/iscsi_qdisk' to 'sde'
...
重启udev服务或重启udev服务,让规则百分百生效
# start_udev
# vim /etc/udev/rules.d/60-net.rules
ACTION=="add",SUBSYSTEM=="net",SYSFS{address}=="00:0c:29:0a:61:ac",NAME="eth8"
解决iscsi设备命名问题
# cp 55-iscsi.rules /etc/udev/rules.d/
# mkdir /etc/udev/scripts/
# cp iscsidev.sh /etc/udev/scripts/iscsidev.sh
# chmod 755 /etc/udev/scripts/iscsidev.sh
# service iscsi restart
验证:
# ls /dev/iscsi/webroot/ -l
总计 0
lrwxrwxrwx 1 root root 9 11-23 16:09 part -> ../../sdc
lrwxrwxrwx 1 root root 10 11-23 16:09 part1 -> ../../sdc1