服务器软RAID和LVM的实现(4)

二、配置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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c4d569e4fc1f98af3ef38a79c259942b.html