Siga estas instrucciones para utilizar Dell EMC PowerProtect Data Manager 19.8 y ConfigMap a fin de permitir que la reclamación de volumen persistente de instantánea de respaldo se vincule a una clase de almacenamiento definida por el usuario durante el respaldo.
En este artículo, se aborda la siguiente situación:
- Tiene dos clases de almacenamiento definidas en el clúster de Kubernetes. Por ejemplo:
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
- El espacio de nombres de la aplicación utiliza, por ejemplo, la primera clase de almacenamiento:
debjeet@irv-ppdm-sdr-140:~$ kubectl get pods,pvc -n exns
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
- Cuando inicia un trabajo de respaldo, Dell EMC PowerProtect Data Manager crea una reclamación de volumen persistente de instantánea de respaldo temporal que se monta en el módulo cProxy. Con esta acción, se transfiere la instantánea de respaldo al dispositivo PowerProtect. Esta reclamación de volumen persistente de instantánea de respaldo se vincula automáticamente a la clase de almacenamiento Reclamación de volumen persistente de origen.
debjeet@irv-ppdm-sdr-140:~$ kubectl get pods,pvc -n exns
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
- Debe tener la reclamación de volumen persistente de instantánea de respaldo temporal montada en una clase de almacenamiento diferente. Este requisito se puede deber a restricciones de clase de almacenamiento o políticas internas de la clase de almacenamiento de origen.
Siga los siguientes pasos:
- Cree un ConfigMap en el espacio de nombres de powerprotect con el nombre ppdm-snapshot-storage-class-mapping mediante el siguiente comando:
kubectl create cm ppdm-snapshot-storage-class-mapping -n powerprotect
- Edite ConfigMap mediante el siguiente comando:
kubectl edit cm ppdm-snapshot-storage-class-mapping -n powerprotect
- Se abre el editor. Agregue la sección data resaltada en negrita en el siguiente ejemplo de 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
- Proporcione la asignación entre Source Storage Class Name y Target Storage Class Name.
Si proporciona varias asignaciones en un único ConfigMap, en las siguientes situaciones se muestran los casos de uso soportados y no soportados:
- Situación no soportada: No puede asignar una clase de almacenamiento a dos clases de almacenamiento diferentes. Por ejemplo:
isilon-sc: unity-nfs
isilon-sc: vxflex-sc
- Situación soportada: Puede asignar diferentes clases de almacenamiento a una clase de almacenamiento.
unity-nfs: isilon-sc
vxflex-sc: isilon-sc
- Guarde ConfigMap. En el caso de la reclamación de volumen persistente de respaldo vinculada al nombre de clase de almacenamiento de origen que aparece en ConfigMap, la reclamación de volumen persistente de instantánea de respaldo se vincula al nombre de clase de almacenamiento de destino que se indica en ConfigMap.
Con el ejemplo anterior de ConfigMap, el nombre de clase de almacenamiento de origen es csi-hostpath-sc y el nombre de clase de almacenamiento de destino es debjeet-sc. Si una reclamación de volumen persistente en proceso de respaldo utiliza la clase de almacenamiento csi-hostpath-sc, su reclamación de volumen persistente de instantánea durante el respaldo ahora se vinculará a debjeet-sc.
debjeet@irv-ppdm-sdr-140:~$ kubectl get pods,pvc -n exns
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 debjeet-sc 56s