我按照本教程创建了一个 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
请执行下列操作:
在 上
node01
,关闭 GlusterFS:sudo killall -9 glusterd glusterfsd glusterfs
除去砖头,让石板变得干净:
sudo rm -rfv /data/brick1/volr
再次创建brick文件夹:
sudo mkdir -pv /data/brick1/volr
重新开始
glusterd.service
:sudo systemctl restart glusterd.service
重置砖块:
sudo gluster volume reset-brick vol node01:/data/brick1/volr node01:/data/brick1/volr commit
如果修复过程尚未开始,请启动它:
sudo gluster volume heal vol full
其他资源
- 重新配置卷中的砖块来自 Red Hat 客户门户产品文档
- (付费墙)如何用与同一 glusterfs 节点中的旧砖同名的新砖替换发生故障的 glusterfs 砖?在 Red Hat 客户门户知识库中