La migración en vivo se refiere al proceso de mover una máquina virtual o una aplicación en ejecución entre diferentes máquinas físicas sin desconectar el cliente o la aplicación. La memoria, el almacenamiento y la conectividad de red de la máquina virtual se transfieren desde la máquina invitada original al destino. [1]
Migración de memoria de VM
Dos técnicas para mover el estado de la memoria de la máquina virtual del origen al destino son la migración de memoria previa a la copia y la migración de memoria posterior a la copia.
Migración de memoria previa a la copia
Fase de calentamiento
En la migración de memoria previa a la copia, el hipervisor normalmente copia todas las páginas de memoria desde el origen al destino mientras la máquina virtual aún se está ejecutando en el origen. Si algunas páginas de la memoria cambian (se 'ensucian') durante este proceso, se volverán a copiar hasta que la tasa de páginas copiadas sea mayor que la tasa de suciedad de la página. [2]
Fase de detener y copiar
Después de la fase de calentamiento, la VM se detendrá en el host original, las páginas sucias restantes se copiarán en el destino y la VM se reanudará en el host de destino. [3] El tiempo entre detener la VM en el host original y reanudarla en el destino se denomina "tiempo de inactividad" y varía desde unos pocos milisegundos hasta segundos según el tamaño de la memoria y las aplicaciones que se ejecutan en la VM. Existen algunas técnicas para reducir el tiempo de inactividad de la migración en vivo, como el uso de la función de densidad de probabilidad del cambio de memoria. [4]
Migración de memoria posterior a la copia
La migración de VM posterior a la copia [5] se inicia suspendiendo la VM en el origen. Con la VM suspendida, un subconjunto mínimo del estado de ejecución de la VM (estado de la CPU, registros y, opcionalmente, memoria no paginable) se transfiere al destino. Luego, la VM se reanuda en el destino. Al mismo tiempo, la fuente envía activamente las páginas de memoria restantes de la máquina virtual al destino, una actividad conocida como paginación previa. En el destino, si la máquina virtual intenta acceder a una página que aún no se ha transferido, genera un error de página. Estas fallas, conocidas como fallas de red, se capturan en el destino y se redirigen a la fuente, que responde con la página fallada. Demasiados fallos de red pueden degradar el rendimiento de las aplicaciones que se ejecutan dentro de la máquina virtual. Por lo tanto, la paginación previa puede adaptar dinámicamente el orden de transmisión de la página a las fallas de la red al enviar páginas activamente en las proximidades de la última falla. Un esquema de pre-paginación ideal enmascararía la gran mayoría de los fallos de la red, aunque su rendimiento depende del patrón de acceso a la memoria de la carga de trabajo de la máquina virtual. Post-copy envía cada página exactamente una vez a través de la red. Por el contrario, la precopia puede transferir la misma página varias veces si la página se ensucia repetidamente en la fuente durante la migración. Por otro lado, la copia previa conserva un estado actualizado de la máquina virtual en el origen durante la migración, mientras que con la copia posterior, el estado de la máquina virtual se distribuye tanto en la fuente como en el destino. Si el destino falla durante la migración, la copia previa puede recuperar la máquina virtual, mientras que la copia posterior no puede.
Migración en vivo sin problemas
Cuando el usuario final no percibe el tiempo de inactividad de una máquina virtual durante una migración en vivo, se denomina migración en vivo sin interrupciones. La migración en vivo sin problemas depende de un marco de interfaz dinámico, [6] sometiendo el proceso a protocolos de cifrado de secuencia retardada. [7]
Administradores de VM con soporte de migración en vivo
- Virtuozzo
- Xen desde la versión 2.0, 2004 para invitados PV; desde la versión 3.1, 18 de mayo de 2007 para huéspedes HVM [8]
- OpenVZ
- Servidor en la nube de Parallels
- Particiones de carga de trabajo
- Máquinas virtuales de integridad
- KVM [1] [9] [10] desde febrero de 2007, [11] con diferentes técnicas. [12]
- Oracle VM Server para x86
- Oracle VM Server para SPARC
- OVirt
- Virtualización de Red Hat
- POWER Hypervisor (PHYP)
- VMware ESXi
- IBM Live Partition Mobility , desde 2007
- Hyper-V Server 2008 R2 [13]
- VirtualBox
- Entorno virtual Proxmox [14]
Plataformas en la nube con soporte de migración en vivo
Sistemas que proporcionan migración de software en vivo
Ver también
Referencias
- ↑ a b Alexey Lesovsky (noviembre de 2013). Introducción a oVirt 3.3 . ISBN 9781783280070.
- ^ Hacking, Stuart, et al., Mejora del proceso de migración en vivo de aplicaciones de grandes empresas , VTDC'09.
- ^ Clark, Christopher; et al. Migración en vivo de máquinas virtuales . NSDI'05. CiteSeerX 10.1.1.138.4067 .
- ^ Farrahi Moghaddam, Fereydoun, et al., Disminución del tiempo de inactividad de la migración de la máquina virtual en vivo mediante una selección de página de memoria basada en el cambio de memoria PDF , ICNSC'10.
- ^ Hines, et al, migración en vivo posterior a la copia de máquinas virtuales
- ^ Travostino; et al. (2006). "Migración en vivo sin problemas de máquinas virtuales a través de MAN / WAN". Sistemas informáticos de futura generación . 22 (8): 901–907. doi : 10.1016 / j.future.2006.03.007 .
- ^ Aiash; et al. (2014). "Migración segura de máquinas virtuales en vivo: problemas y soluciones". 28ª Conferencia Internacional sobre Redes de Información Avanzadas y Talleres de Aplicaciones : 160–165.
- ^ http://lists.xenproject.org/archives/html/xen-announce/2007-05/msg00002.html
- ^ https://www.linux-kvm.org/page/Migration
- ^ https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/virtualization_administration_guide/chap-virtualization_administration_guide-kvm_live_migration
- ^ https://lwn.net/Articles/223754/
- ^ https://www.berrange.com/posts/2016/05/12/analysis-of-techniques-for-ensuring-migration-completion-with-kvm/
- ^ Windows Server 2012 desatado . Sams. 2012-09-16. ISBN 978-0-672-33622-5.
- ^ https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines#qm_migration
enlaces externos
- Artículo HOWTO sobre migración Xen
- Punto de control de OpenVZ y migración en vivo
- Migración en vivo en KVM
- VMware VMotion
- Microsoft: guía paso a paso para la migración en vivo
- Documento técnico de Microsoft: Arquitectura y descripción general de la migración en vivo