意图
数据使用 etcd api version 2 格式
对 etcd 集群进行备份
恢复 etcd 数据 version2 到一个新集群中 (保持 version2 格式)
可以选择把 etcd version2 格式直接转换为 version 3 数据格式
但如果要选择为 version 3 格式, etcd 版本必须 <= 3.1.20
如果是要用 >= 3.1.20 版本, 则需要先迁移至 3.1.20 然后再升级至高版本
过程简介
1 备份使用中的集群其中一个服务器 etcd 数据
2 利用备份数据,启动一个全新的单机 etcd 服务
3 添加一个新的 etcd 节点并加入到新的单机 etcd 集群
4 再添加一个新的 etcd 节点并加入到新的单机 etcd 集群
步骤
1 备份使用中的 etcd 集群数据方法
/apps/dat/etcd/v31 使用中的集群的数据存放目录
/tmp/etcdbakcup 备份位置
建议对使用中的 etcd 集群抽其中一台进行停机备份,备份后再恢复服务
备份命令
etcdctl backup --data-dir /apps/dat/etcd/v31 --backup-dir /tmp/etcdbakcup
tar cf etcdbackup.tar /tmp/etcdbakcup
gzip etcdbackup.tar
利用备份数据,启动一个全新的单机 etcd 服务
机器名 | ip | 配置 | 服务 |
---|---|---|---|
etcd1 | 10.199.215.226 | etcd31.conf | etcd31.service |
etcd2 | 10.199.175.99 | etcd31.conf | etcd31.service |
etcd3 | 10.199.215.220 | etcd31.conf | etcd31.service |
启动 etcd1 方法
当前使用 etcd 版本为 3.1.20
etcd31.conf 配置
ETCD_NAME="etcd1"
ETCD_DATA_DIR="/apps/dat/etcd/v31"
ETCD_LISTEN_PEER_URLS="http://ip1:2380"
ETCD_LISTEN_CLIENT_URLS="http://ip1:2379,http://127.0.0.1:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://ip1:2380"
ETCD_INITIAL_CLUSTER_STATE=