因为服务器过保要下线,需要将etcd迁移到新的机器上,下面是我的踩坑记录:
迁移流程
1. 执行数据备份
备份 v2:
$ etcdctl --endpoints <endpoints> --ca-file <ca-file> --cert-file <cert-file> --key-file <key-file> backup --data-dir <data-dir> --backup-dir <back-dir>
Example:
$ etcdctl --endpoints <endpoints> --ca-file <ca-file> --cert-file <cert-file> --key-file <key-file> backup --data-dir /home/work/etcd/data --backup-dir /home/work/backup/etcd
注:此处的数据目录为:
/home/work/etcd/data,备份路径为:/home/work/backup/etcd
备份 v3:
首先设置API为v3:
$ echo "export ETCDCTL_API=3" >> ~/.bashrc
$ source ~/.bashrc
备份v3数据:
$ etcdctl --endpoints <endpoints> --cacert <ca-file> --cert <cert-file> --key <key-file> snapshot save <back-file>
Example:
$ etcdctl --endpoints <endpoints> --cacert <ca-file> --cert <cert-file> --key <key-file> snapshot save /home/work/backup/etcd/member/snap/db
注:此处的数据存储目录为
/home/work/backup/etcd/member/snap/db<

本文详细记录了etcd数据从旧服务器迁移到新机器的全过程,包括执行数据备份、新集群恢复以及在迁移过程中遇到的问题及解决方案。在迁移过程中,重点涉及v2和v3版本的数据备份,新节点的启动与配置调整,以及如何解决member count不匹配和找不到数据库快照文件的错误。
最低0.47元/天 解锁文章
972

被折叠的 条评论
为什么被折叠?



