7.3. GFS2 文件系统挂起,需要重启所有节点
如果您的 GFS2 文件系统挂起且不会返回针对它运行的命令,并需要您重启集群中的所有节点才可以使用它,检查以下问题。
- 您可能有一个失败的隔离(fence)。GFS2 文件系统将停滞,以保证在出现隔离失败时的数据完整性。检查信息日志,查看在挂起时是否有失败的隔离。确定正确配置了隔离。
GFS2 文件系统可能已经撤回。检查信息日志中的
withdraw
,检查所有来自 GFS2 的信息并调用显示已经撤回的文件系统的信息。撤回通常代表文件系统崩溃、存储失败或存在程序漏洞。根据具体情况,尽早进行以下操作来卸载文件系统:重启发生撤回的节点。
# /sbin/reboot
停止该文件系统资源在所有节点中卸载 GFS2 文件系统。
# pcs resource disable --wait=100 mydata_fs
捕获元数据
gfs2_edit savemeta…
命令所需的文件。您应该确定有足够的空间来容纳该文件,在某些情况下,所需空间可能比较大。在本例中,元数据被保存到/root
目录中的一个文件中。# gfs2_edit savemeta /dev/vg_mydata/mydata /root/gfs2metadata.gz
更新
gfs2-utils
软件包。# sudo dnf update gfs2-utils
在一个节点上,在文件系统中运行
fsck.gfs2
命令以确保文件系统的完整性并修复任何损坏。# fsck.gfs2 -y /dev/vg_mydata/mydata > /tmp/fsck.out
在
fsck.gfs2
命令完成后,重新启用该文件系统资源使其返回服务:# pcs resource enable --wait=100 mydata_fs
创建一个红帽支持问题单。告知您遇到 GFS2 撤回问题,并提供
sosreports
和gfs2_edit savemeta
命令生成的日志和调试信息。在 GFS2 撤回的某些情况下,试图访问文件系统或其块设备的命令可能会挂起。在这些情况下,需要一个“硬”重启来重启集群。
有关 GFS2 撤回功能的详情,请参考 GFS2 文件系统对节点不可用(GFS2 撤回功能)。
- 这个出错信息表示可能有锁定问题或者程序漏洞。在出现这个问题时收集 GFS2 数据并创建一个红帽支持问题单,如收集 GFS2 数据进行故障排除所述。