一 备份
(根据实际情况来写,有多少个节点在–endpoints 都写出了)
ETCDCTL_API= 3 /data2/etcd/bin/etcdctl --cacert=/data2/etcd/ssl/ca.pem --cert=/data2/etcd/ssl/server.pem --key=/data2/etcd/ssl/server-key.pem --endpoints=https: //192.168.50.92:2379,https://192.168.50.91:2379 snapshot save /data2/backub/etcd-snapshot/etcd-snapshot-`date +%Y%m%d%H%M`.db |
二 还原
1.删除etcd的data 目录
2.将备份的文件传递到其他的etcd的主机上
(注意: --name 是指所在的etcd的那个配置文件
--initial-cluster 指你所以的节点也可以有额外的节点
--initial-advertise-peer-urls 目前所在的etcd的ip
)
ETCDCTL_API= 3 /data/etcd/bin/etcdctl --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem --key=/data/etcd/ssl/server-key.pem snapshot restore /root/etcd-snapshot- 202209262110 .db --name etc1 --initial-cluster "etc0=https://192.168.0.27:2380,etc1=https://192.168.0.28:2380" --initial-cluster-token etcd-cluster --initial-advertise-peer-urls https:// 192.168 . 0.28 : 2380 --data-dir=/data/etcd/data |
其他etcd也是这一页操作知识上面参数的值不太相同
3.所有还原完后重启etcd
三 碎片清理
因为etcd内存限制只有2G 但不会自己清理碎片 需要手动
官网参考:https://github.com/etcd-io/etcd/tree/main/etcdctl
ETCDCTL_API= 3 /data2/etcd/bin/etcdctl --cacert=/data2/etcd/ssl/ca.pem --cert=/data2/etcd/ssl/server.pem --key=/data2/etcd/ssl/server-key.pem --endpoints=https: //192.168.50.92:2379,https://192.168.50.91:2379 defrag |
--endpoints 是指集群的所有节点的配置
(如果碎片清理后感觉etcd所占的内存依旧高,可以重启etcd)
所有评论(0)