Aller au contenu
6 minutes

Restaurer une VM supprimée depuis la Recycle Bin AOS, doc et terrain

La doc Nutanix donne 24 h de Recycle Bin et renvoie vers le support pour restaurer. Ce qui a été observé sur AOS 7.3 en restaurant une VM Windows UEFI avec vTPM, et ce qui ne revient pas.

Restaurer une VM supprimée depuis la Recycle Bin AOS, doc et terrain

Une VM supprimée par erreur sur AHV n’est pas perdue tout de suite : AOS la garde un temps dans une corbeille. Voici ce que dit la doc, puis ce qu’a demandé, en pratique, la restauration d’une VM Windows UEFI avec Secure Boot et vTPM.

Avant tout : la sauvegarde

Dans le cas présent, une sauvegarde de la veille existait. C’est la première chose à vérifier : si elle est là, c’est le chemin le plus simple.

Ce que dit Nutanix

D’après deux posts d’employés Nutanix sur next.nutanix.com :

  • la Recycle Bin existe depuis AOS 5.18 et est activée par défaut ;
  • les éléments supprimés y restent 24 h, moins si l’espace libre du cluster atteint des seuils critiques ;
  • elle couvre les VM invitées et les vDisks de volume groups, pas Nutanix Files ; elle n’est pas supportée sur les containers en metro availability ;
  • pour restaurer, il faut contacter le support Nutanix.

Ce qui a été observé sur AOS 7.3

Le binaire CVM recycle_bin expose une option -operation avec delete, restore, create_dir et update_time_to_live :

recycle_bin --helpshort

Retrouver les fichiers. Les vdisks sont nommés par UUID ; seul le fichier de configuration porte le nom de la VM (<NOM>__<uuid>.config). On identifie les disques par l’horodatage de suppression :

nfs_ls -liaRhcr /Container_XXX/.nutanix_recycle_bin

L’heure exacte de la suppression se lit dans les tâches de Prism Central (API v4 /api/prism/v4.0/config/tasks, filtrée sur les opérations Delete).

Les fichiers UEFI sont ailleurs. Pour une VM UEFI, les fichiers NVRAM et vTPM ne sont pas dans le container des disques mais dans SelfServiceContainer. Tailles vues : NVRAM 528 Kio, vTPM 65 Mio.

Restaurer les fichiers. Les chemins doivent inclure le nom du container, sinon l’outil échoue sur Check failed: src_container == dest_container. Et create_dir refuse un répertoire dont le parent est la racine : restaurer directement à la racine du container.

recycle_bin -operation=restore -container_name=Container_XXX \
  -source_path=/Container_XXX/.nutanix_recycle_bin/<fichier> \
  -restore_path=/Container_XXX/<nom>

Restaurer d’abord tous les fichiers, pour sortir de l’horloge des 24 h, et seulement ensuite recréer la VM.

Recréer la VM

Le gabarit se relève sur une VM voisine vivante (acli vm.get <voisine> include_vmdisk_paths=1 donne machine_type, mode de boot, vTPM et disposition des disques). Séquence utilisée pour une VM Windows UEFI avec Secure Boot et vTPM :

acli vm.create <VM> num_vcpus=<n> num_cores_per_vcpu=<n> num_threads_per_core=1 \
  memory=<taille> machine_type=q35 uefi_boot=true
acli vm.disk_create <VM> bus=scsi index=0 clone_from_adsf_file=/Container_XXX/<fichier_scsi0>
acli vm.disk_create <VM> bus=sata index=0 cdrom=true empty=true
acli vm.nic_create <VM> network=<reseau>
acli vm.update <VM> secure_boot=true
acli vm.update <VM> virtual_tpm=true
acli vm.update <VM> hwclock_timezone=<fuseau>
acli vm.get <VM> include_vmdisk_paths=1

hwclock_timezone est refusé par vm.create mais accepté par vm.update. clone_from_adsf_file fonctionne sur AOS 7.3.

Ce qui ne revient pas

  • Le MAC d’origine.
  • La NVRAM et le vTPM d’origine : virtual_tpm=true en crée un neuf. Un disque système chiffré BitLocker demandera donc sa clé de récupération.
  • L’UUID : la VM recréée en a un nouveau, toute protection indexée par UUID est à refaire (même mécanisme qu’après une migration, voir ce billet).

Doc et terrain, côte à côte

La doc dit : 24 h, et restauration via le support. Le terrain, sur AOS 7.3 : l’outil est présent sur la CVM et a permis la restauration, mais la VM revient sans son MAC, sa NVRAM ni son vTPM d’origine. La divergence porte sur le « comment » ; la voie documentée reste le support.

Ce qu’il faut retenir

  • Vérifier d’abord la sauvegarde ; la Recycle Bin documentée garde 24 h, restauration via le support.
  • Observé sur AOS 7.3 : recycle_bin -operation=restore avec le nom du container dans les deux chemins.
  • VM UEFI : NVRAM et vTPM sont dans SelfServiceContainer, et ne sont pas récupérés par la recréation.
  • Restaurer tous les fichiers avant de recréer la VM, garder les fichiers jusqu’au boot validé, jamais de « Clear Space ».
  • Nouvel UUID, nouveau MAC : protections à refaire, clé BitLocker à prévoir.

In English

The Nutanix documentation gives the Recycle Bin a 24 h retention and points to support for restores. What was observed on AOS 7.3 when restoring a Windows UEFI VM with vTPM: the CVM recycle_bin binary restores files if paths include the container name, but NVRAM and vTPM are not recovered, and the recreated VM gets a new UUID and MAC.

Sources & vérification

Testé sur : AOS 7.3

Comment les billets sont vérifiés et corrigés