社區于上個月發布了 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 備份中恢復一個集群,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/501020.html
標籤:MySQL
上一篇:資料庫的常用命令
