etcd数据迁移实战

因为服务器过保要下线,需要将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,这里路径和v2的备份路径相关联,具体关联如下

你可能感兴趣的:(etcd)