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