分类:
2012-11-09 11:52:53
二、测试过程
1.模拟系统故障,关闭GLUSTERFS1上的Glusterfs Server和Glusterfs Client,删除GLUSTERFS1中BRICK-A和BRICK-B中。
2.在GLUSTERFS2上启动Glusterfs Client
3.检查文件服务可用性:文件读取及存储操作正常。
4.重新启动GLUSTERFS1并启动Glusterfs Server,检查系统可用性:无法查看目录中文件列表;但可以通过文件完整路径,访问文件。
5.变更replicate中的主副关系,在GLUSTERFS2中修改/etc/glusterfs/glusterfs.vol
#The replicated volume with brick-a
volume replication-a
type cluster/replicate
subvolumes brick-2a brick-1a
end-volume
#The replicated volume with brick-b
volume replication-b
type cluster/replicate
subvolumes brick-2b brick-1b
end-volume
6.重建GLUSTERFS1中数据:启动GLUSTERFS1的Glusterfs Server,系统完成自我修复(ls -lR)。
7.检查系统恢复情况,确认数据完整性:文件恢复成功
三、测试结论
1.可用性测试结论
• 作为访问入口的Glusterfs Client不存在单点失败问题,可在不同服务器中启动。
• 文件存取不存在单点失败的问题:任何一台subvolume失败,都不影响文件的读取和写入。
2.恢复性测试结论
• 用新的subvolume替换损坏的subvolume时
– 当浏览目录的时候,自我修复机制启动,会将当前目录下文件复制到新的subvolume中。
– 如想强制所有目录全部自我修复,需遍历所有目录,例如使用命令 ls –lR
• 当损坏的subvolume为主subvolume:
– 如果某个文件不在主subvolume,但存在于其它的subvolume,通过入口是无法看到此文件的。此时自我修复无法通过浏览目录启动。
– 但是如果已知道此文件名称,还是可以访问此文件并自我修复的。换句话说,在自我修复过程中,系统的读取和写入不受影响。
– 可以架设一台Glusterfs Client专门负责自我修复工作,此台Glusterfs Client会调换subvolume的主从关系