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.75
yum 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的大小接近分得的空间,并且两者想同的。