如何使用 ConfigMap 對應快照持續性磁碟區宣告與 PowerProtect Data Manager 19.8 的儲存類別
Summary: 本文說明如何啟用備份快照持續性磁碟區宣告,以在備份期間綁定至使用者定義的儲存類別。
Instructions
請遵循這些指示,使用 Dell EMC PowerProtect Data Manager 19.8 和 ConfigMap 來啟用備份快照持續性磁碟區宣告,以在備份期間綁定至使用者定義的儲存類別。
本文說明下列案例:
- 您的 Kubernetes 叢集中定義了兩個儲存類別。例如:
debjeet@irv-ppdm-sdr-140:~$ kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
csi-hostpath-sc (default) hostpath.csi.k8s.io Delete Immediate true 161d
debjeet-sc hostpath.csi.k8s.io Delete Immediate true 12d
- 例如您的應用程式命名空間會使用第一個儲存類別:
NAME READY STATUS RESTARTS AGE
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 16d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 16d
- 當您啟動備份工作時,Dell EMC PowerProtect Data Manager 會建立已掛接至 cProxy pod 的暫存備份快照持續性磁碟區宣告。此動作會將備份快照移至 PowerProtect 應用裝置。此備份快照持續性磁碟區宣告會自動綁定至來源持續性磁碟區宣告儲存類別。
NAME READY STATUS RESTARTS AGE
pod/epco-2021-06-17-11-40-05-epco-mysql-pv-claim-cproxy 1/1 Running 0 5s
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 17d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 17d
persistentvolumeclaim/pvc-epco-2021-06-17-11-40-05-mysql-pv-claim Bound pvc-4031a452-fd2b-42b1-b1a5-da4df6dc9eb0 2Gi RWO csi-hostpath-sc 6s
- 您必須將暫時備份快照持續性磁碟區宣告掛接到不同的儲存類別。此要求可能是由於來源儲存類別的儲存類別限制或內部原則所導致。
執行下列步驟:
- 使用下列命令,在 powerprotect 命名空間中建立名稱為 ppdm-snapshot-storage-class-mapping 的 ConfigMap:
kubectl create cm ppdm-snapshot-storage-class-mapping -n powerprotect
- 使用下列命令編輯 ConfigMap:
kubectl edit cm ppdm-snapshot-storage-class-mapping -n powerprotect
- 編輯器隨即開啟。在下列 ConfigMap 範例中,新增以粗體標示的資料區段。
apiVersion: v1
kind: ConfigMap
data:
csi-hostpath-sc: debjeet-sc
metadata:
creationTimestamp: "2021-06-04T14:13:17Z"
name: ppdm-snapshot-storage-class-mapping
namespace: powerprotect
resourceVersion: "29682568"
selfLink: /api/v1/namespaces/powerprotect/configmaps/ppdm-snapshot-storage-class-mapping
uid: 74def0f9-207d-4ea5-a9b1-0fca688c7ea5
- 提供來源儲存類別名稱與目標儲存類別名稱之間的對應。
如果您在單一 ConfigMap 中提供多個對應,下列情況會顯示不受支援和支援的使用案例:
- 不支援的情況:您無法將一個儲存類別對應至兩個不同的儲存類別。例如:
isilon-sc: unity-nfs
isilon-sc: vxflex-sc
- 支援的情況:您可以將不同的儲存類別對應到一個儲存類別。
unity-nfs: isilon-sc
vxflex-sc: isilon-sc
- 儲存該 ConfigMap。對於已綁定至 ConfigMap 中所列之來源儲存類別名稱的備份持續性磁碟區宣告,備份快照持續性磁碟區宣告會綁定至 ConfigMap 中所列的目標儲存類別名稱。
使用先前的「ConfigMap」範例,來源儲存類別名稱是 csi-hostpath-sc,而目標儲存類別名稱是 debjeet-sc。如果要備份的持續性磁碟區宣告使用儲存類別 csi-hostpath-sc,其在備份期間的快照持續性磁碟區宣告現在會綁定為 debjeet-sc。
debjeet@irv-ppdm-sdr-140:~$ kubectl get pods,pvc -n exnsNAME READY STATUS RESTARTS AGE
pod/epco-2021-06-17-11-40-05-epco-mysql-pv-claim-cproxy 1/1 Running 0 5s
pod/wordpress-mysql-5b697dbbfc-gfv9k 1/1 Running 0 17d
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
persistentvolumeclaim/mysql-pv-claim Bound pvc-d6df4270-dc9e-48bb-bca9-bd430cea88c6 2Gi RWO csi-hostpath-sc 17d
persistentvolumeclaim/pvc-epco-2021-06-17-11-40-05-mysql-pv-claim Bound pvc-4031a452-fd2b-42b1-b1a5-da4df6dc9eb0 2Gi RWO debjeet-sc 56s