En informática, la virtualización o virtualización (a veces abreviado v12n , un numerónimo ) es el acto de crear una versión virtual (en lugar de real) de algo, incluidas las plataformas de hardware , dispositivos de almacenamiento y recursos de redes informáticas virtuales .
La virtualización comenzó en la década de 1960, como un método para dividir lógicamente los recursos del sistema proporcionados por las computadoras centrales entre diferentes aplicaciones. Desde entonces, el significado del término se ha ampliado. [1]
Virtualización de hardware
La virtualización de hardware o virtualización de plataforma se refiere a la creación de una máquina virtual que actúa como una computadora real con un sistema operativo. El software que se ejecuta en estas máquinas virtuales está separado de los recursos de hardware subyacentes. Por ejemplo, una computadora que ejecuta Microsoft Windows puede albergar una máquina virtual que parece una computadora con el sistema operativo Ubuntu Linux ; El software basado en Ubuntu se puede ejecutar en la máquina virtual. [2] [3]
En la virtualización de hardware, la máquina host es la máquina que utiliza la virtualización y la máquina invitada es la máquina virtual. Las palabras host e invitado se utilizan para distinguir el software que se ejecuta en la máquina física del software que se ejecuta en la máquina virtual. El software o firmware que crea una máquina virtual en el hardware del host se denomina hipervisor o monitor de máquina virtual .
Los diferentes tipos de virtualización de hardware incluyen:
- Virtualización completa: simulación casi completa del hardware real para permitir que los entornos de software, incluido un sistema operativo invitado y sus aplicaciones, se ejecuten sin modificaciones.
- Paravirtualización : las aplicaciones invitadas se ejecutan en sus propios dominios aislados, como si se estuvieran ejecutando en un sistema separado, pero no se simula un entorno de hardware. Los programas invitados deben modificarse específicamente para ejecutarse en este entorno.
La virtualización asistida por hardware es una forma de mejorar la eficiencia general de la virtualización. Se trata de CPU que brindan soporte para la virtualización en hardware y otros componentes de hardware que ayudan a mejorar el rendimiento de un entorno invitado.
La virtualización de hardware puede verse como parte de una tendencia general en la TI empresarial que incluye la computación autónoma , un escenario en el que el entorno de TI podrá administrarse a sí mismo en función de la actividad percibida, y la computación de servicios públicos , en la que la potencia de procesamiento de la computadora se considera utilidad que los clientes pueden pagar solo cuando la necesiten. El objetivo habitual de la virtualización es centralizar las tareas administrativas mientras se mejora la escalabilidad y la utilización general de los recursos de hardware. Con la virtualización, se pueden ejecutar varios sistemas operativos en paralelo en una sola unidad central de procesamiento (CPU). Este paralelismo tiende a reducir los costos generales y se diferencia de la multitarea, que implica ejecutar varios programas en el mismo sistema operativo. Con la virtualización, una empresa puede administrar mejor las actualizaciones y los cambios rápidos en el sistema operativo y las aplicaciones sin interrumpir al usuario. "En última instancia, la virtualización mejora drásticamente la eficiencia y la disponibilidad de los recursos y las aplicaciones en una organización. En lugar de depender del antiguo modelo de" un servidor, una aplicación "que conduce a recursos subutilizados, los recursos virtuales se aplican dinámicamente para satisfacer las necesidades comerciales sin exceso de grasa "(ConsonusTech).
La virtualización de hardware no es lo mismo que la emulación de hardware . En la emulación de hardware, una pieza de hardware imita a otra, mientras que en la virtualización de hardware, un hipervisor (una pieza de software) imita una pieza particular de hardware de computadora o toda la computadora. Además, un hipervisor no es lo mismo que un emulador ; Ambos son programas de computadora que imitan al hardware, pero su dominio de uso en el lenguaje es diferente.
Instantáneas
Una instantánea es un estado de una máquina virtual, y generalmente sus dispositivos de almacenamiento, en un momento exacto. Una instantánea permite que el estado de la máquina virtual en el momento de la instantánea se restaure más tarde, deshaciendo efectivamente cualquier cambio que ocurriera después. Esta capacidad es útil como técnica de respaldo , por ejemplo, antes de realizar una operación riesgosa.
Las máquinas virtuales utilizan con frecuencia discos virtuales para su almacenamiento; en un ejemplo muy sencillo, un 10 gigabytes de disco duro se simula con un 10 gigabytes de archivos planos . Cualquier solicitud de la VM para una ubicación en su disco físico se traduce de forma transparente en una operación en el archivo correspondiente. Sin embargo, una vez que dicha capa de traducción está presente, es posible interceptar las operaciones y enviarlas a diferentes archivos, dependiendo de varios criterios. Cada vez que se toma una instantánea, se crea un nuevo archivo y se usa como superposición para sus predecesores. Los datos nuevos se escriben en la superposición superior; la lectura de datos existentes, sin embargo, necesita que se escanee la jerarquía de superposición, lo que da como resultado el acceso a la versión más reciente. Por tanto, toda la pila de instantáneas es prácticamente un solo disco coherente; en ese sentido, la creación de instantáneas funciona de manera similar a la técnica de copia de seguridad incremental .
También se pueden incluir otros componentes de una máquina virtual en una instantánea, como el contenido de su memoria de acceso aleatorio (RAM), la configuración del BIOS o su configuración. La función " Guardar estado " en los emuladores de consolas de videojuegos es un ejemplo de este tipo de instantáneas.
Restaurar una instantánea consiste en descartar o ignorar todas las capas de superposición que se agregan después de esa instantánea y dirigir todos los cambios nuevos a una nueva superposición.
Migración
Las instantáneas descritas anteriormente se pueden mover a otra máquina host con su propio hipervisor; cuando la máquina virtual se detiene temporalmente, se toma una instantánea, se mueve y luego se reanuda en el nuevo host, esto se conoce como migración. Si las instantáneas más antiguas se mantienen sincronizadas con regularidad, esta operación puede ser bastante rápida y permitir que la máquina virtual brinde un servicio ininterrumpido mientras su host físico anterior, por ejemplo, se retira para mantenimiento físico.
Conmutación por falla
De manera similar al mecanismo de migración descrito anteriormente, la conmutación por error permite que la máquina virtual continúe las operaciones si el host falla. Generalmente ocurre si la migración ha dejado de funcionar. Sin embargo, en este caso, la VM continúa funcionando desde el último estado coherente conocido , en lugar del estado actual , en función de los materiales que se proporcionó al servidor de respaldo por última vez.
Emulación de consola de videojuegos
Un emulador de consola de videojuegos es un programa que permite que una computadora personal o una consola de videojuegos emule el comportamiento de una consola de videojuegos diferente. Tanto los emuladores como los hipervisores de consolas de videojuegos realizan virtualización de hardware; palabras como "virtualización", "máquina virtual", "host" e "invitado" no se utilizan junto con los emuladores de consola.
Virtualización anidada
La virtualización anidada se refiere a la capacidad de ejecutar una máquina virtual dentro de otra, con este concepto general ampliable a una profundidad arbitraria. En otras palabras, la virtualización anidada se refiere a ejecutar uno o más hipervisores dentro de otro hipervisor. No es necesario que la naturaleza de una máquina virtual invitada anidada sea homogénea con su máquina virtual host; por ejemplo, la virtualización de aplicaciones se puede implementar dentro de una máquina virtual creada mediante la virtualización de hardware . [4]
La virtualización anidada se vuelve más necesaria a medida que los sistemas operativos generalizados obtienen la funcionalidad de hipervisor incorporada, que en un entorno virtualizado solo se puede utilizar si el hipervisor circundante admite la virtualización anidada; por ejemplo, Windows 7 es capaz de ejecutar aplicaciones de Windows XP dentro de una máquina virtual incorporada. Además, trasladar entornos virtualizados ya existentes a una nube, siguiendo el enfoque de infraestructura como servicio (IaaS), es mucho más complicado si la plataforma IaaS de destino no admite la virtualización anidada. [5] [6]
La forma en que se puede implementar la virtualización anidada en una arquitectura de computadora en particular depende de las capacidades de virtualización asistida por hardware admitidas . Si una arquitectura en particular no proporciona el soporte de hardware necesario para la virtualización anidada, se emplean varias técnicas de software para habilitarla. [5] Con el tiempo, más arquitecturas obtienen el soporte de hardware necesario; por ejemplo, desde la microarquitectura Haswell (anunciada en 2013), Intel comenzó a incluir el sombreado de VMCS como una tecnología que acelera la virtualización anidada. [7]
Licencia
Las máquinas virtuales que ejecutan sistemas operativos propietarios requieren una licencia, independientemente del sistema operativo de la máquina host. Por ejemplo, la instalación de Microsoft Windows en un invitado de VM requiere que se cumplan sus requisitos de licencia. [8] [9] [10]
Virtualización de escritorio
La virtualización de escritorios es el concepto de separar el escritorio lógico de la máquina física.
Una forma de virtualización de escritorio, la infraestructura de escritorio virtual (VDI), se puede considerar como una forma más avanzada de virtualización de hardware. En lugar de interactuar con una computadora host directamente a través de un teclado, mouse y monitor, el usuario interactúa con la computadora host utilizando otra computadora de escritorio o un dispositivo móvil mediante una conexión de red, como una LAN , LAN inalámbrica o incluso Internet. . Además, la computadora host en este escenario se convierte en una computadora servidor capaz de albergar múltiples máquinas virtuales al mismo tiempo para múltiples usuarios. [11]
A medida que las organizaciones continúan virtualizando y convergiendo su entorno de centro de datos, las arquitecturas de los clientes también continúan evolucionando para aprovechar la previsibilidad, la continuidad y la calidad del servicio que brinda su infraestructura convergente . Por ejemplo, empresas como HP e IBM proporcionan un modelo de VDI híbrido con una gama de software de virtualización y modelos de entrega para mejorar las limitaciones de la computación de cliente distribuida . [12] Los entornos de clientes seleccionados mueven las cargas de trabajo de las PC y otros dispositivos a los servidores del centro de datos, creando clientes virtuales bien administrados, con aplicaciones y entornos operativos de clientes alojados en servidores y almacenamiento en el centro de datos. Para los usuarios, esto significa que pueden acceder a su escritorio desde cualquier ubicación, sin estar vinculados a un solo dispositivo cliente. Dado que los recursos están centralizados, los usuarios que se mueven entre ubicaciones de trabajo aún pueden acceder al mismo entorno de cliente con sus aplicaciones y datos. [12] Para los administradores de TI, esto significa un entorno de cliente más centralizado y eficiente que es más fácil de mantener y capaz de responder más rápidamente a las necesidades cambiantes del usuario y de la empresa. [13] Otra forma, la virtualización de sesiones, permite que varios usuarios se conecten e inicien sesión en una computadora compartida pero poderosa a través de la red y la utilicen simultáneamente. A cada uno se le asigna un escritorio y una carpeta personal en la que almacenan sus archivos. [11] Con la configuración de varios terminales , la virtualización de sesiones se puede lograr utilizando una sola PC con varios monitores, teclados y ratones conectados.
Los clientes ligeros , que se ven en la virtualización de escritorio, son computadoras simples y / o baratas que están diseñadas principalmente para conectarse a la red. Es posible que carezcan de un espacio de almacenamiento significativo en el disco duro , RAM o incluso potencia de procesamiento , pero muchas organizaciones están comenzando a considerar los beneficios de costos de eliminar los escritorios de "clientes pesados" que están repletos de software (y requieren tarifas de licencia de software) y realizar inversiones más estratégicas . [14] La virtualización del escritorio simplifica el control de versiones del software y la administración de parches, donde la nueva imagen simplemente se actualiza en el servidor y el escritorio obtiene la versión actualizada cuando se reinicia. También permite un control centralizado sobre las aplicaciones a las que el usuario puede tener acceso en la estación de trabajo.
Mover escritorios virtualizados a la nube crea escritorios virtuales alojados (HVD), en los que las imágenes de escritorio son administradas y mantenidas de forma centralizada por una empresa de alojamiento especializada. Los beneficios incluyen la escalabilidad y la reducción del gasto de capital, que se reemplaza por un costo operativo mensual. [15]
Contenerización
La virtualización a nivel de sistema operativo, también conocida como contenedorización, se refiere a una característica del sistema operativo en la que el kernel permite la existencia de múltiples instancias de espacio de usuario aisladas . Tales instancias, llamadas contenedores, [16] particiones, entornos virtuales (VEs) o cárceles ( jail FreeBSD o jail chroot ), pueden parecer computadoras reales desde el punto de vista de los programas que se ejecutan en ellos. Un programa de computadora que se ejecuta en un sistema operativo ordinario puede ver todos los recursos (dispositivos conectados, archivos y carpetas, recursos compartidos de red , potencia de la CPU, capacidades de hardware cuantificables) de esa computadora. Sin embargo, los programas que se ejecutan dentro de un contenedor solo pueden ver el contenido del contenedor y los dispositivos asignados al contenedor.
La contenerización comenzó a ganar prominencia en 2014, con la introducción de Docker . [17] [18]
Otros tipos
- Software
- Virtualización de aplicaciones y virtualización del espacio de trabajo : aislar aplicaciones individuales del sistema operativo subyacente y otras aplicaciones; estrechamente asociado con el concepto de aplicaciones portátiles
- Virtualización de servicios : emulando el comportamiento de componentes específicos en aplicaciones heterogéneas basadas en componentes, como aplicaciones impulsadas por API , aplicaciones basadas en la nube y arquitecturas orientadas a servicios.
- Memoria
- Virtualización de la memoria : agregando recursos de memoria de acceso aleatorio (RAM) de sistemas en red en un solo grupo de memoria
- Memoria virtual : dar a una aplicación la impresión de que tiene una memoria de trabajo contigua, aislándola de la implementación de la memoria física subyacente.
- Almacenamiento
- Virtualización del almacenamiento : el proceso de abstraer completamente el almacenamiento lógico del almacenamiento físico.
- Sistema de archivos distribuido : cualquier sistema de archivos que permita el acceso a archivos desde múltiples hosts compartidos a través de una red informática.
- Sistema de archivos virtual : una capa de abstracción sobre un sistema de archivos más concreto, lo que permite que las aplicaciones cliente accedan a diferentes tipos de sistemas de archivos concretos de manera uniforme.
- Hipervisor de almacenamiento : el software que administra la virtualización del almacenamiento y combina los recursos de almacenamiento físico en uno o más grupos flexibles de almacenamiento lógico [19]
- Disco virtual : un programa informático que emula una unidad de disco, como una unidad de disco duro o una unidad de disco óptico (consulte la comparación de software de imagen de disco )
- Datos
- Virtualización de datos : la presentación de datos como una capa abstracta, independiente de los sistemas, estructuras y almacenamiento de bases de datos subyacentes.
- Virtualización de la base de datos : el desacoplamiento de la capa de la base de datos, que se encuentra entre las capas de almacenamiento y de aplicación dentro de la pila de aplicaciones en general.
- La red
- Virtualización de red : creación de un espacio de direccionamiento de red virtualizado dentro o entre subredes de red
- Red privada virtual (VPN): un protocolo de red que reemplaza el cable real u otros medios físicos en una red con una capa abstracta, lo que permite crear una red a través de Internet.
Ver también
- Cronología del desarrollo de la virtualización
- Virtualización de funciones de red
- Emulación (informática)
- Simulación por ordenador
- Ratio de consolidación
- Virtualización de E / S
- Punto de control de la aplicación
- Arte virtual
- Virtualización y emulación de SO en Android
- Virtualización de aplicaciones
- Virtualización de usuarios
Referencias
- ^ Graziano, Charles. "Un análisis de rendimiento de los hipervisores Xen y KVM para alojar el proyecto Xen Worlds" . Consultado el 29 de enero de 2013 .
- ^ Turbante, E; King, D; Lee, J; Viehland, D (2008). "Capítulo 19: Creación de aplicaciones e infraestructura de comercio electrónico". Comercio electrónico una perspectiva gerencial . Prentice Hall. pag. 27.
- ^ "Virtualización en la educación" (PDF) . IBM . Octubre de 2007 . Consultado el 6 de julio de 2010 .
Una computadora virtual es una representación lógica de una computadora en software. Al desacoplar el hardware físico del sistema operativo, la virtualización proporciona más flexibilidad operativa y aumenta la tasa de utilización del hardware físico subyacente.
- ^ Orit Wasserman, Red Hat (2013). "Virtualización anidada: tortugas de sombra" (PDF) . Foro KVM . Consultado el 7 de mayo de 2021 .
- ^ a b Muli Ben-Yehuda; Michael D. Day; Zvi Dubitzky; Michael Factor; Nadav Har'El; Abel Gordon; Anthony Liguori; Orit Wasserman; Ben-Ami Yassour (23 de septiembre de 2010). "El Proyecto Tortugas: Diseño e Implementación de Virtualización Anidada" (PDF) . usenix.org . Consultado el 16 de diciembre de 2014 .
- ^ Alex Fishman; Mike Rapoport; Evgeny Budilovsky; Izik Eidus (25 de junio de 2013). "HVX: Virtualización de la nube" (PDF) . rackcdn.com . Consultado el 16 de diciembre de 2014 .
- ^ "Procesadores Intel Core vPro de cuarta generación con sombreado Intel VMCS" (PDF) . Intel . 2013 . Consultado el 16 de diciembre de 2014 .
- ^ Foley, Mary Jo (5 de julio de 2012). "Microsoft se hace público con las versiones de Windows Server 2012, licencias" . ZDNet . CBS Interactive .
Finn explicó que Standard cubre 2 CPU en un host, y va de un VOSE (entorno de sistema operativo virtual - 1 instalación Std gratuita en una VM en ese host) a dos, y 'ahora tiene todas las características y escalabilidad de Datacenter'. Señaló que habrá un pequeño aumento de precio, pero dijo que pensaba que eso no importaría, ya que "debería virtualizarse de todos modos y la duplicación de los derechos VOSE compensará". Windows Server Datacenter tenía un mínimo de dos licencias de 1 CPU con VOSEs ilimitadas. "Ahora es un SKU más simple que cubre dos CPU en un host con VOSEs ilimitadas", dijo Finn.
- ^ "Preguntas frecuentes sobre licencias y precios de Windows Server 2012" (PDF) . Microsoft . Consultado el 5 de julio de 2012 .
- ^ "Licencia del sistema operativo de escritorio Windows para su uso con máquinas virtuales" (PDF) . microsoft.com . Microsoft . Consultado el 22 de diciembre de 2018 .
- ^ a b "Estrategias para adoptar la consumerización" (PDF) . Corporación Microsoft. Abril de 2011. p. 9 . Consultado el 22 de julio de 2011 .
- ^ a b Chernicoff, David, "HP VDI Moves to Center Stage", ZDNet, 19 de agosto de 2011.
- ^ Baburajan, Rajani, "La creciente oportunidad del mercado de almacenamiento en la nube fortalece a los proveedores", infoTECH, 24 de agosto de 2011. It.tmcnet.com. 2011-08-24.
- ^ "La virtualización de escritorio intenta encontrar su lugar en la empresa" . Dell.com . Consultado el 19 de junio de 2012 .
- ^ "HVD: el rayo de luz de la nube" (PDF) . Tecnología intrínseca. Archivado desde el original (PDF) el 2 de octubre de 2012 . Consultado el 30 de agosto de 2012 .
- ^ Hogg, Scott (26 de mayo de 2014). "Contenedores de software: se utilizan con más frecuencia de lo que la mayoría cree" . Mundo de la red . Red Mundial, Inc . Consultado el 9 de julio de 2015 .
- ^ Vaughan-Nichols, Steven J. (21 de marzo de 2018). "¿Qué es Docker y por qué es tan popular?" . ZDNet . CBS Interactive .
- ^ Butler, Brandon (10 de junio de 2014). "Docker 101: qué es y por qué es importante" . Mundo de la red . IDG .
- ^ "Informe técnico de Enterprise Systems Group, página 5" (PDF) . Informe técnico de Enterprise Strategy Group escrito y publicado el 20 de agosto de 2011 por Mark Peters. Archivado desde el original (PDF) el 30 de marzo de 2012 . Consultado el 18 de julio de 2013 .
enlaces externos
- Introducción a la virtualización , enero de 2004, por Amit Singh