容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据

[复制链接]
发表于 2022-9-16 17:12:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
社区于上个月发布了 RadonDB MySQL Kubernetes v2.2.0,集群数据备份恢复的存储类型除了 S3,新增 NFS 存储。本文将为您演示如何进行 NFS 备份及恢复操作。
环境准备


  • Kubernetes 集群
  • RadonDB MySQL 集群
过程略,详细请回顾《快速实现 MySQL 高可用集群部署》。
安装 NFS 服务与资源

方法一:使用 Helm 安装
  1. helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.createLocalPV=true
复制代码
或者手动创建 PVC,再执行
  1. helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.specifiedPVC=XXXX
复制代码
用该方法,可以在安装 Operator 时,也将 NFS 服务的 Pod 和 Service 安装到集群中。
方法二:使用 kubectl 安装
  1. kubectl apply -f config/samples/nfs_pv.yaml
  2. kubectl apply -f config/samples/nfs_server.yaml
复制代码
获取 nfsServerAddress

例如:
  1. kubectl get svc nfs-server --template={{.spec.clusterIP}}
  2. 10.98.253.82
复制代码
获取到 ClusterIP,即可以使用该地址进行 NFS 备份。这里 IP 地址为 10.96.253.82。
创建 NFS 备份

配置 NFS 服务的地址
  1. # 文件 config/samples/mysql_v1alpha1_backup.yaml
  2. nfsServerAddress: "10.96.253.82"
复制代码
创建备份
  1. kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml
复制代码
注意:备份自定义资源与 MySQL 集群自定义资源必须在同一个命名空间中。
验证备份

使用如下命令,可以发现名称格式为 _ 的备份文件夹。
  1. kubectl exec -it <pod name of nfs server> -- ls /exports
  2. # 显示结果
  3. index.html  initbackup  sample_2022419101946
复制代码
备份恢复

从已有的 NFS 备份文件中恢复集群。配置 mysql_v1alpha1_cluster.yaml,将 nfsServerAddress 设置为 NFS 服务的地址。
  1. ...
  2. restoreFrom: "sample_2022419101946"
  3. nfsServerAddress: 10.96.253.82
复制代码
注意:restoreFrom 是备份路径的名称,可以从 NFS 服务加载的路径中看到。然后从 NFS 备份副本恢复集群,如下:
  1. kubectl apply -f config/samples/mysql_v1alpha1_cluster.yaml
复制代码
恢复完成,已经从名为  sample_2022419101946 的 NFS 备份中恢复一个集群。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-9 10:10 , Processed in 0.074065 second(s), 27 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表