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=trueen 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=restoreavec 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
- Nutanix Recycle Bin to the rescue next.nutanix.com
- I accidentally deleted a VM next.nutanix.com
- Expérience directe de l’auteur, en production (versions ci-dessus)
