首页 > 其他分享 >3. ETCD数据备份与恢复

3. ETCD数据备份与恢复

时间:2024-01-11 12:12:14浏览次数:33  
标签:ETCD -- 恢复 etcdctl 数据备份 v3 snapshot etcd go

首先为运行在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":"[email protected]/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":"[email protected]/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/[email protected]/snapshot/v3_snapshot.go:254\ngo.etcd.io/etcd/etcdutl/v3/etcdutl.SnapshotRestoreCommandFunc\n\tgo.etcd.io/etcd/etcdutl/[email protected]/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/[email protected]/command.go:856\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tgithub.com/spf13/[email protected]/command.go:960\ngithub.com/spf13/cobra.(*Command).Execute\n\tgithub.com/spf13/[email protected]/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"}

 

标签:ETCD,--,恢复,etcdctl,数据备份,v3,snapshot,etcd,go
From: https://www.cnblogs.com/yangmeichong/p/17958266

相关文章

  • 【NetApp数据恢复】NetApp存储误删除卷导致数据无法访问的数据恢复案例
    NetApp数据恢复环境:NetApp某型号存储,存储中有数十块SAS硬盘,该型号NetApp存储硬盘是扇区大小是520字节。存储中的lun都映射给小型机使用,存放Oracle数据库文件,采用ASM裸设备存储方式。NetApp存储故障:由于业务发展需要重新规划存储空间,工作人员直接将存储卷全部删除并重新分配。当......
  • MURD1060-ASEMI快恢复TO-252封装二极管MURD1060
    编辑:llMURD1060-ASEMI快恢复TO-252封装二极管MURD1060型号:MURD1060品牌:ASEMI封装:TO-252平均正向整流电流(Id):10A最大反向击穿电压(VRM):600V产品引线数量:3产品内部芯片个数:2产品内部芯片尺寸:72MIL峰值正向漏电流:<10ua恢复时间:>2000ns正向浪涌电流:550A正向压降:1.7V恢复时间:35ns最大正向电......
  • MURD1060-ASEMI快恢复TO-252封装二极管MURD1060
    编辑:llMURD1060-ASEMI快恢复TO-252封装二极管MURD1060型号:MURD1060品牌:ASEMI封装:TO-252平均正向整流电流(Id):10A最大反向击穿电压(VRM):600V产品引线数量:3产品内部芯片个数:2产品内部芯片尺寸:72MIL峰值正向漏电流:<10ua恢复时间:>2000ns正向浪涌电流:550A正向压降:1.7V恢复时间......
  • 【服务器数据恢复】虚拟机文件丢失导致Hyper-V服务瘫痪,虚拟机无法使用的数据恢复案例
    服务器数据恢复环境:WindowsServer操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外还有一块硬盘存放虚拟机数据文件的备份。服务器故障&检测:由于MD3200存储中虚拟......
  • oracle清空表恢复办法
    今天我不小心把正式库订单表数库都清空了,兄弟们!!!!!!!!!!!!我强迫自己冷静下来,百度搜索解决办法。希望大家别碰到这种事,太后怕了呜呜呜呜呜我自己总结一下1、查询某个时间点之前的数据(如果没数据库,多试几个时间点)select*from表名asoftimestampto_timestamp('2024-01-1009:09:00','......
  • 19c dataguard 增量恢复
    1、检查主备库服务名(tnsnames)是否配置且正常访问。2、若备库是RAC环境关闭多余节点。3、关闭mrp进程,rman执行##关闭mrpalterdatabaserecovermanagedstandbydatabasecancel;##rman执行recoverstandbydatabasefromserviceprimdb;报错处理2023-12-07T15:47:58.152113+0......
  • 如何对Azure Database for MySQL进行数据恢复
    如何对AzureDatabaseforMySQL进行数据恢复一般情况下,我们使用Azure中的PaaS数据库产品是时,我们不仅不用关心数据库底层的基础设施部署,同样也不用担心数据库的备份。在AzurePaaS数据库产品中,都内置了数据库备份的功能,作为用户而言,我们不需要为数据库备份这个功能付费,只需要对备......
  • 三菱电梯IC卡系统数据库备份与恢复
    查看msde2000的登录方式sa密码lonele64位操作系统下regquery"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MicrosoftSQLServer\LONELE2\MSSQLServer"/vLoginModeHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MicrosoftSQLServer\LONELE2\M......
  • elasticsearch集群red恢复损坏的索引
    背景客户磁盘损坏,修复磁盘后,重启机器,发现elasticsearch启动成功,ES状态正常green,但是历史数据都没有加载进,查看ES存储数据目录,发现数据还在。解决方案首先,需要确认indices目录下的lucene索引正常。需要关闭ES(实际操作索引处于close状态也可以)。#检测lucene索引数据是否正......
  • 【服务器数据恢复】服务器raid5崩溃导致上层分区无法访问的数据恢复案例
    服务器数据恢复环境:北京某教育机构一台服务器中有一组由3块磁盘组建的raid5阵列,服务器安装的windowsserver操作系统。服务器故障:该服务器在运行过程中突然瘫痪,无法正常工作。北亚企安数据恢复工程师去现场对故障服务器进行了检测,发现故障服务器raid5阵列中有一块硬盘由于未知原......