我已经使用docker设置了一个三节点的quorum网络,如果我的网络崩溃,我只有其中一个节点的信息。我是否希望使用二进制恢复该节点?此外,新网络中的数据块应该与其他网络同步。请指导一下这是怎么可能的?
发布于 2018-03-26 03:19:20
我猜你用的是码头群。群内的群集设施由管理器节点维护。如果由于任何原因,经理领导变得不可用,并且没有足够的剩余经理达到法定人数并选举新的经理领导,则法定人数将丢失,并且没有经理节点能够控制群。
在这种情况下,可能需要重新初始化群集,并在manager leader再次联机时使用该命令强制创建新群集:
# docker swarm init --force-new-cluster这将删除除从中运行命令的管理器之外的所有管理器。好消息是工作节点将继续正常工作,并且一旦群被重新初始化,其他管理器节点应该恢复工作。
有时可能需要从群中移除管理器节点,并将其重新加入群中。
但请注意,当节点重新加入群时,它必须通过管理器节点加入群。
您始终可以通过/nodes HTTP端点查询JSON格式的docker node API来监控管理器节点的运行状况:
# docker node inspect manager1 --format "{{ .ManagerStatus.Reachability }}"
# docker node inspect manager1 --format "{{ .Status.State }}"此外,将自动备份docker swarm配置目录/var/lib/docker/swarm作为一种做法,以便轻松地从灾难中恢复。
https://stackoverflow.com/questions/49208092
复制相似问题