ETCD数据迁移

ETCD数据迁移

背景:由于k8s集群数据迁移,集群的网关数据库Etcd也随之迁移,因此涉及到Etcd数据的导出导入

1、源库导出:

bash 复制代码
etcdctl snapshot save snapshot-2026.db --endpoints=10.100.100.15:12379
# 数据库端口修改为自己的

2、当目标库为单机时:

bash 复制代码
直接在目标库机器上执行:
etcdctl snapshot restore snapshot-2026.db --data-dir=/var/lib/etcd-new

然后使用这个新目录etcd-new作为Etcd的数据目录重启Etcd服务

3、当目标库为集群但是只有一节点时:

bash 复制代码
etcdctl snapshot restore snapshot-2026.db \
  --name etcd-1 \
  --initial-cluster-token etcd-cluster \
  --initial-advertise-peer-urls http://10.10.10.1:12380 \
  --data-dir /var/lib/etcd-new
参数解释:
--initial-cluster-token 为整个 etcd 集群设置一个唯一标识令牌
--initial-advertise-peer-urls 告诉其他 etcd 节点如何访问本节点

4、当目标库为集群多节点时:

在节点1 (名为 node1) 上执行

bash 复制代码
etcdctl snapshot restore ssnapshot-2026.db \
  --name node1 \
  --initial-cluster-token etcd-cluster \
  --initial-advertise-peer-urls http://192.168.1.101:12380 \
  --initial-cluster "node1=http://192.168.1.101:12380,node2=http://192.168.1.102:12380 \
  --data-dir=/var/lib/etcd-new

在节点2 (名为 node2) 上执行

bash 复制代码
etcdctl snapshot restore snapshot-2026.db \
  --name node2 \
  --initial-cluster-token etcd-cluster \
  --initial-advertise-peer-urls http://192.168.1.102:2380 \
  --initial-cluster "node1=http://192.168.1.101:12380,node2=http://192.168.1.102:12380 \
  --data-dir=/var/lib/etcd-new

然后分别使用新的数据目录重启Etcd数据库

相关推荐
SelectDB12 分钟前
拿 Planet 的账单一行行对下来,我总结出三个可自查的校验点
大数据·数据库·数据分析
SelectDB17 分钟前
Apache Doris + Vane:让多模态数据进入业务分析
大数据·数据库·数据分析
pjj198542 小时前
ClickHouse 与 Doris 数据库技术梳理:看懂分析型数据库
数据库·clickhouse
1024奇点3 小时前
【仓颉语言入门 · 第二篇 第 12 课】
开发语言·数据库·ide·mysql·开源
冰暮流星3 小时前
mysql之insert优化
数据库·mysql
海鸥-w3 小时前
数据库冗余字段设计笔记
java·数据库·笔记·oracle
瑞克-桑切斯4 小时前
4、MySQL 索引与事务
数据库·mysql
二宝哥4 小时前
【问题】本地启动springboot项目启动flowable引擎会提示数据库脚本错误,同事本地启动没有报错(MySQL表明大小写敏感参数)
数据库·mysql
John_Hui4 小时前
第 5 篇:Ubuntu 安装 Redis
数据库·redis·缓存