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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM