GFS 崩溃,无法启动 lock_gulmd,显示 state=Expired

GFS 崩溃,无法启动 lock_gulmd,显示 state=Expired

有东西坏了,我失去了与第一台服务器上存储的连接。第二台服务器可以访问该 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 文件系统时,这是解决这些问题最可靠且通常最快捷的方法。

相关内容