容器化 | 在 NFS 備份恢復(fù) RadonDB MySQL 集群數(shù)據(jù)

社區(qū)于上個月發(fā)布了 RadonDB MySQL Kubernetes v2.2.0,集群數(shù)據(jù)備份恢復(fù)的存儲類型除了 S3,新增 NFS 存儲。本文將為您演示如何進行 NFS 備份及恢復(fù)操作。

環(huán)境準備

  • Kubernetes 集群
  • RadonDB MySQL 集群

過程略,詳細請回顧《快速實現(xiàn) MySQL 高可用集群部署》。

安裝 NFS 服務(wù)與資源

方法一:使用 Helm 安裝

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

或者手動創(chuàng)建 PVC,再執(zhí)行

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

用該方法,可以在安裝 Operator 時,也將 NFS 服務(wù)的 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。

創(chuàng)建 NFS 備份

配置 NFS 服務(wù)的地址

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

創(chuàng)建備份

kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml

注意:備份自定義資源與 MySQL 集群自定義資源必須在同一個命名空間中。

驗證備份

使用如下命令,可以發(fā)現(xiàn)名稱格式為 <cluster name>_<timestamp> 的備份文件夾。

kubectl exec -it <pod name of nfs server> -- ls /exports
# 顯示結(jié)果
index.html  initbackup  sample_2022419101946

備份恢復(fù)

從已有的 NFS 備份文件中恢復(fù)集群。配置 mysql_v1alpha1_cluster.yaml,將 nfsServerAddress 設(shè)置為 NFS 服務(wù)的地址。

...
restoreFrom: "sample_2022419101946"
nfsServerAddress: 10.96.253.82

注意:restoreFrom 是備份路徑的名稱,可以從 NFS 服務(wù)加載的路徑中看到。然后從 NFS 備份副本恢復(fù)集群,如下:

kubectl apply -f config/samples/mysql_v1alpha1_cluster.yaml

恢復(fù)完成,已經(jīng)從名為 sample_2022419101946 的 NFS 備份中恢復(fù)一個集群。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容