Come utilizzare ConfigMap per il mapping di una classe di storage per la snasphot Persistent Volume Claims con PowerProtect Data Manager 19.8
Summary: Questo articolo descrive come abilitare l'associazione della snapshot di backup Persistent Volume Claims a una classe di storage definita dall'utente durante il backup.
Instructions
Seguire queste istruzioni per utilizzare Dell EMC PowerProtect Data Manager 19.8 e ConfigMap per abilitare l'associazione di una snapshot di backup Persistent Volume Claims a una classe di storage definita dall'utente durante il backup.
Questo articolo illustra il seguente scenario:
- Sono presenti due classi di storage definite nel cluster Kubernetes. Ad esempio:
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
- Il namespace dell'applicazione utilizza, ad esempio, la prima classe di storage:
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
- Quando si avvia un processo di backup, Dell EMC PowerProtect Data Manager crea una snapshot di backup Persistent Volume Claims temporanea, montata nel pod cProxy. Questa azione sposta la snapshot di backup nell'appliance PowerProtect. Questa snapshot di backup Persistent Volume Claims si associa automaticamente alla classe di storage Persistent Volume Claims di origine.
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
- È necessario montare la snapshot di backup Persistent Volume Claims temporanea in una classe di storage diversa. Questo requisito può essere dovuto a restrizioni a livello di classe di storage o a policy interne per la classe di storage di origine.
Attenersi alla seguente procedura:
- Creare un'istanza di ConfigMap nel namespace powerprotect con il nome ppdm-snapshot-storage-class-mapping utilizzando il seguente comando:
kubectl create cm ppdm-snapshot-storage-class-mapping -n powerprotect
- Modificare ConfigMap utilizzando il seguente comando:
kubectl edit cm ppdm-snapshot-storage-class-mapping -n powerprotect
- Viene aperto l'editor. Aggiungere la sezione data evidenziata in grassetto nel seguente esempio di 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
- Fornire il mapping tra il nome della classe di storage di origine e il nome della classe di storage di destinazione.
Se si forniscono più mapping in un singolo ConfigMap, i seguenti scenari mostrano i casi d'uso non supportati e supportati:
- Scenario non supportato: non è possibile eseguire il mapping di una classe di storage a due classi di storage diverse. Ad esempio:
isilon-sc: unity-nfs
isilon-sc: vxflex-sc
- Scenario supportato: è possibile eseguire il mapping di classi di storage diverse a una classe di storage.
unity-nfs: isilon-sc
vxflex-sc: isilon-sc
- Salvare ConfigMap. Per il backup Persistent Volume Claim associato al nome della classe di storage di origine elencato in ConfigMap, la snapshot di backup Persistent Volume Claim è associata al nome della classe di storage di destinazione elencato in ConfigMap.
Utilizzando l'esempio ConfigMap precedente, il nome della classe di storage di origine è csi-hostpath-sc e il nome della classe di storage di destinazione è debjeet-sc. Se un oggetto Persistent Volume Claim sottoposto a backup utilizza la classe di storage csi-hostpath-sc, la relativa snapshot durante il backup sarà ora associata a 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