共计 1309 个字符,预计需要花费 4 分钟才能阅读完成。
社区于上个月公布了 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 集群自定义资源必须在同一个命名空间中。
验证备份
应用如下命令,能够发现名称格局为 <cluster name>_<timestamp>
的备份文件夹。
kubectl exec -it <pod name of nfs server> -- 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 备份中复原一个集群。
正文完