Hacer BackUp de maquinas virtuales

Backup de una sola Maquina Virtual de Hyper-V

 

Problema:

Necesito respaldar una sola maquina virtual, pero, en caliente.

Windows Server Backup puede hacer un backup de «todo» el volumen, pero eso no nos interesa. 

En mi caso:

  • Las maquinas las tengo el el volumen E:\VM
  • La maquina a respaldar se llama Siete
  • Los script y los tengo (los tendré) en C:\BackUpVM

Solución:

Utilizaremos el programa Diskshadow para generar un “snapshot” del Volumen donde residen nuestras maquinas virtuales. Una vez hecho el snapshot, las copiaremos a nuestro servidor mediante robocopy

Requisitos

Primero que todo tenemos que ver si nuestro Hyper-V host tiene bien configurado el Volumen Shadow Copy Service, si no así instalar el siguiente parche

Para comprobarlo, ejecutamos en una consola con privilegios elevados

vssadmin list writers

 Deberíamos encontrar algo así

——————————————————————

 Nombre de editor: ‘Microsoft Hyper-V VSS Writer’

Id. de editor: {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
Id. de instancia de editor: {0e0b1c16-02f9-45c5-b51d-1d711c5e88ea}
Estado: [5] Esperando finalización
Último error: Sin errores

————————————————————-


Procedimiento

  • Creamos un snapshot
  • Crearemos un unidad Q: temporal como unidad de paso, el alias del volumen D: será Shadow_VM
  • Copiaremos la Maquina virtual entera a una carpeta. (con robocopy)
  • borramos los snapshot
  • borramos la unidad temporal.

Como es una tarea que automatizaremos, iremos guardando los comandos en un .bat:

diskshadow -s D:\BackUpVMshadow.txt

 

———-BackUpVMshadow.txt————
unexpose Q:
delete shadows all
set context persistent
set verbose on
add volume E: alias Shadow_VM
create
expose %Shadow_VM% Q:
exec D:\HypervBK.bat
delete shadows all
unexpose Q:
exit

————————————————-

———————–HypervBK.bat——————————————————————–

robocopy «Q:\VM\Siete» \\servidordearchivos\RespaldosVM\RespaldoSeven *.* /E verify >nul

————————————————————————————————————–

Por último podemos automatizarlo con una tarea programada (ejemplo RespaldaHyperv.bat) que contenga el comando Diskshadow -s

——————RespaldaHyperv.bat———————-

rem Ejecutamos el script para el diskshadow
rem Esto puede tardar bastante tiempo……
diskshadow -s 
BackUpVMshadow.txt

———————————————————————

Ejecución:

Cuando tenemos varias VM modificando unicamente el HypervBK.bat podemos elegir que maquina respaldar y en que ubicación.
SL2