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数据库

相关推荐
晚风叙码1 小时前
MySQL 表的约束详解:从空属性到外键
android·数据库·mysql·adb
IT古董9 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
for_ever_love__9 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
Nturmoils13 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
最笨的羊羊14 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase
fish_xk14 小时前
mysql中的表的约束
数据库·mysql
谢亮_vipxieliang14 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
ggaofeng15 小时前
自己编写邮件服务器和客户端
数据库
java1234_小锋15 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
PaperData15 小时前
2015-2024年各省绿色贸易数据
数据库