登录
首页 >  数据库 >  MySQL

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

来源:SegmentFault

时间:2023-02-24 11:25:18 203浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据》,涉及到MySQL、数据库、kubernetes、nfs,有需要的可以收藏一下

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

环境准备

  • Kubernetes 集群
  • RadonDB MySQL 集群

过程略,详细请回顾《快速实现 MySQL 高可用集群部署》。

安装 NFS 服务与资源

方法一:使用 Helm 安装

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.createLocalPV=true

或者手动创建 PVC,再执行

helm install demo charts/mysql-operator  --set nfsBackup.installServer=true  --set nfsBackup.volume.specifiedPVC=XXXX

用该方法,可以在安装 Operator 时,也将 NFS 服务的 Pod 和 Service 安装到集群中。

方法二:使用 kubectl 安装

kubectl apply -f config/samples/nfs_pv.yaml 
kubectl apply -f config/samples/nfs_server.yaml

获取 nfsServerAddress

例如:

kubectl get svc nfs-server --template={{.spec.clusterIP}}
10.98.253.82

获取到

ClusterIP
,即可以使用该地址进行 NFS 备份。这里 IP 地址为
10.96.253.82

创建 NFS 备份

配置 NFS 服务的地址

# 文件 config/samples/mysql_v1alpha1_backup.yaml
nfsServerAddress: "10.96.253.82"

创建备份

kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml
注意:备份自定义资源与 MySQL 集群自定义资源必须在同一个命名空间中。

验证备份

使用如下命令,可以发现名称格式为

_
的备份文件夹。

kubectl exec -it  -- ls /exports
# 显示结果
index.html  initbackup  sample_2022419101946

备份恢复

从已有的 NFS 备份文件中恢复集群。配置

mysql_v1alpha1_cluster.yaml
,将
nfsServerAddress
设置为 NFS 服务的地址。

...
restoreFrom: "sample_2022419101946"
nfsServerAddress: 10.96.253.82
注意:
restoreFrom
是备份路径的名称,可以从 NFS 服务加载的路径中看到。然后从 NFS 备份副本恢复集群,如下:

kubectl apply -f config/samples/mysql_v1alpha1_cluster.yaml

恢复完成,已经从名为

sample_2022419101946
的 NFS 备份中恢复一个集群。

到这里,我们也就讲完了《容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于mysql的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>