Restaurer une machine virtuelle à partir d'une sauvegarde
Cette section décrit comment restaurer une ou plusieurs machines virtuelles à partir d'une sauvegarde.
Prérequis
Pour effectuer une restauration à partir d'une sauvegarde, supposons que l'espace de noms dans lequel existait la machine virtuelle a été accidentellement supprimé.
Restaurer dans le même espace de noms
Pour restaurer à partir de la sauvegarde que nous venons de créer, nous devons créer une ressource personnalisée de restauration (CR). Nous devons lui fournir un nom, fournir le nom de la sauvegarde à partir de laquelle nous voulons restaurer et définir les PV de restauration sur true. Des paramètres supplémentaires peuvent être définis comme indiqué dans le "documentation". Cliquez sur le bouton Créer.
apiVersion: velero.io/v1 kind: Restore metadata: name: restore1 namespace: openshift-adp spec: backupName: backup1 restorePVs: true
Lorsque la phase affiche terminé, vous pouvez voir que les machines virtuelles ont été restaurées à l'état au moment où l'instantané a été pris. (Si la sauvegarde a été créée lors de l'exécution de la machine virtuelle, la restauration de la machine virtuelle à partir de la sauvegarde démarre la machine virtuelle restaurée et la met en état d'exécution). La machine virtuelle est restaurée dans le même espace de noms.
Restauration dans un autre espace de noms
Pour restaurer la machine virtuelle dans un espace de noms différent, vous pouvez fournir un espace de noms dans la définition yaml de la CR de restauration.
L'exemple de fichier yaml suivant crée une CR de restauration pour restaurer une machine virtuelle et ses disques dans l'espace de nom de démonstration des machines virtuelles lorsque la sauvegarde a été effectuée dans l'espace de noms des machines virtuelles.
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
Lorsque la phase affiche terminé, vous pouvez voir que les machines virtuelles ont été restaurées à l'état au moment où l'instantané a été pris. (Si la sauvegarde a été créée lors de l'exécution de la machine virtuelle, la restauration de la machine virtuelle à partir de la sauvegarde démarre la machine virtuelle restaurée et la met en état d'exécution). La machine virtuelle est restaurée dans un espace de noms différent, comme spécifié dans le yaml.
Restauration vers une autre classe de stockage
Velero fournit une capacité générique de modifier les ressources pendant la restauration en spécifiant des correctifs json. Les correctifs json sont appliqués aux ressources avant leur restauration. Les patches json sont spécifiés dans un configmap et le configmap est référencé dans la commande restore. Cette fonctionnalité vous permet de restaurer à l'aide d'une classe de stockage différente.
Dans l'exemple ci-dessous, la machine virtuelle, lors de la création, utilise ontap-nas comme classe de stockage pour ses disques. Une sauvegarde de la machine virtuelle nommée backup1 est créée.
Simulez une perte de la machine virtuelle en supprimant cette dernière.
Pour restaurer la machine virtuelle à l'aide d'une classe de stockage différente, par exemple, la classe de stockage ontap-nas-ECO, vous devez effectuer les deux étapes suivantes :
Étape 1
Créez un mappage de configuration (console) dans l'espace de noms openshift-adp comme suit :
Renseignez les détails comme indiqué dans la capture d'écran :
Sélectionnez namespace : openshift-adp
Name : change-Storage-class-config (peut être n'importe quel nom)
Clé : change-Storage-class-config.yaml :
Valeur :
version: v1 resourceModifierRules: - conditions: groupResource: persistentvolumeclaims resourceNameRegex: "^rhel*" namespaces: - virtual-machines-demo patches: - operation: replace path: "/spec/storageClassName" value: "ontap-nas-eco"
L'objet de mappage de configuration résultant doit ressembler à ceci (CLI) :
Cette carte de configuration applique la règle de modificateur de ressource lors de la création de la restauration. Un correctif sera appliqué pour remplacer le nom de classe de stockage par ontap-nas-eco pour toutes les demandes de volume persistant commençant par rhel.
Étape 2
Pour restaurer la machine virtuelle, utilisez la commande suivante depuis l'interface de ligne de commande Velero :
#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp
La machine virtuelle est restaurée dans le même namespace avec les disques créés à l'aide de la classe de stockage ontap-nas-eco.