灾难恢复

    etcd 被设计为能承受机器失败。etcd 集群自动从临时失败(例如,机器重启)中恢复,而且对于一个有 N 个成员的集群能容许 (N-1)/2 的持续失败。当一个成员持续失败时,不管是因为硬件失败或者磁盘损坏,它丢失到集群的访问。如果集群持续丢失超过 (N-1)/2 的成员,则它只能悲惨的失败,无可救药的失去法定人数(quorum)。一旦法定人数丢失,集群无法达到一致而因此无法继续接收更新。

    为了从灾难失败中恢复,etcd v3 提供快照和修复工具来重建集群而不丢失 v3 键数据。要恢复 v2 的键,参考.

    恢复集群

    为了恢复集群,需要的只是一个简单的快照 “db” 文件。使用 的集群恢复创建新的 etcd 数据目录;所有成员应该使用相同的快照恢复。恢复覆盖某些快照元数据(特别是,成员ID和集群ID);成员丢失它之前的标识。这个元数据覆盖防止新的成员不经意间加入已有的集群。因此为了从快照启动集群,恢复必须启动一个新的逻辑集群。

    在恢复时快照完整性的检验是可选的。如果快照是通过 etcdctl snapshot save 得到的,它将有一个被 etcdctl snapshot restore 检查过的完整性hash。如果快照是从数据目录复制而来,没有完整性hash,因此它只能通过使用 --skip-hash-check 来恢复。

    下一步, 用新的数据目录启动 :

    现在恢复的集群可以使用并提供来自快照的键空间服务.