etcd灾难恢复
恢复 etcd 灾难
2023-09-11 14:17:16 时间
灾难恢复
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
相关文章
- MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据
- Android Service重启恢复(Service进程重启)原理解析
- Kubernetes etcd备份恢复
- Nvidia的CUDA库现在恢复使用了
- Linux下恢复删除的文件
- 通过备份 Etcd 来完美恢复 Kubernetes 中的误删数据
- Dynamic CRM 2013学习笔记(六)备份和恢复
- 华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务
- Git 之 reset --hard 回退/回滚到之前的版本代码后,后悔了,如何在恢复之后的版本的方法简单整理
- aws 恢复mysql数据库数据
- MYSQL --延时同步-恢复数据
- 解决vuex刷新页面就恢复初始化的方法之一
- mysql8.0 一次性备份导出/导入恢复所有数据库