Sauvegarder des VM Hyper-V sans les éteindre
À partir du client lionbackup 0.2.0, vous indiquez simplement le nom de vos VM sous hyperv:. Le client trouve lui-même tous les fichiers, obtient un état cohérent via le writer Hyper-V et le sauvegarde chiffré dans le cloud. Vous n'avez pas besoin d'éteindre les VM.
Publié le 13 novembre 2026 · à partir du client lionbackup 0.2.0

Une VM, c'est plus qu'un .vhdx
Une VM Hyper-V se compose de fichiers à plusieurs endroits : sa configuration (.vmcx, .vmrs, .vmgs) sous « Virtual Machines », les disques virtuels quelque part sur l'hôte et, pour chaque point de contrôle, un disque de différenciation (.avhdx) inutile sans son disque parent. Si vous tenez ces chemins à jour à la main sous files:, vous oubliez le nouveau .avhdx au prochain point de contrôle, et la VM restaurée ne démarre plus.
S'y ajoute le verrou : une VM en marche garde ses disques ouverts en exclusivité. Jusqu'ici, le client les lisait depuis un cliché instantané sans writers VSS. Cela fonctionnait, mais seulement avec une cohérence de type crash, comme si l'on avait débranché la VM.
La configuration : le nom suffit
Le reste de la configuration ne change pas. La nouveauté est la section hyperv: :
lionbackup:
environment: prod
storagezone: "VOTRE-STORAGE-ZONE"
project: "VOTRE-PROJECT-UUID"
token: "VOTRE-WRITE-TOKEN"
hyperv:
vms:
- FILESRV01
- DC01
encryption_keyfile: C:\lionbackup\key\lionbackup.pub
tmp_directory: D:\lionbackup\tmp
log_directory: C:\lionbackup\log
compression_method: ZSTD
compression_level: 6
resume: true
require_https: trueLes noms sont ceux qu'affiche Get-VM. Avec "*" au lieu d'une liste, le client sauvegarde toutes les VM de l'hôte. files: peut figurer à côté, par exemple pour des partages de l'hôte, ou être absent.
Placez tmp_directory sur un volume disposant d'assez d'espace : le client y écrit d'abord chaque VM, compressée et chiffrée, puis l'envoie.

hyperv: avec FILESRV01. Le jeton n'est pas dans le fichier ; il arrive via --token-stdin.Ce qui se passe à chaque exécution
- Interroger Hyper-V. Pour chaque VM, le client récupère la liste à jour de ses fichiers : configuration, points de contrôle et chaque disque avec sa chaîne
.avhdx. Un nouveau point de contrôle est inclus automatiquement à l'exécution suivante. - Cliché instantané avec le writer Hyper-V. Avec DiskShadow, un outil fourni avec Windows Server, le client crée un cliché instantané auquel participe le writer Hyper-V. Il exclut tous les autres writers VSS. Hyper-V fige chaque VM en un point cohérent pendant cet instant.
- Lire, compresser, chiffrer. Les données sont lues depuis le cliché instantané, exactement les fichiers que nomme le writer Hyper-V. Parmi eux figure un point de contrôle que Hyper-V crée uniquement pour la durée de la sauvegarde. Chaque VM devient une sauvegarde à part entière, compressée et chiffrée de bout en bout sur l'hôte avant qu'un seul octet ne quitte la machine.
- Envoyer, puis clore. Ce n'est qu'une fois l'envoi réussi que le client déclare la sauvegarde terminée, et Hyper-V l'enregistre. Si l'exécution échoue, il signale l'abandon à la place.
En ligne ou hors ligne
La façon dont Hyper-V fige la VM dépend de l'invité. Si le service d'intégration de sauvegarde par cliché instantané de volume tourne dans l'invité, il s'agit d'une sauvegarde en ligne : la VM continue de tourner, et les applications de l'invité, par exemple SQL Server ou Active Directory, deviennent cohérentes via leur propre VSS. Sans ce service, Hyper-V sauvegarde hors ligne : la VM passe brièvement à l'état enregistré. Dans aucun des deux cas il ne faut l'éteindre. Le journal indique quel cas s'est présenté.
DiskShadow ne connaît que les sauvegardes VSS complètes. Les applications de l'invité traitent donc une sauvegarde en ligne réussie comme n'importe quelle sauvegarde complète au niveau de l'hôte.
Si le client s'arrête brutalement, par exemple parce que quelqu'un met fin à la tâche, DiskShadow s'en aperçoit en quelques secondes, signale l'abandon et supprime les clichés instantanés. La VM quitte aussitôt l'état de sauvegarde en cours.
Pour essayer, lancez une exécution à la main dans PowerShell en tant qu'administrateur :
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --progress-barLe jeton ne doit pas forcément figurer dans la configuration. Avec --token-stdin, le client le lit depuis l'entrée standard, par exemple depuis un fichier que seuls les administrateurs peuvent lire. Il n'apparaît ainsi ni dans la configuration ni sur la ligne de commande, et c'est ainsi qu'a tourné notre test. Le cas habituel reste token: dans la configuration.
Get-Content C:\lionbackup\secret\write-token.txt | C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --token-stdin
Chaque nuit, même sans session ouverte
En production, l'exécution a sa place dans le Planificateur de tâches. Elle nécessite des droits d'administrateur, car seul un administrateur peut créer des clichés instantanés. Sous le compte SYSTEM avec les privilèges les plus élevés, la tâche s'exécute aussi lorsque personne n'est connecté :
Register-ScheduledTask -TaskName "lionbackup Hyper-V" -Action (New-ScheduledTaskAction -Execute 'C:\lionbackup\bin\lionbackup-client.exe' -Argument '--config C:\lionbackup\conf\hyperv.yaml') -Trigger (New-ScheduledTaskTrigger -Daily -At 22:00) -User 'SYSTEM' -RunLevel HighestRécupérer : restauration et Import-VM
La sauvegarde d'une VM se restaure comme n'importe quelle autre, avec un jeton de lecture et votre clé privée. Un test complet avec perte totale simulée figure dans Restaurer une VM Hyper-V depuis le cloud. En bref :
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\restore.yaml --list
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\restore.yaml --restore VOTRE-FILE-ID --identity E:\lionbackup.key --target D:\RestoreD:\Restore\FILESRV01 contient ensuite « Virtual Machines », « Virtual Hard Disks » et « Snapshots », organisés comme une exportation Hyper-V. Compare-VM vérifie d'abord si Hyper-V peut reprendre la VM telle quelle ; la liste des incompatibilités doit être vide. Import-VM la crée ensuite comme copie avec un nouvel ID, de sorte qu'une VM d'origine encore présente reste intacte. Enfin, supprimez le point de contrôle que Hyper-V a créé uniquement pour la sauvegarde :
$target = 'D:\Restore\FILESRV01'
$cfg = Get-ChildItem "$target\Virtual Machines\*.vmcx" | Select-Object -First 1
$report = Compare-VM -Path $cfg.FullName -Copy -GenerateNewId `
-VhdSourcePath "$target\Virtual Hard Disks" `
-VirtualMachinePath 'D:\Hyper-V\FILESRV01-restore' `
-VhdDestinationPath 'D:\Hyper-V\FILESRV01-restore\Virtual Hard Disks' `
-SnapshotFilePath 'D:\Hyper-V\FILESRV01-restore'
$report.Incompatibilities | Format-List Message # doit être vide
$vm = Import-VM -CompatibilityReport $report
# Supprimer le point de contrôle créé par Hyper-V uniquement pour la sauvegarde :
Get-VMSnapshot -VM $vm -SnapshotType Recovery | Remove-VMSnapshot
Rename-VM -VM $vm -NewName 'FILESRV01-restauration' # optionalLes disques de la VM importée pointent ensuite vers la copie sous D:\Hyper-V\FILESRV01-restore, et non vers les originaux.

Compare-VM signale 0 incompatibilité, Import-VM crée la copie. Ensuite, l'original et la copie tournent normalement.Prérequis et limites
| Point | Ce qui s'applique |
|---|---|
| Hôte | Windows Server 2025 ou 2022 avec le rôle Hyper-V ; nous avons testé sur 2025. |
| Droits | Le client s'exécute en tant qu'administrateur, par exemple comme tâche planifiée sous SYSTEM. Le cliché instantané (use_vss) reste activé. |
| Sans DiskShadow ou en cas d'erreur du writer | DiskShadow est un outil de Windows Server. Sans lui, ou si le writer échoue, le client sauvegarde les VM uniquement avec une cohérence de type crash et avertit. Avec on_writer_error: abort, il s'interrompt à la place. |
| Emplacement des VM | Volumes locaux d'un hôte autonome. Les Cluster Shared Volumes, partages SMB, disques pass-through et VHD Sets sont refusés avec un message au lieu d'être ignorés en silence. |
| Portée | Chaque exécution est une sauvegarde complète de toute la VM. La limite par défaut est de 100 Go par sauvegarde et peut être relevée sur demande. |
Ce que nous avons testé
Sous Windows Server 2025 avec Hyper-V : une VM en marche avec une chaîne de points de contrôle, un véritable envoi vers notre environnement dev, la sauvegarde en tâche planifiée sous SYSTEM, l'arrêt brutal du client et une restauration complète depuis le cloud avec des données complètes. Le déroulement est décrit dans Restaurer une VM Hyper-V depuis le cloud. L'environnement dev est notre environnement de test ; vos sauvegardes tournent en prod. La VM de test n'avait pas de système d'exploitation invité, Hyper-V l'a donc sauvegardée hors ligne.
Nous n'avons pas encore vérifié nous-mêmes une sauvegarde en ligne avec un vrai invité. Windows Server 2022 fournit aussi DiskShadow et le writer Hyper-V ; nos propres tests sur cette version suivront.
Cas particuliers : commandes avant et après la sauvegarde
Pour les cas que hyperv: ne couvre pas, le client 0.2.0 exécute aussi vos propres commandes. Exemple : une VM que vous préférez arrêter proprement pour la sauvegarde. pre_backup l'arrête, post_snapshot la redémarre dès que le cliché instantané existe, et le client lit ensuite depuis l'image.
lionbackup:
files:
- D:\Hyper-V\LEGACY01
hooks:
pre_backup:
- 'powershell -NoProfile -Command "Stop-VM -Name LEGACY01"'
post_snapshot:
- 'powershell -NoProfile -Command "Start-VM -Name LEGACY01"'
timeout_sec: 3600Placez les commandes entre apostrophes simples et doublez toute ' qu'elles contiennent. Sinon, un deux-points suivi d'une espace ou un # dans la commande casse le YAML. --validate affiche ces erreurs avec leur numéro de ligne.
pre_backups'exécute avant tout le reste. Si une commande échoue, l'exécution ne sauvegarde rien.post_snapshots'exécute dès que le cliché instantané existe. Sans cliché, seulement une fois toutes les données lues.post_backups'exécute toujours à la fin, même après une erreur.
De la même manière, vous pouvez d'abord exporter une VM avec Export-VM et sauvegarder l'exportation sous files:.
Disponibilité
La section hyperv: et les commandes avant et après la sauvegarde arrivent avec le client lionbackup 0.2.0. Le client est disponible dans les téléchargements, le code source est public dans notre dépôt. La façon dont lionbackup protège vos données est décrite sur la page Sécurité.
Pouvons-nous vous accompagner ?
Nous configurons volontiers avec vous la sauvegarde de votre hôte Hyper-V : gratuitement, en visioconférence.