etcdctl snapshot restore
# 恢复数据
参数选项
--endpoints
:指定要操作的数据端点。例如--endpoints=https://127.0.0.1:2379
--cacert
:指定 CA 证书文件--cert
:指定客户端证书文件--key
:指定客户端密钥文件--data-dir
:恢复数据时要保存到的目录
恢复前的操作:
- 停止 etcd 服务,删除
/var/lib/etcd/
里所有数据 - 设置快照文件的 所有者和所属组 为 etcd
- 在每台节点上开始恢复数据
- 把
/var/lib/etcd/
及里面内容的 所有者和所属组 改为 etcd - 分别启动 etcd 服务
- 测试数据恢复情况
etcdctl snapshot restore <文件名> [参数]
# 示例
systemctl stop etcd # 1、停止服务
rm -rf /var/lib/etcd/* # 并清空数据
chown etcd.etcd snap1.db # 2、设置快照文件所有者和组
etcdctl snapshot restore snap1.db --name etcd-8X --initial-cluster etcd-81=http://192.168.26.81:2380,etcd-82=http://192.168.26.82:2380,etcd-83=http://192.168.26.83:2380 --initial-advertise-peer-urls http://192.168.26.8X:2380 --data-dir /var/lib/etcd/cluster.etcd
chown -R etcd.etcd /var/lib/etcd/ # 4
systemctl start etcd # 5
etcdctl get k1 # 6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
编辑 (opens new window)