Copia de seguridad de VM Hyper-V sin apagarlas
A partir del cliente lionbackup 0.2.0 solo indica los nombres de sus VM en hyperv:. El cliente encuentra por sí mismo todos los archivos, obtiene un estado coherente a través del writer de Hyper-V y lo guarda cifrado en la nube. No tiene que apagar las VM.
Publicado el 13 de noviembre de 2026 · desde el cliente lionbackup 0.2.0

Una VM es más que un .vhdx
Una VM de Hyper-V se compone de archivos en varios lugares: la configuración (.vmcx, .vmrs, .vmgs) en “Virtual Machines”, los discos virtuales en algún lugar del host y, por cada punto de control, un disco diferencial (.avhdx) que sin su disco primario no sirve de nada. Si mantiene estas rutas a mano en files:, en el siguiente punto de control olvidará el nuevo .avhdx y la VM restaurada ya no arrancará.
A ello se suma el bloqueo: una VM en ejecución mantiene sus discos abiertos en exclusiva. Hasta ahora el cliente los leía de una instantánea sin writers VSS. Funcionaba, pero solo con coherencia ante bloqueos, como si alguien hubiera desenchufado la VM.
La configuración: basta con el nombre
El resto de la configuración no cambia. La novedad es la sección hyperv::
lionbackup:
environment: prod
storagezone: "SU-STORAGE-ZONE"
project: "SU-PROJECT-UUID"
token: "SU-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: trueLos nombres son los que muestra Get-VM. Con "*" en lugar de una lista, el cliente guarda todas las VM del host. files: puede figurar al lado, por ejemplo para recursos compartidos del host, o no aparecer.
Coloque tmp_directory en un volumen con espacio suficiente: el cliente escribe allí primero cada VM, comprimida y cifrada, y después la sube.

hyperv: con FILESRV01. El token no está en el archivo; llega mediante --token-stdin.Qué ocurre en cada ejecución
- Consultar a Hyper-V. Para cada VM, el cliente obtiene la lista actual de sus archivos: configuración, puntos de control y cada disco con su cadena
.avhdx. Un nuevo punto de control se incluye solo en la siguiente ejecución. - Instantánea con el writer de Hyper-V. Con DiskShadow, una herramienta incluida en Windows Server, el cliente crea una instantánea en la que participa el writer de Hyper-V. Excluye todos los demás writers VSS. Hyper-V fija cada VM en un punto coherente durante ese momento.
- Leer, comprimir, cifrar. Los datos se leen de la instantánea: exactamente los archivos que indica el writer de Hyper-V. Entre ellos hay un punto de control que Hyper-V crea solo mientras dura la copia. Cada VM se convierte en una copia de seguridad propia, comprimida y cifrada de extremo a extremo en el host antes de que un solo byte salga de la máquina.
- Subir y después cerrar. Solo cuando la subida ha salido bien, el cliente da la copia por completada y Hyper-V la registra. Si la ejecución falla, notifica en su lugar la cancelación.
En línea o sin conexión
Cómo fija Hyper-V la VM depende del sistema invitado. Si en el invitado funciona el servicio de integración de copia de seguridad mediante instantánea de volumen, se trata de una copia en línea: la VM sigue funcionando y las aplicaciones del invitado, por ejemplo SQL Server o Active Directory, quedan coherentes mediante su propio VSS. Sin ese servicio, Hyper-V hace la copia sin conexión: la VM pasa brevemente a estado guardado. En ninguno de los dos casos hay que apagarla. El registro indica qué caso se dio.
DiskShadow solo conoce copias VSS completas. Por eso, las aplicaciones del invitado tratan una copia en línea correcta como cualquier copia completa a nivel de host.
Si el cliente se interrumpe bruscamente, por ejemplo porque alguien finaliza la tarea, DiskShadow lo detecta en segundos, notifica la cancelación y elimina las instantáneas. La VM sale de inmediato del estado de copia de seguridad en curso.
Para probarlo, inicie una ejecución a mano en PowerShell como administrador:
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --progress-barEl token no tiene por qué estar en la configuración. Con --token-stdin el cliente lo lee de la entrada estándar, por ejemplo de un archivo que solo los administradores pueden leer. Así no aparece ni en la configuración ni en la línea de comandos, y así se hizo nuestra prueba. Lo habitual sigue siendo token: en la configuración.
Get-Content C:\lionbackup\secret\write-token.txt | C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --token-stdin
Cada noche, incluso sin sesión iniciada
En producción, la ejecución pertenece al Programador de tareas. Necesita derechos de administrador, porque solo un administrador puede crear instantáneas. Con la cuenta SYSTEM y los privilegios más altos, la tarea se ejecuta también cuando nadie ha iniciado sesión:
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 HighestRecuperar: restauración e Import-VM
La copia de seguridad de una VM se restaura como cualquier otra, con un token de lectura y su clave privada. Una prueba completa con pérdida total simulada está en Restaurar una VM Hyper-V desde la nube. En resumen:
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 SU-FILE-ID --identity E:\lionbackup.key --target D:\RestoreEn D:\Restore\FILESRV01 encontrará después “Virtual Machines”, “Virtual Hard Disks” y “Snapshots”, organizados como una exportación de Hyper-V. Compare-VM comprueba primero si Hyper-V puede adoptar la VM tal cual; la lista de incompatibilidades debería estar vacía. Import-VM la crea después como copia con un ID nuevo, de modo que una VM original que aún exista queda intacta. Por último, elimine el punto de control que Hyper-V creó solo para la copia:
$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 # debería estar vacío
$vm = Import-VM -CompatibilityReport $report
# Eliminar el punto de control que Hyper-V creó solo para la copia:
Get-VMSnapshot -VM $vm -SnapshotType Recovery | Remove-VMSnapshot
Rename-VM -VM $vm -NewName 'FILESRV01-restaurado' # optionalLos discos de la VM importada apuntan después a la copia en D:\Hyper-V\FILESRV01-restore, no a los originales.

Compare-VM informa de 0 incompatibilidades, Import-VM crea la copia. Después, el original y la copia funcionan con normalidad.Requisitos y límites
| Aspecto | Qué se aplica |
|---|---|
| Host | Windows Server 2025 o 2022 con el rol Hyper-V; hemos probado en 2025. |
| Derechos | El cliente se ejecuta como administrador, por ejemplo como tarea programada con la cuenta SYSTEM. La instantánea (use_vss) sigue activada. |
| Sin DiskShadow o con error del writer | DiskShadow es una herramienta de Windows Server. Sin ella, o si el writer falla, el cliente copia las VM solo con coherencia ante bloqueos y avisa. Con on_writer_error: abort se cancela en su lugar. |
| Ubicación de las VM | Volúmenes locales de un host independiente. Cluster Shared Volumes, recursos compartidos SMB, discos de paso y VHD Sets se rechazan con un mensaje en lugar de omitirse en silencio. |
| Alcance | Cada ejecución es una copia completa de toda la VM. El límite predeterminado es de 100 GB por copia y puede ampliarse bajo petición. |
Qué hemos probado
En Windows Server 2025 con Hyper-V: una VM en ejecución con una cadena de puntos de control, una subida real a nuestro entorno dev, la copia como tarea programada con la cuenta SYSTEM, la interrupción brusca del cliente y una restauración completa desde la nube con los datos completos. Cómo fue lo muestra el artículo Restaurar una VM Hyper-V desde la nube. El entorno dev es nuestro entorno de pruebas; sus copias se ejecutan en prod. La VM de prueba no tenía sistema operativo invitado, así que Hyper-V la copió sin conexión.
Todavía no hemos comprobado por nuestra cuenta una copia en línea con un invitado real. Windows Server 2022 también incluye DiskShadow y el writer de Hyper-V; nuestras propias pruebas allí llegarán más adelante.
Casos especiales: comandos antes y después de la copia
Para los casos que hyperv: no cubre, el cliente 0.2.0 también ejecuta comandos propios. Un ejemplo es una VM que prefiere apagar de forma ordenada para la copia: pre_backup la apaga, post_snapshot la vuelve a iniciar en cuanto existe la instantánea, y el cliente lee después de la imagen.
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: 3600Escriba los comandos entre comillas simples y duplique cualquier ' que contengan. De lo contrario, dos puntos seguidos de un espacio o un # en el comando rompen el YAML. --validate muestra estos errores con su número de línea.
pre_backupse ejecuta antes que todo lo demás. Si un comando falla, la ejecución no guarda nada.post_snapshotse ejecuta en cuanto existe la instantánea. Sin instantánea, solo cuando se han leído todos los datos.post_backupse ejecuta siempre al final, incluso tras un error.
Del mismo modo puede exportar antes una VM con Export-VM y guardar la exportación en files:.
Disponibilidad
La sección hyperv: y los comandos antes y después de la copia llegan con el cliente lionbackup 0.2.0. El cliente está en Descargas y el código fuente es público en nuestro repositorio. Cómo protege lionbackup sus datos lo encontrará en la página de seguridad.
¿Podemos apoyarle?
Configuramos con gusto junto con usted la copia de seguridad de su host Hyper-V: gratis y por videollamada.