我是靠谱客的博主 虚幻皮皮虾,最近开发中收集的这篇文章主要介绍etcd第三篇恢复数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关于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第三篇恢复数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部