Hyper-V 2012 R2, Migración en vivo (Live Migration)

Con el lanzamiento de Windows Server 2012 se ha incluido esta característica en Hyper-V, nos permite migrar una máquina virtual en funcionamiento (online) de un host a otro, sin almacenamiento compartido ni en cluster, lo cual solo podía hacerse con System Center Virtual Machine Manager. A demás con la salida de Windows Server 2012 R2 se ha mejorado este proceso permitiendo hacer esta migración por SMB.

Algo importante a tener en cuenta es que podemos hacer un live migration de un Windows Server 2012 a otro 2012, de 2012 R2 a otro 2012 R2, de un 2012 a un 2012 R2 pero no de un 2012 R2 a un 2012. Os recomiendo que deshabilitéis el firewall, posteriormente podemos activarlo y configurarlo correctamente.

En el apartado de Migraciones en vivo en la Configuración de Hyper-V del hots podremos habilitar la migración en vivo, seleccionar cuantas migraciones simultaneas se puede realizar y configurar para usar una red específica para las migraciones, muy recomendable esto.

Y ahora viene lo realmente interesante, si pinchamos en “Características avanzadas” podremos configurar 2 partes, la autenticación y el rendimiento. Es importante que todos los servidores entre los que se vayan a hacer las migraciones estén configurados igual.

Protocolo de autenticación
CredSSP, es un proveedor de servicios de seguridad (SSP) que
permite a un programa delegar credenciales de usuario del equipo cliente al servidor de destino, o lo que es lo mismo usar las credenciales de un equipo sobre otro (+ info). Con esta opción el usuario usado debe de tener permisos en ambos Host.
Kerberos, permite a dos ordenadores en una red demostrar su identidad mutuamente de manera segura. Esta opción es mas segura ya que vamos a especificar en cada host en quien debe de “fiarse” para el live migration. Para esta opción deberemos de hacer una configuración específica en los Host, usaremos para esta prueba los Host HV2012R2-1 y HV2012R2-2.

Sobre la consola de “Usuarios y equipos de Active directory” buscamos los Host de Hyper-V pinchamos con el botón derecho sobre uno de los host (en este ejemplo es el HV2012R2-1) y seleccionamos propiedades.

Sobre la pestaña Delegación, marcamos la opción “Confiar en este equipo para la delegación solo a los servicios especificados”, marcamos “Usar solamente kerberos” y pinchamos en agregar.

Pinchamos en usuarios o equipos, buscamos y seleccionamos el servidor contrario (en este ejemplo el HV2012R2-2) y seleccionamos los servicios cifs y Microsoft Virtual System Migration Service. La pestaña de Delegación nos quedaría así. Aceptamos

Ahora tendremos que hacer el mismo proceso en el servidor controario (HV2012R2-2) y conceder permisos al HV2012R2-1.

Ahora ya tenemos todo configurado. Si migramos una máquina virtual del HV2012R2-2 al HV2012R2-1 veremos que nos deja, mas adelante en este mismo post mostrare paso a paso como se realiza esto.

Si no hemos realizado correctamente la configuración de la delegación nos saldrá e siguiente error 0x8009030E.

Opciones de rendimiento
Ahora vamos a configurar la compresión/tipo de conexión, tenemos 3 opciones:
TCP/IP, se usa la conexión TCP/IP para migrar la máquina, no usa compresión.
Compresión, usa la conexión TCP/IP pero comprime los datos que se envían.
SMB, como ya puse antes esta opción es nueva en Windows Server 2012 R2. Usa una conexión SMB directo, para ello se debe de habilitar RDMA (Remote Direct Memory Access) en la tarjeta de red donde se vaya a usar (+ info).

-Para activar RDMA en una tarjeta de red:
Enable-NetAdapterRDMA <nombre tarjeta de red>
-Para activarlo en todas las tarjetas de red:
Set-NetOffloadGlobalSetting -NetworkDirect Enabled
-Para desactivar RDMA en una tarjeta de red:
Disable-NetAdapterRDMA <nombre tarjeta de red>
-Para activarlo en todas las tarjetas de red:
Set-NetOffloadGlobalSetting -NetworkDirect Disabled

He buscado por internet y he encontrado una comparativa de tiempos de cada opción de rendimiendo en esta web http://goo.gl/u8j2xl. Podemos ver que la opción de SMB es muy superior a los demás.

Migración en vivo (Live Migration)
Bueno, manos a la masa. Vamos a hacer una migración de la máquina virtual Win8.1-1 que está en el Host HV2012R2-2 al Host HV2012R2-1. Pinchamos con el botón derecho sobre la máquina virtual y seleccionamos Mover.

Siguiente.

En esta opción podemos mover solo el almacenamiento a otra ruta del mismo servidor o a un almacenamiento compartido o mover la máquina. Seleccionamos mover la máquina virtual.

Seleccionamos el servidor de destino.

Seleccionamos mover los datos de la máquina virtual a una sola ubicación. Despues veremos el resto de opciones. Siguiente

Seleccionamos donde vamos a mover la máquina, yo he creado una carpeta para ello.

Vemos el resumen y finalizamos.

Empezará a mover la máquina.

En la consola de Hyper-V podemos ver el estado.

He realizado un PING continuo a la máquina virtual supuestamente no debería de haber interrupción, pero si hubo. Hay que tener en cuenta que esto un laboratorio bastante básico, estoy virtualizando sobre un sistema virtualizado (Hyper-V sobre VMware), con lo que no son las mejores condiciones. Solo han sido dos paquetitos de nada 😛

Aquí podemos ver la máquina migrada.

Ahora vamos a ver alguna opción a la hora de mover que nos quedó por el camino. En el apartado de Elegir opciones de movimiento dentro de mover la máquina virtual tenemos 3 opciones.
1- Mover a una sola ubicación, lo que hemos hecho antes.
2- Mover los datos de la máquina virtual seleccionando donde se desea mover los elementos.
3- Mover solo máquina virtual y no los VHD, para esto el VHD debe de estar en un almacenamiento compartido.

Si Seleccionamos la segunda opción veremos la siguiente ventana. Tendremos otras 3 opciones:
A- Mover automáticamente, lo cual pondrá todos los elementos en las mismas rutas que el servidor de origen.
B- Mover los VHD a ubicaciones distintas. Pondrá la máquina virtual en la ruta por defecto y nos preguntará donde queremos guardar
C- Mover los elemento de la máquina virtual a ubicaciones distintas, pues eso, escoger una ruta para cada elemento. Seleccionamos esta opción para ver que elementos nos deja mover. Siguiente.

Aquí tenemos los elementos.

Como opinión personal voy a decir que me encanta poder hacer live migration sin falta de la consola de System Center. Microsoft ha dado un paso importante para las pymes y medianas empresas aportando nuevas funcionalidades en Hyper-V, ya que en muchos casos no es viable usar System Center.

10 pensamientos en “Hyper-V 2012 R2, Migración en vivo (Live Migration)

  1. Hola buenos días, he realizado la migración tal y como indicaste y funciono perfecto, mientras migre mantuve iniciada la maquina virtual a migrar e hice un ping -t a esa misma maquina. muchas gracias.

    Pero ahora tengo un problema las maquinas tardan mucho en iniciar sesión y en ejecutar programas con bases de datos en otro servidor, que puede estar pasando aquí? te ha pasado ?

    • Buenos días, por lo que me comentas parece que el nuevo Host al que as movido las máquinas virtuales está mas saturado que el de origen. Revisa donde se están guardando los vhd y el rendimiento de ese disco. Si no fuera esto revisaría la RAM.

  2. Buenas Daniel!
    Acabo de montar un cluster de dos hyper-V y me encuentro que:
    1- Solo puedo hacer migraciones en vivo a los integrantes del clúster (HV01, HV02), es correcto?
    2- si creo una máquina virtual nuevo en el clúster con un disco de otra máquina que me estaba funcionando sin problemas no me bootea, me da un error de boot Failure.
    El escenario para que lo entiendas es:
    Tenemos 2 máquinas (HV01, HV02) con Hiper-V montado y sus respectivas máquinas.
    He montado un clúster (HVC00) de dos servidores (HVC01, HVC02), la intención es migrar en vivo las máquinas al clúster directamente, pero solo nos permite migrarlas a uno de los dos integrantes,(HVC01 y HVC02). Y lo peor es que una vez hecho no me aparecen como VM dentro del clúster si no únicamente en el administrador de Hyper-V. ¿Como puedo poner esa máquina en alta disponibilidad?
    ¿Por qué al montar una máquina nueva usando un disco existente no me arranca?

    Gracias Daniel y perdona por el tocho.
    Saludos,
    Iván.

    • Buenas,

      Esta entrada del blog habla de live migration entre dos host que no están en cluster. Echale un vistazo a esta otra entrada: http://elinformatiku.es/hyper-v-2012-r2-alta-disponibilidad-low-cost/ a ver si te puede ayudar mas.

      1- Al estar en cluster, creo que si. Ahora mismo no me doy cuenta y no tengo ningun entorno montado.

      2- La máquina que creas tiene la misma configración que la original? El vhd estás guardandolo en la unidad de almacenamiento del cluster?

      Has intentado exportar la máquina virtual e importarla en el cluster?

      Espero haberte ayudado.

      Un saludo,
      Dani

      • Buenas Daniel,
        ya tengo solucionado el tema… el problema era la generación de la vm que estaba creando… por esa razón no me booteaba.
        Lo que no encuentro es la manera de importar la VM directamente al cluster, solo me deja hacer una nueva desde el administrador de clúster, así que ahora las estoy migrando manualmente.
        ¿Dónde esta la opción de importar la máquina virtual desde el administrador de cúster?
        Gracias y saludos.

        • Buenas,

          Me alegro que lo hayas localizado.

          Pues la verdad, ahora me cogiste jejejej Ahora mismo no tengo montado un entorno como este. Igual solo se puede hacer desde una consola de System center Virtual Machine Manager. A una mala, creas la máquina y le asignas el disco exportado.

          Espero haberte ayudado ;).

          Un saludo,
          Dani

  3. Hola Daniel,
    Tal vez un poco anacrónica mi consulta, pero creo que nunca es tarde, especialmente cuando muchas empresas aun utilizan windows 2012.

    Esta funcionalidad de live migration a nivel de Hyper-V, sin cluster, ¿qué tiempo promedio demora en mover una maquina de tamaño estándar?, unos 20 GB creo que pesa un windows 2012 recién instalado. Lo pregunto porque necesito tener claro que un cluster por tener las VM en un recurso compartido CVS, es apenas segundos.

    Gracias de antemano,
    Martin

    • Buenas,

      Pues hay varios factores a tener en cuenta: tipo de red usada, rendimiento de discos, etc…
      Lo mejor que puedes hacer es crearlo y probarlo para ver si los tiempos son aceptables para ti.

      Un saludo,
      Dani

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *