iscsi是在你的集群服务器上将一块设备共享出来,在2个集群节点上挂载,当你在一个节点上做修改的的时候,在另外的一个集群节点处会产生同步的。
实验的环境条件,首先你应该确保你的selinux,iptables,是关闭的。 本次实验是基于先前做的集群基础上的。也就是说在已经创建了集群westos-sushan,两个节点desktop17.example.com和desktop75.example.com,服务器为desktop12.example.com 实验一: 在IP:192.168.0.12服务器上: (1)首先在服务器上面执行:fdisk -cu /dev/sda分出来一个磁盘,等待iscsi共享,假设新分出的磁盘为/dev/sda8 partx -a /dev/sda刷新使有效。有一点需要注意你分的磁盘的分区不要太小哦,最小1G,否则可能导致失败! (2)yum install scsi-target-utils -y chkconfig tgtd on service tgtd start (3)编辑文件:vi /etc/tgtd/targets.conf <target iqn.2010-09.com.example.com:westos-sushan> backing-store /dev/sda8 </target> (4) /etc/init.d/tgtd restart 接下来在IP :192.168.0.17 和 IP :192.168.0.75yum install iscsi-initiator-utils -y chkconfig iscsi on chkconfig iscsid on service iscsi start service iscsid start 在两台集群节点的机子上: iscsiadm -m discovery -t st -p 192.168.0.12 (发现设备) iscsiadm -m node -l (登录目的设备) (如果你要删除登录的设备:iscsiadm -m node -p 192.168.0.12 -u (断开连接)和iscsiadm -m node -p 192.168.0.12 -o delete) (注意以上操作在2台机子上都要执行的恩!) 以上的操作你可以参照文档:rpm -ql iscsi-initiator-utils /usr/share/doc/iscsi-initiator-utils-6.2.0.872/README (5) 以下也是在IP :192.168.0.17 和 IP :192.168.0.75两个集群节点上做的: 要注意的是保证你的集群是正常的,不然可能会出错的。 激活基于集群的 lvm-clvm, 确保集群已经启动,执以下命令lvmconf --enable-cluster chkconfig clvmd on service clvmd start(或者 /etc/init.d/clvmd reload) (6)现在你只要在其中一台机子上做就可以了: fdisk -cu /dev/sdb(通过启动iscai,/etc/init.d/iscai status可以查看你得到的共享设备的名称是sdb还是sda呢.)这样操作后会在另一台机子上自动同步的。 假设在ip:192.168.0.17上:mkfs.gfs2 -p lock_dlm -t westos-sushan:gfs2 -j 3 /dev/sdb1 (格式化为 gfs2.为网络文件系统)(westos-sushan:gfs2后面的那个gfs2是自己选定的名字,3是你的集群节点的个数+1,现在假定参与了2个节点,不是指的集群的节点,是参与共享的集群的个数。。。,格式化在一台机子上执行就可以了) (7)将集群的服务停止:stop (8)mount.gfs2 /dev/sdb1 /var/www/html echo www.westos.org > index.html 这样在另一台节点机子上:mount.gfs2 /dev/sdb1 /var/www/html cat /var/www/html/index.html 可以看到www.estos.org (9)在IP :192.168.0.17 和 IP :192.168.0.75两个集群节点上:vi /etc/fstab /dev/sdb1 /var/www/html gfs2 _netdev 0 0 (10)将集群的服务启动:start并且确保正常的!可以在命令行下用:clustat 查看目前正常运行的机子。 测试:http://192.168.0.1 可以显示:www.westos.org(当一台机子挂掉的时候仍然不会停止。) 实验二: 你可以通过 步骤:(1) iscsiadm -m node -p 192.168.0.12 -u (断开连接)和iscsiadm -m node -p 192.168.0.12 -o delete卸载你刚才发现的设备从新在服务器上给你分一块设备。也可以之前做上个实验的时候就将磁盘分区打成LVM格式的。 (2)在节点上从新发现设备并登录。然后将整块磁盘分成分区,打成LVM 下面的操作在一个集群节点上即可:(假设在IP:192.168.0.17上)pvcreate /dev/sdb1(/dev/sdb1是你刚才分得) 创建PV成功之后:vgcreate vg0 /dev/sdb1(将PV打成VG) 成功之后:vgdisplay vg0即可有Cluster :yes的选項,说明支持集群。 然后:lvcreate -L 1G -n lv1 vg0 成功之后:mkfs.gfs2 -p lock_dlm -t westos-sushan:mydata -j 3 /dev/vg0/lv1 执行完上述操作之后去另一个节点:(ip:192.168.0.75用命令查看vgdisplay vg0是否跟着也同步过来了,也应该有Cluster :yes的选項) 如果出现以下错误: [root@desktop17 ~]# lvcreate -L 1G -n lv1 vg0 Error locking on node desktop75.example.com: Volume group for uuid not found: HP5bTnrFf6CUxI0KLZuTR7eULu7nd45rfmUyfJG6HIevOgAjlfFSV0yFHAaT9fxN Aborting. Failed to activate new LV to wipe the start of it. 说明你没有同步到192.168.0.75这台机子上,你可以尝试在75上用:pvcreate /dev/sdb1 (3)在192.168.0.17上:mount /dev/vg0/lv1 /var/www/html 在192.168.0.75上:mount /dev/vg0/lv1 /var/www/html 以下在192.168.0.17上: 倘若你要扩展你的LV:vgs(查看lv所在的vg还有多大的空余)lvextend -L +800M /dev/vg0/lv1(800是根据你的剩余空间而自行决定的。) gfs2_grow /dev/vg0/lv1 (成功即可。) 此时在192.168.0.17和192.168.0.75上分别用:df -h可以看到/var/www/html的大小接近分得的空间,并且两者想同的。