Gluserfs治疗信息只显示gfid的

我有一个双节点的GlusterFS安装程序。 每个有2个重复。 其中一个系统以某种方式超载。 然后事情开始出问题了。 目前我有所有的应用程序closures。 我不知道如何把它带回来。 我可以开始音量,但一些文件似乎已损坏。

我跑gluster volume heal kvm1 ,现在gluster volume heal kvm1 info显示了一个长长的清单“gfid”,如

 <gfid:57d68ac5-5ae7-4d14-a65e-9b6bbe0f83a3> <gfid:c725a364-93c5-4d98-9887-bc970412f124> <gfid:8178c200-4c9a-407b-8954-08042e45bfce> <gfid:b28866fa-6d29-4d2d-9f71-571a7f0403bd> 

我不确定它实际上是在“医治”任何东西。 参赛人数一直稳定。 我怎样才能确认愈合过程实际上工作?

 # gluster volume heal kvm1 info|egrep 'Brick|entries' Brick f24p:/data/glusterfs/kvm1/brick1/brick Number of entries: 5 Brick f23p:/data/glusterfs/kvm1/brick1/brick Number of entries: 216 Brick f23p:/bricks/brick1/kvm1 Number of entries: 6 Brick f24p:/bricks/brick2/kvm1 Number of entries: 1 # gluster volume status Status of volume: kvm1 Gluster process Port Online Pid ------------------------------------------------------------------------------ Brick f24p:/data/glusterfs/kvm1/brick1/brick 49160 Y 5937 Brick f23p:/data/glusterfs/kvm1/brick1/brick 49153 Y 5766 Brick f23p:/bricks/brick1/kvm1 49154 Y 5770 Brick f24p:/bricks/brick2/kvm1 49161 Y 5941 NFS Server on localhost 2049 Y 5785 Self-heal Daemon on localhost N/AY 5789 NFS Server on f24p 2049 Y 5919 Self-heal Daemon on f24p N/AY 5923 There are no active volume tasks 

我处于同一状态:

  • 2个重复
  • gluster量愈合myVolume信息显示gfid在砖之一

我发现这个脚本(解决gfid到文件path) https://gist.github.com/semiosis/4392640

我的解释是以下(即:你的第一行gfid)在显示gfid的节点上(gluster命令的结果)

文件%yourBrickPath%/ .glusterfs / 57 / d6 / 57d68ac5-5ae7-4d14-a65e-9b6bbe0f83a3是一个指向inode的硬链接。

在正常情况下,你应该有一个文件(在生产目录中)指向相同的inode,由于某种原因,这个硬链接不再存在。

我看到2个解决scheme:

  • 您在生产目录中重新创build丢失的硬链接(并确保在其他节点上具有相同的状态)
  • 你没有办法找出它是什么文件名(这是我的情况,因为没有在其他节点上),你删除%yourBrickPath%/。glusterfs / 57 / d6 / 57d68ac5-5ae7-4d14-a65e-9b6bbe0f83a3

编辑:该文件的内容可能有帮助

如果你正在运行版本<3.7.7,你可能会偶然发现这个bug:

https://bugzilla.redhat.com/show_bug.cgi?id=1284863

检查你的glustershd日志是否显示“Could not xlator xl-0”。

该修复是在3.7.7。 但是,如果有人发现这种情况,解决方法将非常有用。