etcd灾难恢复

灾难恢复

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

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

V2版api

备份数据:

etcdctl backup --data-dir /home/etcd/ --backup-dir /home/etcd_backup

恢复:

etcdctl -data-dir=/home/etcd_backup/ -force-new-cluster 

V3版api

在使用 API 3 时需要使用环境变量 ETCDCTL_API 明确指定。

在命令行设置:

export ETCDCTL_API=3

备份数据:

etcdctl snapshot save "/root/$(date +%Y%m%d_%H%M%S)_snapshot.db" --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-node1.pem --key=/etc/ssl/etcd/ssl/node-node1-key.pem --endpoints=https://192.168.10.132:2379

恢复:

etcdctl snapshot restore /root/20200520_104454_snapshot.db --data-dir=/var/lib/etcd/

--data-dir:指定数据目录对应于 etcd 服务中配置的 data-dir,该目录要不存在。

#查看etcd节点健康状态

etcdctl --ca-file=/etc/ssl/etcd/ssl/ca.pem --cert-file=/etc/ssl/etcd/ssl/node-node1.pem --key-file=/etc/ssl/etcd/ssl/node-node1-key.pem --endpoint=https://192.168.10.132:2379 cluster-health

#查看连接实例

etcdctl --ca-file=/etc/ssl/etcd/ssl/ca.pem --cert-file=/etc/ssl/etcd/ssl/node-node1.pem --key-file=/etc/ssl/etcd/ssl/node-node1-key.pem --endpoint=https://192.168.10.132:2379 member list

猜你喜欢

转载自www.cnblogs.com/Dev0ps/p/12926603.html