5.2、 仲裁盘测试
查看集群状态
1
|
[root@test001 ~] # clustat –i1 |
Cluster Status for test @ Wed Apr 2423:27:24 2013
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
test001 1 Online,rgmanager
test002 2 Online, Local, rgmanager
test003 3 Online,rgmanager
/dev/disk/by-id/ata-QEMU_HARDDISK_QM0000 0 Online, Quorum Disk
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ftp_server test003 started
service:web_server test001 started
这里做一下说明:在test001上多了一个应用ftp_server,这个应用添加的方法与web_server的方法是一样的,服务器上安装ftp服务器,将服务器的资源添加给应用即可(文件系统,服务ip,启动脚本)
仲裁盘测试说明:仲裁测试是在虚拟机上完成的,仲裁盘是为了解决小集群应用存活的问题而存在的.在一般没有仲裁盘的集群里面,例如五台节点只要死了超过两台那么该集群就无仲裁,集群就挂起。有仲裁盘的情况下,可以做到五节点死了四个,集群还能活着,只是单台承载所有应用也会很吃力,迁移时间会比较长,具体出现的情况还是没办法完全模拟。
在有运行应用的两个节点test003,test001运行:
1
|
iptables -A OUTPUT -d 192.168.0.55 -p icmp -j REJECT |
将test003,test001的仲裁盘的进程阻断,这样就可以模拟仲裁盘的功能。Qdisk 进程会向业务网关发送ping测试包,阻断测试包就会导致仲裁失败,失败就会导致节点被fence保护起来,然后用dlm锁起,知道将节点重启之后才释放锁,然后将服务迁移到test002.
查看结果:一般情况下,3节点死了2个,集群必死,可是这种情况集群还活着。
1
|
[root@test002 ~] # clustat –i 1 |
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
test001 1 Online,rgmanager
test002 2 Online,Local, rgmanager
test003 3 Online,rgmanager
/dev/disk/by-id/ata-QEMU_HARDDISK_QM0000 0 Online, Quorum Disk
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ftp_server test002 started
service:web_server test002 started
然后等待,test001,test003正常重启后,加入集群这时候集群会根据,失效域里面的优先级来重现迁移应用这时候,原来在test002上的web_server,跟ftp_server都会迁到各自域里面权限最好的服务器上。
1
|
[root@test001 ~] # clustat –i 1 |
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
test001 1 Online, rgmanager
test002 2 Online,Local, rgmanager
test003 3 Online,rgmanager
/dev/disk/by-id/ata-QEMU_HARDDISK_QM0000 0 Online, Quorum Disk
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:ftp_server test003 started
service:web_server test001 started
到此,测试完毕,大部分的内容都有测试成功,包括服务迁移,单台节点存活利用qdisk来维持集群存活,服务迁移等。此部分内容未采用GFS2来作为集群文件系统进行测试,采用GFS2替换本文中的ext3即可。
如有什么问题,方便留言或者私信给我,我再做进一步的测试,谢谢大家啦!