Restaurar una máquina virtual a partir de una copia de seguridad en Red Hat OpenShift Virtualization con Velero
Restaure máquinas virtuales en OpenShift Virtualization utilizando Velero y la API de OpenShift para protección de datos (OADP). Este procedimiento incluye la creación de un recurso personalizado de restauración (CR) para recuperar máquinas virtuales y sus volúmenes persistentes a partir de copias de seguridad, con opciones para restaurar al espacio de nombres original, un espacio de nombres diferente o usar una clase de almacenamiento alternativa.
Prerrequisitos
Para restaurar desde una copia de seguridad, supongamos que el espacio de nombres donde existía la máquina virtual se eliminó accidentalmente.
Restaurar al mismo espacio de nombres
Para restaurar desde la copia de seguridad que acabamos de crear, necesitamos crear un recurso de restauración personalizado (CR). Necesitamos proporcionarle un nombre, proporcionar el nombre de la copia de seguridad que queremos restaurar y establecer restorePVs en verdadero. Se pueden configurar parámetros adicionales como se muestra en la"documentación" . Haga clic en el botón Crear.
apiVersion: velero.io/v1 kind: Restore metadata: name: restore1 namespace: openshift-adp spec: backupName: backup1 restorePVs: true
Cuando la fase se muestra completada, puede ver que las máquinas virtuales se han restaurado al estado en el que se tomó la instantánea. (Si la copia de seguridad se creó cuando la VM estaba en ejecución, restaurar la VM desde la copia de seguridad iniciará la VM restaurada y la llevará a un estado de ejecución). La VM se restaura al mismo espacio de nombres.
Restaurar a un espacio de nombres diferente
Para restaurar la máquina virtual a un espacio de nombres diferente, puede proporcionar un namespaceMapping en la definición yaml del CR de restauración.
El siguiente archivo yaml de muestra crea una CR de restauración para restaurar una VM y sus discos en el espacio de nombres virtual-machines-demo cuando la copia de seguridad se realizó al espacio de nombres virtual-machines.
apiVersion: velero.io/v1 kind: Restore metadata: name: restore-to-different-ns namespace: openshift-adp spec: backupName: backup restorePVs: true includedNamespaces: - virtual-machines-demo namespaceMapping: virtual-machines-demo: virtual-machines
Cuando la fase se muestra completada, puede ver que las máquinas virtuales se han restaurado al estado en el que se tomó la instantánea. (Si la copia de seguridad se creó cuando la VM estaba en ejecución, restaurar la VM desde la copia de seguridad iniciará la VM restaurada y la llevará a un estado de ejecución). La máquina virtual se restaura a un espacio de nombres diferente según lo especificado en el yaml.
Restaurar a una clase de almacenamiento diferente
Velero proporciona una capacidad genérica para modificar los recursos durante la restauración especificando parches json. Los parches json se aplican a los recursos antes de restaurarlos. Los parches json se especifican en un mapa de configuración y el mapa de configuración se referencia en el comando de restauración. Esta función le permite restaurar utilizando diferentes clases de almacenamiento.
En el siguiente ejemplo, la máquina virtual, durante la creación, utiliza ontap-nas como clase de almacenamiento para sus discos. Se crea una copia de seguridad de la máquina virtual denominada backup1.
Simular una pérdida de la VM eliminándola.
Para restaurar la máquina virtual utilizando una clase de almacenamiento diferente, por ejemplo, la clase de almacenamiento ontap-nas-eco, debe realizar los siguientes dos pasos:
Paso 1
Cree un mapa de configuración (consola) en el espacio de nombres openshift-adp de la siguiente manera: Complete los detalles como se muestra en la captura de pantalla: Seleccione el espacio de nombres: openshift-adp Nombre: change-storage-class-config (puede ser cualquier nombre) Clave: change-storage-class-config.yaml: Valor:
version: v1 resourceModifierRules: - conditions: groupResource: persistentvolumeclaims resourceNameRegex: "^rhel*" namespaces: - virtual-machines-demo patches: - operation: replace path: "/spec/storageClassName" value: "ontap-nas-eco"
El objeto de mapa de configuración resultante debería verse así (CLI):
Este mapa de configuración aplicará la regla de modificación de recursos cuando se cree la restauración. Se aplicará un parche para reemplazar el nombre de la clase de almacenamiento a ontap-nas-eco para todos los reclamos de volumen persistente que comiencen con rhel.
Paso 2
Para restaurar la máquina virtual, utilice el siguiente comando desde la CLI de Velero:
#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp
La VM se restaura en el mismo espacio de nombres con los discos creados utilizando la clase de almacenamiento ontap-nas-eco.