我用我的 shell 脚本在 /var/lib/glusterd 中用主机名替换了所有 IP 地址并重命名了配置(IP 到主机名)。之后我重新启动了 Gluster 守护进程和卷。然后我检查是否所有对等点都已连接:
root@GlusterNode1a:~# gluster peer status
Number of Peers: 3
Hostname: gluster-1b
Uuid: 47f469e2-907a-4518-b6a4-f44878761fd2
State: Peer in Cluster (Connected)
Hostname: gluster-2b
Uuid: dc3a3ff7-9e30-44ac-9d15-00f9dab4d8b9
State: Peer in Cluster (Connected)
Hostname: gluster-2a
Uuid: 72405811-15a0-456b-86bb-1589058ff89b
State: Peer in Cluster (Connected)
当我执行df
命令时,我可以看到所有节点上安装的卷大小发生变化,因此新数据即将到来。但最近我注意到应用程序日志中的错误消息:
copy(/storage/152627/dat): failed to open stream: Structure needs cleaning
readfile(/storage/1438227/dat): failed to open stream: Input/output error
unlink(/storage/189457/23/dat): No such file or directory
最后,我发现有些砖是离线的:
root@GlusterNode1a:~# gluster volume status
Status of volume: storage
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick gluster-1a:/storage/1a 24009 Y 1326
Brick gluster-1b:/storage/1b 24009 N N/A
Brick gluster-2a:/storage/2a 24009 N N/A
Brick gluster-2b:/storage/2b 24009 N N/A
Brick gluster-1a:/storage/3a 24011 Y 1332
Brick gluster-1b:/storage/3b 24011 N N/A
Brick gluster-2a:/storage/4a 24011 N N/A
Brick gluster-2b:/storage/4b 24011 N N/A
NFS Server on localhost 38467 Y 24670
Self-heal Daemon on localhost N/A Y 24676
NFS Server on gluster-2b 38467 Y 4339
Self-heal Daemon on gluster-2b N/A Y 4345
NFS Server on gluster-2a 38467 Y 1392
Self-heal Daemon on gluster-2a N/A Y 1402
NFS Server on gluster-1b 38467 Y 2435
Self-heal Daemon on gluster-1b N/A Y 2441
我该怎么办?我需要修理它。
注意:所有四个节点的 CPU 和网络使用率大致相同。
我在 Freenode#Gluster 的 JoeJulian 的帮助下解决了这个问题。当我检查进程列表时,有一些进程使用旧配置:
/usr/sbin/glusterfsd -s localhost --volfile-id storage.11.111.111.11.storage-2b...
。执行此命令后:情况已解决 - 所有积木都在线: