centos7备份和恢复单机etcd数据

前面一篇我们已经学习了etcd的单机部署,具体可以查看这个笔记https://sulao.cn/post/965.html,这篇我们介绍下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

微信截图_20240126145620.png

备份完成以后,我们删除刚才创建的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

微信截图_20240126151117.png

注意,目前新版本的etcd恢复都需要使用etcdutl工具进行恢复备份数据,我们这里用的etcdctl,提示了,依然能够正常恢复,但是建议使用etcdutl

接着启动etcd

systemctl start etcd

测试之前备份的数据

etcdctl get testdata
testdata
etcd test

查询到数据说明恢复成功


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/966.html