La virtualización de hardware consiste en virtualizar ordenadores como plataformas de hardware completas, ciertas abstracciones lógicas de sus componentes o únicamente la funcionalidad necesaria para ejecutar diversos sistemas operativos . La virtualización emula el entorno de hardware de su arquitectura anfitriona, permitiendo que múltiples sistemas operativos se ejecuten sin modificaciones y de forma aislada. En sus orígenes, el software que controlaba la virtualización se denominaba «programa de control», pero con el tiempo se prefirieron los términos « hipervisor » o «monitor de máquina virtual». [ 1 ]
Concepto
El término «virtualización» se acuñó en la década de 1960 para referirse a una máquina virtual (a veces llamada «pseudomáquina»), término que a su vez data del sistema experimental IBM M44/44X . [ 1 ] La creación y gestión de máquinas virtuales también se ha denominado «virtualización de plataforma» o, más recientemente, «virtualización de servidor». [ 2 ] [ 3 ]
La virtualización de plataformas se realiza en una plataforma de hardware determinada mediante un software anfitrión (un programa de control ), que crea un entorno informático simulado, una máquina virtual (VM), para su software invitado . El software invitado no se limita a aplicaciones de usuario; muchos anfitriones permiten la ejecución de sistemas operativos completos. El software invitado se ejecuta como si se ejecutara directamente en el hardware físico, con algunas salvedades importantes. El acceso a los recursos físicos del sistema (como el acceso a la red , la pantalla, el teclado y el almacenamiento en disco ) generalmente se gestiona a un nivel más restrictivo que el procesador y la memoria del sistema anfitrión . A menudo, los invitados tienen restringido el acceso a dispositivos periféricos específicos , o pueden estar limitados a un subconjunto de las capacidades nativas del dispositivo, dependiendo de la política de acceso al hardware implementada por el anfitrión de virtualización. [ 4 ] : 5,13
La virtualización suele conllevar penalizaciones en el rendimiento, tanto en los recursos necesarios para ejecutar el hipervisor como en el rendimiento reducido de la máquina virtual en comparación con la ejecución nativa en la máquina física. [ 4 ] : 35,67-68
Razones para la virtualización de hardware
- En el caso de la consolidación de servidores , muchos servidores físicos pequeños pueden reemplazarse por un servidor físico más grande para disminuir la necesidad de recursos de hardware adicionales (y costosos), como CPU y discos duros. Si bien el hardware se consolida en entornos virtuales, los sistemas operativos generalmente no lo hacen. En cambio, cada sistema operativo que se ejecuta en un servidor físico se convierte en un sistema operativo distinto que se ejecuta dentro de una máquina virtual. De esta manera, el servidor grande puede "alojar" muchas de estas máquinas virtuales "invitadas". Esto se conoce como transformación de físico a virtual (P2V). La utilización promedio de un servidor a principios de la década de 2000 era del 5 al 15 %, pero con la adopción de la virtualización esta cifra comenzó a aumentar para reducir la cantidad de servidores necesarios. [ 5 ]
- Además de reducir los costos de equipos y mano de obra asociados con el mantenimiento de los equipos, la consolidación de servidores también puede tener el beneficio adicional de reducir el consumo de energía y el impacto ambiental en los sectores tecnológicos y ecológicos. Por ejemplo, un servidor típico funciona a 425 W [ 6 ] y VMware estima una relación de reducción de hardware de hasta 15:1 [ 7 ].
- Una máquina virtual (VM) se puede controlar e inspeccionar de forma más sencilla desde un sitio remoto que una máquina física, y su configuración es más flexible. Esto resulta muy útil en el desarrollo del núcleo y para la enseñanza de cursos de sistemas operativos, incluyendo la ejecución de sistemas operativos heredados que no son compatibles con hardware moderno. [ 8 ]
- Se puede configurar una nueva máquina virtual según sea necesario, sin necesidad de realizar una compra de hardware por adelantado.
- Una máquina virtual se puede trasladar fácilmente de un equipo físico a otro según sea necesario. Por ejemplo, un vendedor que visita a un cliente puede copiar una máquina virtual con el software de demostración a su portátil, sin necesidad de transportar el equipo físico. Asimismo, un error dentro de una máquina virtual no daña el sistema anfitrión, por lo que no existe riesgo de que el sistema operativo falle en el portátil.
- Gracias a esta facilidad de reubicación, las máquinas virtuales pueden utilizarse fácilmente en escenarios de recuperación ante desastres sin preocuparse por el impacto de las fuentes de energía reacondicionadas o defectuosas.
Sin embargo, cuando varias máquinas virtuales se ejecutan simultáneamente en el mismo host físico, cada una puede presentar un rendimiento variable e inestable, que depende en gran medida de la carga de trabajo impuesta al sistema por las demás máquinas virtuales. Este problema puede solucionarse mediante técnicas de instalación adecuadas para el aislamiento temporal entre máquinas virtuales .
Existen varios enfoques para la virtualización de plataformas.
Ejemplos de casos de uso de la virtualización:
- Ejecución de una o más aplicaciones no compatibles con el sistema operativo anfitrión: Una máquina virtual que ejecute el sistema operativo invitado requerido podría permitir la ejecución de las aplicaciones deseadas sin modificar el sistema operativo anfitrión.
- Evaluación de un sistema operativo alternativo: El nuevo sistema operativo podría ejecutarse dentro de una máquina virtual, sin modificar el sistema operativo anfitrión.
- Virtualización de servidores: Se pueden ejecutar varios servidores virtuales en un único servidor físico, con el fin de aprovechar al máximo los recursos de hardware del servidor físico.
- Duplicación de entornos específicos: Dependiendo del software de virtualización utilizado, una máquina virtual podría duplicarse e instalarse en varios hosts, o restaurarse a un estado del sistema previamente respaldado.
- Creación de un entorno protegido: Si un sistema operativo invitado que se ejecuta en una máquina virtual sufre daños de una manera que no resulta rentable reparar, como puede ocurrir al estudiar malware o instalar software con un comportamiento anómalo, la máquina virtual puede simplemente descartarse sin dañar el sistema anfitrión y utilizarse una copia limpia al reiniciar el sistema invitado.
Virtualización completa

En la virtualización completa, la máquina virtual simula el hardware suficiente para permitir que un sistema operativo "invitado" sin modificar, diseñado para el mismo conjunto de instrucciones , se ejecute de forma aislada. Este enfoque fue pionero en 1966 con los IBM CP-40 y CP-67 , predecesores de la familia de máquinas virtuales .
Paravirtualización
En la paravirtualización, la máquina virtual no necesariamente simula el hardware, sino que ofrece (o además de ello) una API especial que solo puede utilizarse modificando el sistema operativo invitado. Para ello, debe estar disponible el código fuente del sistema operativo invitado. Si el código fuente está disponible, basta con reemplazar las instrucciones sensibles por llamadas a las API de VMM (por ejemplo, "cli" por "vm_handle_cli()"), recompilar el sistema operativo y utilizar los nuevos binarios. Esta llamada al sistema del hipervisor se denomina "hiperllamada" en TRANGO y Xen ; se implementa mediante una instrucción de hardware DIAG ("diagnosticar") en el CMS de IBM bajo VM (que fue el origen del término hipervisor ).
Virtualización asistida por hardware
En la virtualización asistida por hardware, el hardware proporciona soporte arquitectónico que facilita la creación de un monitor de máquina virtual y permite que los sistemas operativos invitados se ejecuten de forma aislada. [ 9 ] Esto puede utilizarse para asistir tanto a la virtualización completa como a la paravirtualización. La virtualización asistida por hardware se introdujo por primera vez en los procesadores IBM 308X en 1980, con la instrucción Start Interpretive Execution (SIE). [ 10 ]
En 2005 y 2006, Intel y AMD desarrollaron hardware adicional para admitir la virtualización en sus plataformas. Sun Microsystems (ahora Oracle Corporation ) añadió características similares a sus procesadores UltraSPARC Serie T en 2005.
En 2006, se descubrió que la compatibilidad con hardware x86 de 32 y 64 bits de primera generación rara vez ofrecía ventajas de rendimiento sobre la virtualización por software. [ 11 ]
Virtualización a nivel de sistema operativo
En la virtualización a nivel de sistema operativo, un servidor físico se virtualiza a dicho nivel, lo que permite que varios servidores virtualizados, aislados y seguros, se ejecuten en un único servidor físico. Los entornos de sistema operativo "invitados" comparten la misma instancia del sistema operativo que el sistema anfitrión. Por lo tanto, el mismo núcleo del sistema operativo se utiliza para implementar los entornos "invitados", y las aplicaciones que se ejecutan en un entorno "invitado" determinado lo consideran un sistema independiente.
Recuperación ante desastres mediante virtualización de hardware
Un plan de recuperación ante desastres (DR) se considera una buena práctica para una plataforma de virtualización de hardware. La recuperación ante desastres de un entorno de virtualización garantiza una alta disponibilidad en diversas situaciones que interrumpen las operaciones comerciales habituales. En situaciones donde la continuidad operativa de las plataformas de virtualización de hardware es crucial, un plan de recuperación ante desastres asegura el cumplimiento de los requisitos de rendimiento y mantenimiento del hardware. Un plan de recuperación ante desastres para la virtualización de hardware incluye la protección tanto del hardware como del software mediante diversos métodos, entre los que se incluyen los descritos a continuación. [ 12 ] [ 13 ]
- Copia de seguridad en cinta para necesidades de archivo a largo plazo de datos de software
- Este método común permite almacenar datos fuera de las instalaciones, pero la recuperación de datos puede ser un proceso difícil y prolongado. La fiabilidad de los datos de respaldo en cinta depende de la última copia almacenada. Los métodos de respaldo en cinta requieren un dispositivo de respaldo y material de almacenamiento continuo.
- Replicación de archivos completos y aplicaciones
- La implementación de este método requiere software de control y capacidad de almacenamiento para la replicación de archivos de aplicaciones y datos, generalmente en el mismo sitio. Los datos se replican en una partición de disco diferente o en un dispositivo de disco independiente, y esta replicación puede programarse para la mayoría de los servidores. Se implementa con mayor frecuencia en aplicaciones de bases de datos.
- Redundancia de hardware y software
- Este método garantiza el máximo nivel de protección ante desastres para una solución de virtualización de hardware, al proporcionar replicación de hardware y software duplicados en dos áreas geográficas distintas. [ 14 ]
Véase también
- Virtualización de aplicaciones
- Comparación de software de virtualización de plataformas
- Virtualización de escritorio
- Infraestructura dinámica
- Emulación de hardware
- Hipersecuestro
- Simulador de conjunto de instrucciones
- Requisitos de virtualización de Popek y Goldberg
- Fisicalización
- Aprovisionamiento ligero
- Dispositivo virtual
- Virtualización para la agregación
- Virtualización del espacio de trabajo
Referencias
- 1 2 Creasy, RJ (1981). "El origen del sistema de tiempo compartido VM/370" (PDF) . IBM . Recuperado el 26 de febrero de 2013 .
- ↑ Thomson, Julian (23 de mayo de 2018). "Máquinas virtuales: una introducción a la virtualización de plataformas" . Performance Software . Recuperado el 8 de julio de 2023 .
- ↑ "¿Qué es la virtualización de servidores? "
- 1 2 Bugnion, Edouard; Nieh, Jason; Tsafrir, Dan (2017). Soporte de hardware y software para virtualización . San Rafael, CA: Morgan & Claypool Publishers. ISBN 9781627056939.
- ↑ "El envejecimiento de los chips se acelera" . 14 de febrero de 2018.
- ↑ Rajesh Chheda; Dan Shookowsky; Steve Stefanovich; Joe Toscano (14 de enero de 2009). "Perfilado del uso de energía para un consumo eficiente" .
- ↑ "Descripción general de la consolidación de servidores VMware" . Archivado del original el 8 de enero de 2022.
- ↑ Jason Nieh ; Ozgur Can Leonard (agosto de 2000). "Examinando VMware" . Dr. Dobb's Journal . Archivado del original el 22 de noviembre de 2019.
- ↑ Smith, L.; Kägi, A.; Martins, FM; Neiger, G.; Leung, FH; Rodgers, D.; Santoni, AL; Bennett, SM; Uhlig, R.; Anderson, AV (mayo de 2005). "Tecnología de virtualización de Intel" . Computer . 38 (5): 48– 56. Bibcode : 2005Compr..38e..48U . doi : 10.1109/MC.2005.163 .
- ↑ IBM System/370 Extended Architecture Interpretive Execution (PDF) (Primera ed.). IBM. Enero de 1984. SA22-7095-0 . Consultado el 27 de octubre de 2022 .
- ↑ Keith Adams; Ole Agesen (21–25 de octubre de 2006). Una comparación de técnicas de software y hardware para la virtualización x86 (PDF) . ASPLOS'06. San José, California, EE. UU. Archivado del original (PDF) el 8 de enero de 2022.
Sorprendentemente, encontramos que el soporte de hardware de primera generación rara vez ofrece ventajas de rendimiento sobre las técnicas de software existentes. Atribuimos esta situación a los altos costos de transición VMM/invitado y a un modelo de programación rígido que deja poco margen para la flexibilidad del software en la gestión de la frecuencia o el costo de estas transiciones.
- ↑ "La guía esencial para la recuperación ante desastres: cómo garantizar la continuidad de TI y del negocio" (PDF) . Vision Solutions, Inc. 2010. Archivado del original (PDF) el 16 de mayo de 2011.
- ↑ Wold, G (2008). "Proceso de planificación de recuperación ante desastres" . Archivado del original el 15 de agosto de 2012.
- ↑ "Virtualización para la recuperación ante desastres: protección de sistemas de producción mediante VMware Virtual Infrastructure y Double-Take" (PDF) . VMware. 2010. Archivado del original (PDF) el 23 de septiembre de 2010.
Enlaces externos
- Introducción a la virtualización. Archivado el 22 de octubre de 2020 en Wayback Machine , por Amit Singh.
- Xen y el arte de la virtualización , ACM, 2003, por un grupo de autores
- Software de virtualización Linux
- Zoppis, Bruno (27 de agosto de 2007) [1.ª publicación en LinuxDevices:2007]. "Uso de un hipervisor para conciliar el código GPL y el código propietario integrado" . Linux Gizmos . Archivado del original el 24 de diciembre de 2013.
- Virtualización de hardware