其他资源

其他资源

我按照本教程创建了一个 glusterfs (6.1) 集群,该集群包含 6 台服务器 (node01 - node06),处于复制 (=6) 模式,但无法恢复发生故障的服务器 (node01,此虚拟机已重置/重建,但我想保留其主机名/ip) (https://support.rackspace.com/how-to/recover-from-a-failed-server-in-a-glusterfs-array/):

  • 我可以通过从正在运行的服务器(gluster 对等状态)获取 UUID 并更新“/var/lib/glusterd/glusterd.info”文件(node01)将 node01 重新添加到集群

  • 然后我更新了 node01 目录的扩展属性(trusted.glusterfs.volume-id)并重新启动了 gluster 服务:

sudo setfattr -n trust.glusterfs.volume-id -v哈希/数据/brick1/卷

sudo systemctl 重新启动 glusterd

sudo gluster 卷修复卷完整

sudo gluster 卷修复卷信息

  • 日志和输出:

sudo gluster 卷状态

Brick node01:/data/brick1/volr              N/A       N/A        N       N/A
Brick node02:/data/brick1/volr              49152     0          Y       5734
Brick node03:/data/brick1/volr              49152     0          Y       5733
Brick node04:/data/brick1/volr              49152     0          Y       5691  
Brick node05:/data/brick1/volr              49152     0          Y       5721  
Brick node06:/data/brick1/volr              49152     0          Y       5723

sudo gluster 卷修复卷完整

Launching heal operation to perform full self heal on volume volr has been successful
Use heal info commands to check status.

sudo gluster 卷修复卷信息

Brick node01:/data/brick1/volr
Status: Transport endpoint is not connected
Number of entries: -

Brick node02:/data/brick1/volr
Status: Connected
Number of entries: 0

Brick node03:/data/brick1/volr
Status: Connected
Number of entries: 0

Brick node04:/data/brick1/volr
Status: Connected
Number of entries: 0

Brick node05:/data/brick1/volr
Status: Connected
Number of entries: 0

Brick node06:/data/brick1/volr
Status: Connected
Number of entries: 0

任何帮助将不胜感激。

答案1

我能够重现您的问题,并且症状完全相同。

您正确地查看了重新安装的节点,node01但是更换砖块的过程并没有得到很好的记录。

官方文档有一些奇怪的说明,用于将有故障的砖块更换为具有不同名称的新砖块。这没有必要那么复杂,而且我认为您想使用相同的砖块名称。

您无法让砖块运行,因为替换砖块中没有存储必要的元数据node1:/data/brick1/volr/.glusterfs

以下是我更换砖块的步骤:


假如说:

  • node01是已经建立对等连接的重建服务器,
  • 有一本书vol
  • 要更换的砖是node01:/data/brick1/volr

请执行下列操作:

  1. 在 上node01,关闭 GlusterFS:

    sudo killall -9 glusterd glusterfsd glusterfs
    
  2. 除去砖头,让石板变得干净:

    sudo rm -rfv /data/brick1/volr
    
  3. 再次创建brick文件夹:

    sudo mkdir -pv /data/brick1/volr
    
  4. 重新开始glusterd.service

    sudo systemctl restart glusterd.service
    
  5. 重置砖块:

    sudo gluster volume reset-brick vol node01:/data/brick1/volr node01:/data/brick1/volr commit
    
  6. 如果修复过程尚未开始,请启动它:

    sudo gluster volume heal vol full
    

其他资源

相关内容