80 lines
No EOL
2.9 KiB
Markdown
80 lines
No EOL
2.9 KiB
Markdown
# 单机备份
|
||
```
|
||
etcdctl --endpoints="https://10.25.72.62:2379" \
|
||
--cert=/etc/etcd/ssl/etcd.pem \
|
||
--key=/etc/etcd/ssl/etcd-key.pem \
|
||
--cacert=/etc/kubernetes/ssl/ca.pem \
|
||
snapshot save snapshot.db
|
||
```
|
||
# 单机恢复
|
||
## etcd停止运行
|
||
```
|
||
systemctl stop etcd
|
||
```
|
||
## 使用etcd的v3接口
|
||
```
|
||
export ETCDCTL_API=3
|
||
```
|
||
## 恢复
|
||
```
|
||
etcdctl snapshot restore snapshot.db \
|
||
--name=SZD-L0105331 \
|
||
--endpoints=https://10.25.72.62:2379 \
|
||
--cacert=/etc/kubernetes/ssl/ca.pem \
|
||
--cert=/etc/etcd/ssl/etcd.pem \
|
||
--key=/etc/etcd/ssl/etcd-key.pem \
|
||
--initial-cluster=SZD-L0105331=https://10.25.72.62:2380 \
|
||
--initial-advertise-peer-urls=https://10.25.72.62:2380 \
|
||
--initial-cluster-token=etcd-cluster-0 \
|
||
--data-dir=/var/lib/etcd4 # 注意--data-dir参数,以下步骤需要使用
|
||
```
|
||
#### 修改etcd启动参数--data-dir指向上一步的数据回复目录,一般在/etc/etcd/etcd文件中
|
||
```
|
||
cat /etc/etcd/etcd
|
||
```
|
||
```
|
||
ETCD_OPTIONS="--name=SZD-L0105331 \
|
||
--client-cert-auth=true \
|
||
--cert-file=/etc/etcd/ssl/etcd.pem \
|
||
--key-file=/etc/etcd/ssl/etcd-key.pem \
|
||
--peer-cert-file=/etc/etcd/ssl/etcd.pem \
|
||
--peer-key-file=/etc/etcd/ssl/etcd-key.pem \
|
||
--trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
|
||
--peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
|
||
--initial-advertise-peer-urls=https://10.25.72.62:2380 \
|
||
--listen-peer-urls=https://10.25.72.62:2380 \
|
||
--listen-client-urls=https://10.25.72.62:2379,https://127.0.0.1:2379 \
|
||
--advertise-client-urls=https://10.25.72.62:2379 \
|
||
--initial-cluster-token=etcd-cluster-0 \
|
||
--initial-cluster=SZD-L0105331=https://10.25.72.62:2380 \
|
||
--initial-cluster-state=new \
|
||
--data-dir=/var/lib/etcd"
|
||
```
|
||
## etcd启动
|
||
```
|
||
systemctl start etcd
|
||
```
|
||
|
||
# 集群备份
|
||
```
|
||
ETCDCTL_API=3 etcdctl --endpoints="https://10.25.84.251:2379,https://10.25.73.25:2379,https://10.25.73.150:2379" --cert=/root/etcd-cluster/etcd.pem --key=/root/etcd-cluster/etcd-key.pem --cacert=/root/etcd-cluster/ca.pem snapshot save mysnapshot.db
|
||
```
|
||
# 集群恢复
|
||
## 停止集群
|
||
***说明:etcd使用RAFT策略完成集群leader选举,且集群数量是奇数,因此,停掉leader不会影响使用,内部会重新选择一个leader***
|
||
```
|
||
systemctl stop etcd
|
||
```
|
||
## 删除原数据
|
||
***确认已备份***
|
||
```
|
||
rm -rf /var/lib/etcd
|
||
```
|
||
## 恢复
|
||
```
|
||
ETCDCTL_API=3 etcdctl --name=SZD-L0097856 --endpoints="https://10.25.84.251:2379" --cert=/root/etcd-cluster/etcd.pem --key=/root/etcd-cluster/etcd-key.pem --cacert=/root/etcd-cluster/ca.pem --initial-cluster-token=etcd-cluster-0 --initial-advertise-peer-urls=https://10.25.84.251:2380 --initial-cluster=SZD-L0101798=https://10.25.73.25:2380,SZD-L0103739=https://10.25.73.150:2380,SZD-L0097856=https://10.25.84.251:2380 --data-dir=/var/lib/etcd snapshot restore mysnapshot.db
|
||
```
|
||
## 启动etcd
|
||
```
|
||
systemctl start etcd
|
||
``` |