概述
关于etcd安装请参考etcd安装
关于etcdctl命令使用参考etcdctl命令使用详解
本篇主要内容是etcd的数据恢复
本篇主要以三个节点的etcd集群为例
集群默认的数量是奇数(>=3),集群运行期间允许损坏的etcd有(N-1)/2个,一旦集群中的etcd因硬件无法启动,这时候是好解决的,直接启动一个加入到集群中即可,会将数据直接复制到新的etcd中,如果超过规定的损坏数量,那没办法只能是重新做集群,这个时候集群是无法提供服务的。
那如何避免etcd集群损坏超过规定数量前,防止丢失数据呢?
Snapshoting或者使用集群中某个etcd的snap/db文件来恢复(前提得有快照策略)
命令如下:ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshot.db
然后迁移到新的集群中,使用如下命令
$ ETCDCTL_API=3 etcdctl snapshot restore snapshot.db
--name m1
--initial-cluster m1=http://host1:2380,m2=http://host2:2380,m3=http://host3:2380
--initial-cluster-token etcd-cluster-1
--initial-advertise-peer-urls http://host1:2380
$ ETCDCTL_API=3 etcdctl snapshot restore snapshot.db
--name m2
--initial-cluster m1=http://host1:2380,m2=http://host2:2380,m3=http://host3:2380
--initial-cluster-token etcd-cluster-1
--initial-advertise-peer-urls http://host2:2380
$ ETCDCTL_API=3 etcdctl snapshot restore snapshot.db
--name m3
--initial-cluster m1=http://host1:2380,m2=http://host2:2380,m3=http://host3:2380
--initial-cluster-token etcd-cluster-1
--initial-advertise-peer-urls http://host3:2380
然后启动新集群,使用新的data目录
$ etcd
--name m1
--listen-client-urls http://host1:2379
--advertise-client-urls http://host1:2379
--listen-peer-urls http://host1:2380 &
$ etcd
--name m2
--listen-client-urls http://host2:2379
--advertise-client-urls http://host2:2379
--listen-peer-urls http://host2:2380 &
$ etcd
--name m3
--listen-client-urls http://host3:2379
--advertise-client-urls http://host3:2379
--listen-peer-urls http://host3:2380 &
转载于:https://blog.51cto.com/laodou/2160551
最后
以上就是虚幻皮皮虾为你收集整理的etcd第三篇恢复数据的全部内容,希望文章能够帮你解决etcd第三篇恢复数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复