首先为运行在https://127.0.0.1:2379 上的现有etcd实例创建快照并将快照保存到
/srv/data/etcd-snapshot.db。 注:为给定实例创建快照预计能在几秒钟内完成。如果该操作似乎挂起,则命令可能有问题。用
ctrl+c 来取消操作,然后重试。 然后还原位于/srv/data/etcd-snapshot-previous.db的现有先前快照。 提供了TLS 证书和密钥,以通过etcdctl 连接到服务器。
CA 证书:/opt/KUIN00601/ca.crt
客户端证书: /opt/KUIN00601/etcd-client.crt
客户端密钥:/opt/KUIN00601/etcd-client.key 官方参考地址:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/
# 参考:https://www.cnblogs.com/yangmeichong/p/17957126
# 1.etcd备份
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/opt/KUIN00601/ca.crt --cert=/opt/KUIN00601/etcd-client.crt --key=/opt/KUIN00601/etcd-client.key snapshot save /srv/data/etcd-snapshot.db # 验证备份的快照
ETCDCTL_API=3 etcdctl --write-out=table snapshot status /srv/data/etcd-snapshot.db
# 2.etcd备份恢复
etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/opt/KUIN00601/ca.crt --cert=/opt/KUIN00601/etcd-client.crt --key=/opt/KUIN00601/etcd-client.key snapshot restore /srv/data/etcd-snapshot-previous.db

正式服:

# 1.备份
[root@master2 etcd]# ETCDCTL_API=3 etcdctl --endpoints=https://192.168.10.21:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key snapshot save master2.db
{"level":"info","ts":"2024-01-11T11:41:52.453759+0800","caller":"snapshot/v3_snapshot.go:65","msg":"created temporary db file","path":"master2.db.part"}
{"level":"info","ts":"2024-01-11T11:41:52.461733+0800","logger":"client","caller":"v3@v3.5.9/maintenance.go:212","msg":"opened snapshot stream; downloading"}
{"level":"info","ts":"2024-01-11T11:41:52.461811+0800","caller":"snapshot/v3_snapshot.go:73","msg":"fetching snapshot","endpoint":"https://192.168.10.21:2379"}
{"level":"info","ts":"2024-01-11T11:41:52.508687+0800","logger":"client","caller":"v3@v3.5.9/maintenance.go:220","msg":"completed snapshot read; closing"}
{"level":"info","ts":"2024-01-11T11:41:52.515593+0800","caller":"snapshot/v3_snapshot.go:88","msg":"fetched snapshot","endpoint":"https://192.168.10.21:2379","size":"3.4 MB","took":"now"}
{"level":"info","ts":"2024-01-11T11:41:52.515678+0800","caller":"snapshot/v3_snapshot.go:97","msg":"saved","path":"master2.db"}
Snapshot saved at master2.db # 验证备份
[root@master2 etcd]# ETCDCTL_API=3 etcdctl --write-out=table snapshot status master2.db
Deprecated: Use `etcdutl snapshot status` instead. +----------+----------+------------+------------+
| HASH | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| 5abd7f63 | 161433 | 1475 | 3.4 MB |
+----------+----------+------------+------------+ # 2.恢复
[root@master2 etcd]# ETCDCTL_API=3 etcdctl --endpoints=https://192.168.10.21:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key snapshot restore master2.db
Deprecated: Use `etcdutl snapshot restore` instead.
# 如果需要指定备份目录,添加参数 --data-dir /root/k8s/etcd
2024-01-11T11:56:49+08:00 info snapshot/v3_snapshot.go:248 restoring snapshot {"path": "master2.db", "wal-dir": "default.etcd/member/wal", "data-dir": "default.etcd", "snap-dir": "default.etcd/member/snap", "stack": "go.etcd.io/etcd/etcdutl/v3/snapshot.(*v3Manager).Restore\n\tgo.etcd.io/etcd/etcdutl/v3@v3.5.9/snapshot/v3_snapshot.go:254\ngo.etcd.io/etcd/etcdutl/v3/etcdutl.SnapshotRestoreCommandFunc\n\tgo.etcd.io/etcd/etcdutl/v3@v3.5.9/etcdutl/snapshot_command.go:147\ngo.etcd.io/etcd/etcdctl/v3/ctlv3/command.snapshotRestoreCommandFunc\n\tgo.etcd.io/etcd/etcdctl/v3/ctlv3/command/snapshot_command.go:129\ngithub.com/spf13/cobra.(*Command).execute\n\tgithub.com/spf13/cobra@v1.1.3/command.go:856\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tgithub.com/spf13/cobra@v1.1.3/command.go:960\ngithub.com/spf13/cobra.(*Command).Execute\n\tgithub.com/spf13/cobra@v1.1.3/command.go:897\ngo.etcd.io/etcd/etcdctl/v3/ctlv3.Start\n\tgo.etcd.io/etcd/etcdctl/v3/ctlv3/ctl.go:107\ngo.etcd.io/etcd/etcdctl/v3/ctlv3.MustStart\n\tgo.etcd.io/etcd/etcdctl/v3/ctlv3/ctl.go:111\nmain.main\n\tgo.etcd.io/etcd/etcdctl/v3/main.go:59\nruntime.main\n\truntime/proc.go:250"}
2024-01-11T11:56:49+08:00 info membership/store.go:141 Trimming membership information from the backend...
2024-01-11T11:56:49+08:00 info membership/cluster.go:421 added member {"cluster-id": "cdf818194e3a8c32", "local-member-id": "0", "added-peer-id": "8e9e05c52164694d", "added-peer-peer-urls": ["http://localhost:2380"]}
2024-01-11T11:56:49+08:00 info snapshot/v3_snapshot.go:269 restored snapshot {"path": "master2.db", "wal-dir": "default.etcd/member/wal", "data-dir": "default.etcd", "snap-dir": "default.etcd/member/snap"}

3. ETCD数据备份与恢复的更多相关文章

  1. etcd数据备份与恢复验证

    一.单机 说明:执行etcd备份数据的恢复的机器必须和原先etcd所在机器一致 1.单机备份 etcdctl --endpoints="https://10.25.72.62:2379&qu ...

  2. etcd数据备份和恢复--转发

    对于etcd api v3数据备份与恢复方法 # export ETCDCTL_API=3 # etcdctl --endpoints localhost:2379 snapshot save sna ...

  3. InfluxDB数据备份与恢复

    数据备份与恢复 Example:(192.167.8.13 InfluxDB:DeviceHistory备份到192.167.8.52,然后恢复到该服务器上)   steps:   login 192 ...

  4. redis基础操作~~数据备份与恢复、数据安全、性能测试、客户端连接、分区

    数据备份与恢复 数据备份redis save 命令用于创建当前数据库的备份. redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建dump.rdb文 ...

  5. Mysql 数据备份与恢复,用户创建,授权

    Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create  ...

  6. Redis之数据备份与恢复

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  7. ETCD数据空间压缩清理

    场景:做etcd数据镜像的时候出现如下错误  Error: etcdserver: mvcc: database space exceeded 通过查找官方文档https://coreos.com/e ...

  8. Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  9. GreenPlum 数据备份与恢复

    GreenPlum数据备份与恢复gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirro ...

  10. redis开启持久化、redis 数据备份与恢复

    redis持久化介绍  https://segmentfault.com/a/1190000015897415 1. 开启aof持久化.以守护进程启动.远程访问先把配置文件拷贝一份到/etc/redi ...

随机推荐

  1. 使用自签名证书在Docker中部署Asp.Net Core(Abp)项目

    一 编写Dockerfile文件 FROM mcr.microsoft.com/dotnet/aspnet:6.0 COPY / /app WORKDIR /app EXPOSE 80 ENTRYPO ...

  2. quartus之ram的IP测试

    quartus之ram的IP测试 1.基本原理 ram,读取存储器,用于储存数据.基本的原理就是使用时钟驱动时序,利用地址区分位置,使用使能控制写入.输出的结果以写入的位宽输出. 2.实际操作 顶层代 ...

  3. java通过jsch使用sftp连接linux处理文件

    1.Maven依赖 <!--Java连接Linux服务器依赖--> <dependency> <groupId>com.jcraft</groupId> ...

  4. Visual Studio 2022的安装 - 编程手把手系列文章

    工欲善其事,必先利其器. 今天讲的是编程开发工具Visual Studio 2022的安装.作为手把手系列的开始,需要先对进行编程所使用的工具进行了解.此博文从下面几个步骤入手,对VS 2022这个开 ...

  5. SQL 递归核心思想(递归思维)

    目前很缺递归思维,主要是算法代码写得少,本篇记录下以 PostgreSQL 代码举例(主要是非常喜欢这款性能小钢炮数据库). 树状查询不多说,很简单大家基本都会,主要讲 cte 代码递归实现不同需求. ...

  6. #杜教筛,欧拉函数,整除分块#HDU 6683 Rikka with Geometric Sequen

    题目 由\(1,2,\dots,n-1,n\)组成的序列中有多少个子序列是等比数列\((n\leq 5*10^{17})\) 分析 分类讨论,先设公比为\(q=\frac{i}{j}[gcd(i,j) ...

  7. Go 中的格式化字符串`fmt.Sprintf()` 和 `fmt.Printf()`

    在 Go 中,可以使用 fmt.Sprintf() 和 fmt.Printf() 函数来格式化字符串,这两个函数类似于 C 语言中的 scanf 和 printf 函数. fmt.Sprintf() ...

  8. OpenHarmony社区运营报告(2023年4月)

      本月快讯 • 2023年4月9日,OpenAtom OpenHarmony(以下简称"OpenHarmony")3.2 Release新版本发布.相比一年前的OpenHarmo ...

  9. Python制作词云--stylecloud简单使用

    安装 pip install stylecloud 使用 from stylecloud import gen_stylecloud gen_stylecloud('zhangsan lisi wan ...

  10. 报名直达丨HarmonyOS开发者创新大赛线下城市交流会来了,约吗?

    HarmonyOS开发者创新大赛线下城市交流会 正式开启啦! 在这里,将有专业的讲师 与HarmonyOS开发者们面对面演示开发实操.交流开发心得 还等什么?赶快扫码报名吧~↓↓↓ 城市交流会报名链接 ...