Procédure Pour: administrateurs, développeurs

Restaurer une machine virtuelle

Restaurer un point de sauvegarde vers une nouvelle machine virtuelle ou la même, et la vérifier sur un réseau de quarantaine, à la demande ou chaque nuit.

Une restauration réécrit le contenu d'un point de sauvegarde sur disque, dans une nouvelle machine virtuelle ou dans la même. Kyvernon restaure les points de sauvegarde qu'il a pris lui-même, ainsi que les disques qu'un logiciel de sauvegarde écrit par l'API de session. Il peut ensuite démarrer la machine restaurée sur un réseau sans sortie et enregistrer si elle a démarré. Les concepts sont dans Concepts de la sauvegarde.

Vous avez besoin des privilèges ci-dessus, plus l'accès en lecture à la machine virtuelle. Une vérification demande un réseau de quarantaine, que la première section crée.

Dans la console

Créer un réseau de quarantaine

Un réseau de quarantaine est un réseau sur pont d'hôte sans liaison montante, sans passerelle et sans DNS. Les invités qui s'y trouvent n'atteignent que les autres invités et le répondeur DHCP de l'agent d'hôte.

  1. Dans l'inventaire, sélectionnez le datacenter et sélectionnez Nouveau réseau.

    Boîte de dialogue Nouveau réseau avec le VLAN, le pont d'hôte et les adresses (Agrandir)
  2. Renseignez le réseau comme pour tout réseau sur pont d'hôte et sélectionnez Réseau de quarantaine (sans liaison montante, sans passerelle, sans DNS). Le champ de passerelle de la boîte de dialogue sert alors d'identifiant de serveur DHCP, et aucun serveur DNS n'est envoyé. Utilisez une adresse du sous-réseau que rien d'autre n'utilise.
  3. Sélectionnez Créer.

Restaurer un point de sauvegarde

  1. Dans l'inventaire, sélectionnez la machine virtuelle et ouvrez l'onglet Sauvegarde.
  2. Sélectionnez Restaurer sur la ligne du point.

    Onglet Sauvegarde d'une machine virtuelle avec les points de sauvegarde (Agrandir)
  3. Sous Restaurer vers, choisissez Une nouvelle machine virtuelle pour laisser l'original intact, ou La même machine virtuelle, sur place pour remplacer ses disques.
  4. Pour une nouvelle machine, saisissez Nom de la nouvelle machine virtuelle et choisissez Dossier et Datastore.
  5. Pour vérifier la nouvelle machine dans la même étape, cochez Vérifier la machine restaurée sur un réseau de quarantaine et renseignez les champs décrits plus bas dans la vérification.
  6. Pour une restauration sur place, la machine virtuelle doit être hors tension. Les disques sont remplacés par le contenu du point et les modifications faites depuis sont perdues. Saisissez le nom de la machine virtuelle pour confirmer.
  7. Sélectionnez Restaurer. La tâche est dans Tâches. Après une restauration vers une nouvelle machine, la console l'ouvre.

Une restauration sur place remplace les disques de la machine virtuelle qui ont les mêmes clés de périphérique que les disques du point. En cas d'échec, les anciens disques sont remis en place. Après une restauration réussie, les images de disque remplacées sont supprimées de l'hôte.

Le disque restauré démarre une nouvelle période de suivi : la sauvegarde suivante de la machine virtuelle est donc complète.

Vérifier une machine virtuelle restaurée

Une vérification met la machine virtuelle sous tension dans le réseau de quarantaine. Elle réussit lorsque tout ceci est vrai avant le délai : la machine virtuelle s'exécute et sa console série affiche un marqueur de système d'exploitation, le répondeur DHCP de l'agent d'hôte a envoyé un accusé de réception à l'une de ses cartes réseau et, si vous indiquez des ports, une connexion TCP de l'hôte vers chaque port réussit. Chaque carte réseau de la machine virtuelle doit être sur le réseau de quarantaine.

  1. Ouvrez l'onglet Sauvegarde de la machine virtuelle restaurée et sélectionnez Vérifier sur un réseau de quarantaine.

    Boîte de dialogue de vérification avec le réseau de quarantaine et les ports à contrôler (Agrandir)
  2. Choisissez Réseau de quarantaine. Sans réseau de quarantaine, la boîte de dialogue affiche Il n’y a aucun réseau de quarantaine.
  3. Saisissez Ports TCP à vérifier, séparés par des virgules, ou laissez vide pour ne vérifier aucun port. Saisissez Délai maximal (secondes) : 300 secondes par défaut, de 1 à 3600.
  4. Cochez Supprimer la machine après le résultat pour supprimer la machine virtuelle après le verdict ; sinon elle reste, hors tension.
  5. Sélectionnez Lancer la vérification. La boîte de dialogue suit la vérification jusqu'au verdict. Une seconde demande pendant qu'une vérification s'exécute est refusée avec backup.verify.already_running.

La carte Dernière vérification de restauration affiche l'état (En cours, Réussie ou Échec), la raison d'un échec et les preuves : Réseau, Démarrage, Système d’exploitation, Adresse, Ports TCP et Durée.

RaisonSignification
backup.verify.boot_timeoutLa machine virtuelle n'a pas atteint l'état en cours d'exécution à temps.
backup.verify.no_os_markerLa console n'a montré aucun signe de système d'exploitation.
backup.verify.no_leaseLa machine virtuelle n'a obtenu aucune adresse.
backup.verify.no_tcpUn port TCP n'a pas répondu.
backup.verify.transportLe disque restauré n'a pas pu être atteint depuis cet hôte.

Chaque verdict est aussi enregistré comme événement de la machine virtuelle, comme enregistrement d'audit et dans le champ personnalisé backup.verified de la machine virtuelle source, par exemple passed;runAt=1793000000. Lorsqu'une restauration vérifie le point en quarantaine, une machine virtuelle distincte est créée à partir du point sur le réseau de quarantaine et jugée comme décrit ici ; la machine virtuelle restaurée elle-même n'est pas déplacée. Si la vérification échoue, la tâche de restauration échoue avec error.backup.verify_failed et la machine virtuelle restaurée reste en place.

Vérifier chaque nuit

Le contrôleur peut exécuter la vérification pour chaque machine virtuelle qui porte le champ personnalisé backup.verify avec la valeur true. Il restaure la sauvegarde stockée la plus récente de chacune dans une nouvelle machine virtuelle sur le réseau de quarantaine, la juge et enregistre le verdict. Les sauvegardes stockées doivent se trouver dans un répertoire où le contrôleur les trouve : <root>/<instance uuid>/<session id>/manifest.json avec une image brute disk-<deviceKey>.raw par disque, chacune aussi grande que le disque. Les points que le contrôleur prend lui-même sont stockés selon cette organisation. Un logiciel de sauvegarde qui conserve son dépôt ailleurs y assemble d'abord l'image.

  1. Sur la page Sauvegarde, ouvrez l'onglet Paramètres.

    Paramètres de sauvegarde (Agrandir)
  2. Saisissez Dépôt de sauvegarde, le dossier du contrôleur où les sauvegardes stockées se trouvent.
  3. Sous Vérification des restaurations, saisissez Vérification nocturne : une heure du jour en UTC comme 02:30, ou un intervalle comme 6h. Vide : aucune tâche nocturne.
  4. Choisissez Réseau de quarantaine, saisissez Délai maximal (secondes) et, si besoin, Datastore pour les disques restaurés. Vide : le premier datastore utilisable. Cochez Supprimer la machine après le résultat comme ci-dessus.
  5. Sélectionnez Enregistrer.
  6. Pour exécuter la tâche maintenant, ouvrez l'onglet Vérification et sélectionnez Lancer la vérification maintenant. Elle s'exécute en arrière-plan.

    Vérification de la restauration sur un réseau de quarantaine (Agrandir)

Le tableau liste la dernière exécution de chaque machine virtuelle avec Résultat et Motif ; sélectionnez Afficher pour voir les preuves. La note Marquées pour vérification et jamais vérifiées : sous le tableau nomme les machines virtuelles marquées qui n'ont jamais été vérifiées. La vue d'ensemble affiche les totaux Réussie, Échec et Jamais vérifiée.

Limites

  • Un segment de quarantaine par hôte ; il n'y a pas de vérification entre hôtes.
  • Dans cette version, le contrôleur doit s'exécuter sur l'hôte de la machine virtuelle restaurée : les images sont écrites par un socket local et les exports distants sont refusés avec backup.verify.transport.
  • Un contrôle plus profond qu'une connexion TCP, comme une poignée de main de base de données, demande un agent dans l'invité et relève du logiciel de sauvegarde.
  • La tâche nocturne ne contrôle pas les ports TCP ; utilisez la vérification d'une machine virtuelle lorsque vous avez besoin d'une preuve TCP.

Automatisation

Restaurer un point de sauvegarde

Un point de sauvegarde pris par le contrôleur (voir Sauvegarder une machine virtuelle) se restaure par une seule demande, comme le fait la console.

Avec la CLI

Shell
kyvernon backup restore-point <id> --name web-01-restored --datastore ds-local-01 --power-on --wait
kyvernon backup restore-point <id> --in-place --wait
kyvernon backup restore-point <id> --verify-network restore-quarantine --wait

--in-place choisit le mode sur place ; sans lui, la restauration crée une nouvelle machine virtuelle. --name, --datastore et --power-on s'appliquent à une nouvelle machine virtuelle. --wait attend la fin de la tâche.

Avec l'API

POST /v1/backup/points/{id}/restore accepte un mode :

  • new, par défaut, crée une nouvelle machine virtuelle à partir du point. Les champs sont name, folderId, datastoreId, hostId et powerOn. La tâche est VirtualMachine.restoreBackup.
  • in-place restaure sur la machine virtuelle d'origine. La tâche est VirtualMachine.restoreBackupInPlace. La machine virtuelle doit être hors tension ; sinon la demande échoue avec error.backup.vm_powered_on. Elle exige VirtualMachine.Config.AddNewDisk et VirtualMachine.Config.RemoveDisk sur la machine virtuelle. Les disques du point remplacent les disques de la machine virtuelle qui ont les mêmes clés de périphérique. En cas d'échec, les anciens disques sont remis en place. Après une restauration réussie, les images de disque remplacées sont supprimées de l'hôte.

L'objet facultatif verify contient network, timeoutSeconds, destroy, serialMarkers et tcpPorts. Il exige Global.Settings. Après la restauration, le contrôleur vérifie le point en quarantaine. Si la vérification échoue, la tâche échoue avec error.backup.verify_failed et la machine virtuelle restaurée reste en place.

Restaurer un disque

Une restauration par l'API de session écrit une image de disque complète dans un nouveau disque d'une machine virtuelle. Le logiciel de sauvegarde lit son propre dépôt et écrit l'image par un export accessible en écriture. C'est le seul moyen de restaurer un disque dans une machine virtuelle existante ; la console restaure vers une nouvelle machine virtuelle ou sur place.

Créez la machine virtuelle cible, ou utilisez-en une hors tension ; son UUID d'instance l'identifie.

Avec la CLI

Démarrez la restauration. capacity est la taille du disque en octets, pool le datastore du nouveau disque et deviceKey la clé que le disque reçoit dans la machine virtuelle :

Shell
kyvernon backup restores begin --body '{
  "vmId": "9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42",
  "deviceKey": 2000,
  "capacity": 107374182400,
  "pool": "ds-local-01",
  "thin": true
}'

La réponse contient un export accessible en écriture, avec les mêmes règles de transport qu'un export de sauvegarde. Écrivez-y l'image, puis validez le disque, ou abandonnez-le si la copie a échoué :

Shell
kyvernon backup restores finish 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 2000
kyvernon backup restores finish 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 2000 --discard

Vérifiez la machine virtuelle restaurée et lisez le résultat. --destroy supprime la machine virtuelle après le verdict ; sans cette option, la machine virtuelle reste hors tension :

Shell
kyvernon backup restores verify 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42 \
  --network restore-quarantine --timeout 300 --destroy
kyvernon backup restores get 9b2d4a3e-51c8-4f06-8d75-3e1a6c0b7f42

restores get affiche l'état (running, passed ou failed), la raison d'un échec et les preuves : sortie de la console, l'adresse attribuée et les résultats des ports. Pour vérifier dans la même requête que la restauration, placez verify avec les mêmes champs dans le corps de begin du dernier disque ; la vérification démarre lorsque ce disque est validé.

Exécutez la tâche nocturne maintenant et lisez le rapport, qui liste la dernière exécution par machine virtuelle et les machines virtuelles marquées qui n'ont jamais été vérifiées. L'exécution demande le privilège Global.Settings :

Shell
kyvernon backup verification run
kyvernon backup verification report

Avec l'API

Les appels ci-dessous restaurent dans un disque et vérifient le résultat.

ÉtapeRequête
Démarrer une restaurationPOST /v1/backup/restores avec vmId, deviceKey, capacity, pool, thin et, en option, verify
TerminerPOST /v1/backup/restores/{vmId}/disks/{deviceKey}/finish avec {"commit": true} ou false
VérifierPOST /v1/backup/restores/{vmId}/verify avec network, timeoutSeconds, destroy, serialMarkers et tcpPorts
Lire une vérificationGET /v1/backup/restores/{vmId}
Exécuter la tâche nocturnePOST /v1/backup/verification/run
Dernière exécution par machine virtuelleGET /v1/backup/verification
Créer un réseau de quarantainePOST /v1/networks avec backing.quarantine: true et backing.ipv4 avec un identifiant de serveur DHCP, sans gateway ni dnsServers

Le contrôleur publie aussi kyvernon_backup_verification_ok{vm}, kyvernon_backup_verification_last_run_timestamp_seconds{vm} et kyvernon_backup_verification_duration_milliseconds{vm} sur /metrics.

Version 0.1. Dernière modification : 2026-11-14