Migración de máquinas virtuales

 Los clústeres de conmutación por error de Windows Server 2008 R2 ofrecen tres formas de pasar la ejecución de una máquina virtual de un nodo a otro: mover una máquina virtual entre nodos, migración rápida de máquinas virtuales y migración en vivo de máquinas virtuales.

A estas formas de pasar la ejecución de una máquina virtual de un nodo a otro de forma planeada, se añade la funcionalidad básica de un clúster, denominada conmutación por error no planeada, en la cual la ejecución pasa desde el nodo que deja de responder a otro nodo del clúster. Esta forma de traspaso de ejecución no se considera lógicamente una migración, aunque su forma de funcionar sea similar a la de movimiento de máquina virtual entre nodos con desactivación.

 Mover una máquina virtual entre nodos

Mover una máquina virtual entre nodos es una funcionalidad del clúster failover de Hyper-V que permite que la ejecución de una máquina virtual, en la que está configurada la alta disponibilidad, pase de un nodo del clúster a otro.

El proceso de movimiento de una máquina entre nodos se puede iniciar tanto desde el menú contextual del servicio de máquina virtual, como desde el panel de acciones asociado a esa vista. La acción de denomina "Mover máquinas virtuales a otro nodo".


Figura 1.- Mover máquinas virtuales a otro nodo de un clúster failover de Hyper-V

La característica fundamental de esta opción de migración es que la ejecución de la máquina virtual se detiene completamente antes de iniciarse de nuevo en otro nodo del clúster.

En función de la manera en la que se detenga la ejecución de la máquina virtual existen varias formas en las que esta migración se puede producir.

- Con guardado: es la opción predeterminada; la máquina virtual guarda su estado antes de apagarse (algo similar a una hibernación de un equipo físico). Esta información de estado es utilizada por el nuevo nodo para restaurar la máquina virtual al mismo estado en que se paró cuando se reanuda la ejecución.

- Con apagado: esta opción apaga el sistema de forma ordenada, dando tiempo a todos los procesos para cerrarse y guardando la información cuando sea posible. Luego se desconecta y se vuelva a conectar en el nuevo nodo, en donde la máquina se inicia de nuevo.

- Con apagado forzado: funciona igual que la opción con apagado, pero en este caso se cierra el sistema sin esperar a que los procesos en ejecución se detengan.

- Con desactivación: la máquina termina su ejecución abruptamente, sin esperar a que cierre el sistema; equivale a una desconexión eléctrica de una máquina física.

La manera en que se va a detener la ejecución, y por lo tanto la manera en que se va a producir la migración de la máquina virtual a otro nodo, es configurable.

Para ello se debe seleccionar una de las opciones disponibles para la "Acción sin conexión controlada por clúster" en la pestaña "Configuración" de la página de propiedades del recurso máquina virtual.


Figura 2.- Acciones de desconexión posibles de una máquina virtual en un cluster failover de Hyper-V

El valor de "Acción sin conexión controlada por clúster" no afecta al resto de tipos de migraciones, ni a las conmutaciones por error no planeadas.

 Migración rápida de máquinas virtuales

En una migración rápida de máquinas virtuales entre nodos el clúster detiene la ejecución de la máquina y copia en un disco de almacenamiento la memoria que está usando la máquina virtual, de modo que el nodo que asuma la propiedad pueda leer rápidamente la información de memoria y estado que necesita la máquina virtual, y continúe la ejecución de la misma en el punto en que se detuvo.

El efecto de este tipo de migración es el de una máquina virtual que deja de responder temporalmente. Según la duración del proceso las aplicaciones y servicios se verán afectados en mayor o menor medida.

El tiempo de duración del proceso está directamente relacionado con el tamaño de la RAM de la máquina virtual.

El proceso de migración rápida se puede iniciar tanto desde el menú contextual del servicio de máquina virtual, como desde el panel de acciones asociado a esa vista. La acción de denomina "Migrar rápidamente máquinas virtuales a otro nodo".

La migración rápida se puede usar para el mantenimiento planeado, pero no para una conmutación por error no planeada.

La migración rápida se puede usar para mover varias máquinas virtuales simultáneamente de un nodo a otro.

 Migración en vivo de máquinas virtuales

Migración en vivo y migración rápida de máquinas virtuales mueven máquinas virtuales de un nodo a otro de un clúster de Hyper-V, manteniendo su estado.

La principal diferencia estriba en que mientras que Migración rápida primero salva el estado de la máquina virtual, luego copia ese estado y por último inicia de nuevo la máquina virtual en el mismo estado, Migración en vivo usa una aproximación diferente, totalmente enfocada a reducir al máximo posible el tiempo de conmutación, para que la operación de migración resulte lo más transparente posible a los usuarios de las máquinas virtuales.

Las fases del proceso de migración en vivo se pueden resumir de la siguiente forma:

i) Transferencia de la configuración y de las páginas de memoria: esto sucede mientras la máquina aún está en ejecución en el nodo inicial, por lo que además de transferirse el contenido de la memoria al nodo final, se inicia un proceso de seguimiento de los cambios que ocurran en el contenido de la memoria que aún sigue en ejecución.

ii) Cese de ejecución: la máquina virtual queda en suspenso en el nodo 1, y las modificaciones que se han producido en la memoria desde el momento de la transferencia inicial se transfieren también al nuevo nodo.

iii) Cambio en el control del almacenamiento: el nodo nuevo toma el control del almacenamiento en el que reside la máquina virtual, incluyendo los manejadores de acceso al disco duro virtual activos en el momento de cesar la ejecución.

iv) La máquina virtual continúa su ejecución en el mismo punto en el que estaba pero ya desde el nuevo nodo.

El proceso es tan rápido que normalmente los usuarios ni siquiera perciben un pérdida momentánea de conectividad de red.

El proceso de migración en vivo se puede iniciar tanto desde el menú contextual del servicio de máquina virtual, como desde el panel de acciones asociado a esa vista. La acción de denomina "Migrar en vivo la máquina virtual a otro nodo".

Este tipo de migración está especialmente optimizado para el uso de volúmenes CSV, ya que si se usa este tipo de almacenamiento la migración es prácticamente instantánea, al no necesitarse el proceso de apropiación del almacenamiento por parte del nuevo nodo, necesario si no se usa CSV.

Debido a como funciona este tipo de migración sólo es posible aplicársela a una máquina virtual a la vez, en los dos nodos implicados.

La migración en vivo se puede usar para el mantenimiento planeado, pero no para una conmutación por error no planeada.

Nota: para la migración en vivo y la migración rápida, se recomienda que la configuración del hardware y de sistema de los nodos sean lo más parecidas posible para minimizar posibles problemas.