ETCD : v3.3.13

官网文档地址:https://etcd.io/docs/v3.3.13/op-guide/recovery/

 

  1. 快照备份

 

使用v3 api 备份快照,命令如下:

 

/data/etcd/etcd-cluster-snapshot.sh

#!/bin/sh
datestr=$(date +%Y%m%d)
ETCDCTL_API=3 etcdctl \
--cacert=/data1/k8s_data/etc/kubernetes/ssl/ca.pem \
--cert=/etc/etcd/ssl/etcd.pem \
--key=/etc/etcd/ssl/etcd-key.pem \
--endpoints=https://X.X.X.1:2379,https://X.X.X.2:2379,https://X.X.X.3:2379 \
snapshot save /data/etcd/snapshot/snapshot-cluster-${datestr}.db

 

定时任务 : 每天1点30 重新生成快照

 

30 1 * * * sh /data/etcd/etcd-cluster-snapshot.sh >> /data/etcd/snapshot.log

 

 

  1. 快照恢复

 

(1) 需要删除原有数据总目录,不然恢复的时候有有各种问题。比如删除目录/data1/k8s_data/data/etcd,。

(2)命令中需要指定数据目录:--data-dir=/data1/k8s_data/data/etcd,否则会产生默认工作目录,一个default的名称。

(3) 快照恢复时,会重新生成客户端id和集群id,所有的节点统一使用一个快照恢复集群。

 

恢复数据命令:

ETCDCTL_API=3 etcdctl \
--cacert=/data1/k8s_data/etc/kubernetes/ssl/ca.pem \
--cert=/etc/etcd/ssl/etcd.pem \
--key=/etc/etcd/ssl/etcd-key.pem \
--data-dir=/data1/k8s_data/data/etcd \
--initial-cluster-token etcd-cluster-0 \
--initial-cluster etcd1=https://X.X.X.1:2380,etcd1=https://X.X.X.2:2380,etcd3=https://X.X.X.3:2380 \
--name etcd1 \
--initial-advertise-peer-urls https://X.X.X.1:2380 \
snapshot restore /data/etcd/snapshot/snapshot-cluster-${datestr}.db 

 

 

Logo

开源、云原生的融合云平台

更多推荐