pcampos blogs

Posteando mis ideas para no olvidarlas

Hyper-v Backup Single Virtual Machine Respaldar una sola máquina

Hola a todos

Hoy voy a mostrar como respaldar una sola maquina virtual en caliente y no todo el volumen como lo hace Windows Server Backup, para esto utilizaremos el programa Diskshadow para generar un “snapshot” del Volumen donde residen nuestras maquinas virtuales, para después copiarlas a nuestro file server mediante el utilitario robocopy

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

Install this update to resolve an issue in which the Hyper-V Volume Shadow Copy Service (VSS) does not back up virtual machines properly

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

image

En mi caso de ejemplo las maquinas las tengo el el volumen D:\maquinas y expondré la unidad Q: como unidad de paso, el alias del volumen D: será MaquinasVirtuales
La maquina a respaldar se llama “Win 7 reload”

Ahora el archivo de texto que se pasa como parámetro al DiskShadow

diskshadow -s D:\RespaldaHypervDiskshadow.txt

--------------------------------------------RespaldaHypervDiskshadow.txt--------------------------------------------------
unexpose Q:
Delete Shadows all
set context persistent
set verbose on
add volume D: alias MaquinasVirtuales
create
Expose %MaquinasVirtuales% Q:
exec D:\HypervBK.bat
Delete Shadows all
unexpose Q:
Exit

----------------------------------------------------------------------------------------------------------------------------------

Después de exponer la unidad Q: extraeré las maquinas virtuales con el comando robocopy
----------------------------------------------HypervBK.bat----------------------------------------------------------------
robocopy "Q:\maquinas\Win 7 reload" \\MiServidordeArchivos\RespaldosVM\Respaldo7Reload  /E
verify >nul
-----------------------------------------------------------------------------------------------------------------------------

Después podemos generara una tarea programada del comando diskshadow con el parámetro -s D:\RespaldaHypervDiskshadow.txt a la hora que queramos

Posted: 8/9/2009 14:42 por Pablo | con 18 comment(s)
Archivado en:
Comparte este post:

Comentarios

Gonzalo Balladares R. ha opinado:

Hola Pablo.

Súper interesante el artículo, lo voy a probar hoy en mi oficina ;)

Saludos

Gonzalo

# September 23, 2009 11:36 PM

Jorge ha opinado:

Esto también funciona con WS2008R2?

# January 28, 2010 11:30 PM

Pablo ha opinado:

Si sin problemas ... Salu2

# January 29, 2010 6:39 PM

Ruben ha opinado:

Se podria adaptar esto para hacer un export en caliente?

Nos podrias indicar como?

Saludos.

# March 8, 2010 1:07 AM

Pablo ha opinado:

Hola Ruben

Tendrias que ya tener en otra maquina "HOST" una maquina con la misma configuracion que la maquina de origen.

Y tendrias que apuntar el robocopy a esa direccion

...

O hacer un export de la maquina "en frio" y despues solo reemplazar el disco duro VHD por el que respaldaste en caliente con este procedimiento

robocopy "Q:\maquinas\Win 7 reload" "\\MiServidorHyper-v\Maquinas\Win 7 reload"  /E

verify >nul

Prueba y me cuentas

salu2

# March 8, 2010 2:31 AM

Joe ha opinado:

Hola Pablo;

Gracias a tu ejemplo he podido realizar la copia de una sola maquina virtual pero... no he podido restaurarla.

Lo he intentado de varias formas pero no me lo permite. Podrias indicar el modo de resturar despues de utilizar este metodo de copia.

Muchas gracias y disculpa.

# April 29, 2010 6:13 PM

Pablo ha opinado:

Hola Joe

Recuerda que esto no es un Export de una maquina es solo copiar el disco duro VHD hacia otra ubicacion

Para tenerla de nuevo, solo debes crear una nueva maquina virtual y adjuntarle el/los Disco(s) VHDs que respaldaste

Saludos

Cualquier cosa .. no dudes en preguntar :)

# April 29, 2010 7:45 PM

Erik ha opinado:

Hola Pablo!!

¿este procedimiento funcionaria tambien si quiero hacer los respaldos en cintas magneticas?

o como podria especificar que almacene en la cinta magnetica si el windows server 2008 no me muestra la unidad en un explorador, pero si aparece instalada en el administrador de dispositivos.

# August 20, 2010 2:03 AM

Pablo ha opinado:

@Erik

mmm deberias usar el wbadmin ... es la herramienta de linea de comando del Windows Server backup y probar la opcion de addtarget

¿El Windows server backup, detecta la unidad de Cinta?

-addtarget

Specifies the storage location for backups. Requires you to specify a destination for backups as a disk identifier (see Remarks). The disk is formatted before use, and any existing data on it is permanently erased.

technet.microsoft.com/.../cc742130(WS.10).aspx

# August 20, 2010 10:53 PM

Fabian ha opinado:

Funciona de Maravillas, tengo agendado los miercoles y viernes, lastimosamente tengo algunas versiones de linux y windows Xp que se guardan mientras se inicia el snapshot.

Muchas gracias Pablo

# November 4, 2010 7:00 PM

Pablo ha opinado:

@Fabian

Las maquinas con linux, Siempre se guardaran ya que no tienen VSS

Con XP, algo te debe pasar.

1) Instalar los integration components

2) Que los discos de XP sean Básicos

3) Que la configuracion de la VM, tenga habilitado el backup en la opciones de integracion

# November 4, 2010 8:08 PM

Lucas ha opinado:

Pablo,

Excelente post! La unica duda que te queria consultar es sobre el siguiente escenario a ver si me lo podes aclarar.

Tengo dos servidores con Hyper-V (configurados identicamente) uno activo y el otro pasivo. Exporte la configuracion de las VMs al nodo pasivo. Posteriormente configure una tarea programada de modo que diariamente copie el vhd del nodo activo al pasivo. A modo informativo estas VMs tienen asignada la Mac address de manera estatica.

En caso de que el nodo activo falle quisiera levantar el nodo pasivo de manera manual pero el tema es que levanta la maquina virtual OK pero no tengo conecto conectividad de red, es decir, figura conectado a la red que yo quiero pero cuando quiero hacer ping al default gateway o a cualquier equipo me tira time out. Si vuelvo a encender la vm del nodo activo puedo hacer ping sin problemas. Tenes idea a que se debe este comportamiento?

Muchas gracias

Saludos.

# January 17, 2011 9:47 PM

Juan Sarabia ha opinado:

Hola,

He metido la tarea en un fichero .bat, y si lo ejecuto funciona perfectamente, pero si lo ejecuto desd el cobian backup, me lanza el siguiente error:

Microsoft DiskShadow versión 1.0

Copyright (C) 2007 Microsoft Corporation

En el equipo:  PCMVRT2,  15/02/2011 10:56:04

-> unexpose Q:

Error de la llamada de COM "(*vssObject)->InitializeForBackup".

¿A que puede ser debido esto? Esta solucion es la leche, sólo me falta este detalle para poder exportar el VHD a varios sitios, usando cobian programado.

Un saludo.

# February 15, 2011 10:59 AM

Pablo ha opinado:

@lucas

El problema que la tarjeta de red no es la misma que la del origen "ojo... no importa si la MAC es la misma o no", el problema es que son 2 tarjetas distintas... el exporta copia toda la información del HW

Solución

Primero realiza un export al nodo pasivo de tu maquina virtual, con vhds y todo

Y después con el bat solo sobrescribes los VHDs :)

@Juan

la primera linea de

unexpose Q:

es solo para asegurarme que ya no este montada la letra Q:

Puedes eliminar la primera linea sin ningún problema

Saludos y gracias por los comentarios

# February 15, 2011 2:00 PM

Noel Buezo ha opinado:

Funciona Excelente!,

Pero tuvimos algunos problemitas con el script, en la linea de:

unexpose Q:

La quitamos en la primera línea y funcionó, gracias!

# August 12, 2011 1:07 AM

carlos matias ha opinado:

hola quisiera saber porque cuando ejecuto el scritp

me dise que add no se reconose como  comando interno externo igual para delete create unexpose gracias

# August 22, 2011 10:36 PM

Efrain lopez ha opinado:

hola compañeros tengo problemas con en scritp

no me reconose ciertos comandos.

# August 22, 2011 10:40 PM

Pablo ha opinado:

@Efrain Cuales??

# September 6, 2011 8:21 PM