glusterfs 피어가 다시 시작된 노드에 다시 연결하도록 강제하는 방법은 무엇입니까?

glusterfs 피어가 다시 시작된 노드에 다시 연결하도록 강제하는 방법은 무엇입니까?

6개 노드 glusterfs 클러스터가 실행 중입니다. 오늘 아침에 기계 중 하나가 이상하게 작동하는 것을 발견했습니다. 그래서 안전을 위해 수동으로 다시 시작했습니다.

다시 시작한 후 다른 세 개의 노드는 gluster pool list다시 시작된 시스템을 in 및 out으로 "Connected"로 인식 gluster peer status하지만 다른 두 노드는 "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

많은 웹(및 영혼) 검색 후에 systemctl restart glusterfs-server두 노드에서 glusterfs 서버 service()를 중지하고 다시 시작할 기회를 얻었습니다. 이는 다시 시작된 피어를 연결이 끊긴 것으로 처리하여 사물이 다시 동기화되도록 했습니다.

무엇보다도, 재시작된 노드 중 하나가 연결이 끊어진 것으로 간주되는 피어의 복제본인 경우에도 이러한 재시작을 수행하면 데이터가 손실되지 않습니다. 아마도 복제는 다시 시작된 피어를 연결된 것으로 처리하는 노드를 통해 계속 발생하고 있을 것입니다.

관련 정보