0

I have set up a three-node quorum network using docker and if my network crashes, and I only have information of one of the node. Do I want to recover that node using binary? also, the blocks in the new network should be in sync with others. Please guide how is it possible?

4

1 回答 1

0

我假设您正在使用 docker swarm。集群中的集群设施由管理节点维护。如果由于任何原因经理领导者变得不可用并且没有足够的剩余经理人达到法定人数并选举新的经理领导者,则法定人数将丢失并且没有经理节点能够控制集群。

在这种情况下,可能需要重新初始化 swarm 并在重新上线时使用 manager 领导者上的命令强制创建新集群:

# docker swarm init --force-new-cluster

这将删除除运行命令的管理器之外的所有管理器。好消息是工作节点将继续正常运行,一旦集群重新初始化,其他管理节点应该恢复功能。

有时可能需要从 swarm 中删除管理器节点并将它们重新加入 swarm。

但请注意,当一个节点重新加入集群时,它必须通过管理节点加入集群。

您始终可以通过 /nodes HTTP 端点以 JSON 格式查询 docker 节点 API 来监控管理器节点的运行状况:

# docker node inspect manager1 --format "{{ .ManagerStatus.Reachability }}"
# docker node inspect manager1 --format "{{ .Status.State }}"

此外,将执行 docker swarm 配置目录的自动备份作为一种实践,/var/lib/docker/swarm以便轻松地从灾难中恢复。

于 2018-03-25T19:19:20.317 回答