Gluserfs 修复信息显示 gfid 的唯一

Gluserfs 修复信息显示 gfid 的唯一

我有一个双节点 GlusterFS 设置。每个节点都有 2 个副本。其中一个系统不知何故超载了。然后事情开始出错。目前我已关闭所有应用程序。我不知道如何恢复。我可以启动卷,但某些文件似乎已损坏。

我运行了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/A     Y       5789
NFS Server on f24p                                 2049    Y       5919
Self-heal Daemon on f24p                           N/A     Y       5923

There are no active volume tasks

答案1

我当时也是同样的状态:

  • 2 次重复
  • gluster volume heal myVolume 信息显示其中一个砖块上的 gfid

我找到了这个脚本(将 gfid 解析为文件路径)https://gist.github.com/semiosis/4392640

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

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

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

我看到两个解决方案:

  • 您在生产目录中重新创建丢失的硬链接(并确保在另一个节点上具有相同的状态)
  • 您无法找出文件名是什么(这是我的情况,因为其他节点上没有任何东西)并且您删除了 %yourBrickPath%/.glusterfs/57/d6/57d68ac5-5ae7-4d14-a65e-9b6bbe0f83a3

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

答案2

如果您运行的是 3.7.7 以下版本,则可能遇到了这个错误:

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

检查您的 glustershd 日志是否显示“无法获取 xlator xl-0”。

修复已在 3.7.7 中。不过,如果有人能找到解决方法就太好了。

相关内容