前面一篇我们已经学习了etcd的单机部署,具体可以查看这个笔记:https://sulao.cn/post/962,这篇我们介绍下etcd数据备份与恢复,我们尝试先创建几条数据,备份,然后删除创建的数据,然后再恢复备份,查询这条被删除的数据。
我们先简单创建条数据
etcdctl put testdata "etcd test" OK etcdctl get testdata testdata etcd test
然后我们备份数据
ETCDCTL_API=3 etcdctl --endpoints="http://127.0.0.1:2379" snapshot save /data/etcd_backup.db
备份完成以后,我们删除刚才创建的key "testdata"
etcdctl del testdata 1
删除完成再查询下,确认数据是否被删除
etcdctl get testdata
返回空说明数据已经被删除,接着我们恢复备份,随后再查询刚才删除的key
首先停止etcd服务
systemctl stop etcd
然后移走现有etcd目录并重新创建空目录
mv /data/etcd /data/etcd_bak mkdir -p /data/etcd
接着就可以还原数据了,注意还原数据的命令就不添加--endpoint参数了,因为这里etcd服务没有启动,加上了就会报错,也无需添加这个参数
ETCDCTL_API=3 etcdctl snapshot restore /data/etcd_backup.db --data-dir=/data/etcd
注意,目前新版本的etcd恢复都需要使用etcdutl工具进行恢复备份数据,我们这里用的etcdctl,提示了,依然能够正常恢复,但是建议使用etcdutl
接着启动etcd
systemctl start etcd
测试之前备份的数据
etcdctl get testdata testdata etcd test
查询到数据说明恢复成功
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/963
相关推荐
- k8s集群中mongdb、etcd、prometheus数据bash一键备份脚本
- centos7安装CUDA Tookit+CUDA Samples+NCCL+OpenMPI
- centos7添加交换分区swap
- centos7升级systemd并切换cgroup v1到cgroup v2
- python操作etcd常用方法
- centos7下程序运行提示报错version `GLIBCXX_3.4.20` not found
- centos7二进制部署prometheus+alertmanager+grafana
- centos7使用chrony配置时间同步
- etcd集群数据备份和恢复
- centos7使用二进制部署TLS加密etcd集群
评论列表