6ノードのglusterfsクラスタが実行されています。今朝、マシンの1つが奇妙に動作することがわかりました。だから安全のために手動で再起動しました。
再起動後、他の3つのノードはgluster pool list
再起動されたシステムをinとoutとして「Connected」として認識しますgluster peer status
が、他の2つのノードは「Disconnected」状態を示します。奇妙なことは、ノードが「接続解除」とマークされていても、gluster pool list
まだ「接続済み」とマークされていることですgluster volume heal [volname] info
。
gluster peer probe
私は両側でそれを試しましたが、役に立たなかった。 「接続が切断された」と思うマシンで再起動されたノードのポート24007とポート49154に接続できることを確認しましたgluster volume status
(「接続されていると思うピアに表示されるブリックポート」).
/var/log/glusterfs/glustershd.log
再起動されたサーバーを切断されたものとして扱うノードには、以下が含まれます。
[2018-01-09 11:36:39.258109] I [MSGID: 114018] [client.c:2280:client_rpc_notify] 0-palantir-client-4: disconnected from palantir-client-4. Client process will keep trying to connect to glusterd until brick's port is available
[2018-01-09 11:36:50.074074] E [socket.c:2309:socket_connect_finish] 0-palantir-client-4: connection to xxx.xxx.xxx.205:24007 failed (No route to host)
しかし、1時間半が経過しても引き続き試みると主張する最初のログエントリにもかかわらず、再接続されませんでした。
これらすべてを考慮すると、2つの間違ったピアが再起動されたノードに再接続されるようにするにはどうすればよいですか?
答え1
多くのWeb(および魂)検索の後、両方のノードsystemctl restart glusterfs-server
でglusterfsサーバーservice()を停止して再起動する機会を得ました。これにより、再起動されたピアが切断されたものとして処理され、物事が再同期されるようになりました。
とりわけ、再起動されたノードの1つが接続が失われたと見なされるピアのレプリカである場合でも、これらの再起動を実行してもデータは失われません。おそらくレプリケーションは、再起動されたピアを接続として扱うノードを介して引き続き発生しています。