Someting 坏了,我失去了与第一台服务器上的存储的连接。第二台服务器可以访问该 FS。我尝试通过 service lock_gulmd、gfs、pool、ccsd stop/start(以各种顺序)重新启动 GFS,但没有运气。在主服务器(第三个)“ gulm_tool nodelist localhost ”
“说
Name: srv1
state = Expired
mode = Slave
missed beats = 0
last beat = 0
delay avg = 0
max delay = 0
我发现它需要围栏?自动还是手动?任何人都可以帮忙吗?目前,没有任何主机正在向 FS 写入任何内容,所以我想不会造成任何伤害。第二台主机此时也已过期,无法启动lock_gulmd。
如果它还没有被自动围栏,我会假设你的围栏机制并不完全正常工作。
我想可以做的是重新启动过期的主机(一个接一个,或同时两个)并使用fence_ack_manual 工具通知集群防护已成功。这不是在你的日志中显示吗?
运行此工具(在请求运行它的节点上,而不是需要重新启动的节点上)将允许 GFS 文件系统和故障节点恢复。恢复主要包括节点再次成为适当的集群成员以及在必要时重播 GFS 文件系统日志,iirc。
老实说,清除此类 GFS 问题的最佳方法,尤其是当您无论如何都被锁定在文件系统之外时,就是关闭所有机器,然后重新启动集群。当我在处理大量 GFS 文件系统时,这是解决这些问题的最可靠且通常最快的方法。