3. ETCD数据备份与恢复
首先为运行在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数据备份与恢复的更多相关文章
- etcd数据备份与恢复验证
一.单机 说明:执行etcd备份数据的恢复的机器必须和原先etcd所在机器一致 1.单机备份 etcdctl --endpoints="https://10.25.72.62:2379&qu ...
- etcd数据备份和恢复--转发
对于etcd api v3数据备份与恢复方法 # export ETCDCTL_API=3 # etcdctl --endpoints localhost:2379 snapshot save sna ...
- InfluxDB数据备份与恢复
数据备份与恢复 Example:(192.167.8.13 InfluxDB:DeviceHistory备份到192.167.8.52,然后恢复到该服务器上) steps: login 192 ...
- redis基础操作~~数据备份与恢复、数据安全、性能测试、客户端连接、分区
数据备份与恢复 数据备份redis save 命令用于创建当前数据库的备份. redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建dump.rdb文 ...
- Mysql 数据备份与恢复,用户创建,授权
Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create ...
- Redis之数据备份与恢复
Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...
- ETCD数据空间压缩清理
场景:做etcd数据镜像的时候出现如下错误 Error: etcdserver: mvcc: database space exceeded 通过查找官方文档https://coreos.com/e ...
- Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)
Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...
- GreenPlum 数据备份与恢复
GreenPlum数据备份与恢复gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirro ...
- redis开启持久化、redis 数据备份与恢复
redis持久化介绍 https://segmentfault.com/a/1190000015897415 1. 开启aof持久化.以守护进程启动.远程访问先把配置文件拷贝一份到/etc/redi ...
随机推荐
- 从零开始的 dbt 入门教程 (dbt cloud 自动化篇)
一.引 在前面的几篇文章中,我们从 dbt core 聊到了 dbt 项目工程化,我相信前几篇文章足够各位数据开发师从零快速入门 dbt 开发,那么到现在我们更迫切需要解决的是如何让数据更新做到定时化 ...
- layui select onchange事件处理
1.html代码如下,不要忘记 lay-filter属性 <div class="layui-input-block"> <select id=& ...
- FPGA中的时钟域问题
FPGA中的时钟域问题 一.时钟域的定义 所谓时钟域,就是同一个时钟驱动的区域.这里的驱动,是指时钟刷新D触发器的事件,体现在verilog中就是always的边沿触发信号.单一时钟域是FPGA的基本 ...
- KingbaseES V8R6运维案例之---pg_statistic toast表故障修复
案例说明: 数据库在日常的维护过程中,执行表结构查询语句(\d t1),如下图所示,出现"missing chunk number 0 for toast value 16259 in ...
- Python flask框架 request.json和request.form的区别
一.fetch请求时,request.json能获取到数据,request.form获取不到数据 1 var data = {'name':'test'}; 2 3 fetch('http://loc ...
- #树状数组#洛谷 3531 [POI2012] LIT-Letters
题目 给出两个长度相同且由大写英文字母组成的字符串\(A\).\(B\),保证\(A\)和\(B\)中每种字母出现的次数相同. 现在每次可以交换\(A\)中相邻两个字符,求最少需要交换多少次可以使得\ ...
- Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo
概述 本文探讨 Wails 框架的使用,从搭建环境到开发,再到最终的构建打包,本项目源码 GitHub 地址:https://github.com/mazeyqian/go-run-wechat-de ...
- 重磅官宣 | 第二届OpenHarmony技术峰会,邀您共启智联未来
"下一个技术未来在哪里?" 11月4日 技术大咖齐聚北京为你解答 一场主论坛+八大开源领域分论坛 探究终端操作系统十大技术挑战方向 与全球开源操作系统技术领袖.实践专家.一线 ...
- HDD与你相约深圳,一起探讨创新开发与运营增长
12月14日,HUAWEI Developer Day(以下简称HDD)将在深圳与广大开发者见面.本次HDD共设有主论坛.两个分论坛及两个闭门会议,期待各位开发者前来参加. 精彩预告 01·主论坛 在 ...
- HarmonyOS如何使用异步并发能力进行开发
一.并发概述 并发是指在同一时间段内,能够处理多个任务的能力.为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,HarmonyOS系统提供了异步并发和多线程并发两种处理策略. ● 异步 ...