¿Qué es una máquina virtual y por qué usarla?
IEn el futuro, seremos capaces de utilizar sistemas de realidad virtual tan perfectamente diseñados que serán casi indistinguibles de la realidad. Entornos que no existen, pero que puedes verlos y sentirlos. Aunque todavía no lo hemos logrado para nosotros, lo estamos en el caso de nuestras computadoras. La tecnología de virtualización crea esta posibilidad para nuestras computadoras. Esto tiene varias aplicaciones y principios de funcionamiento, y trataremos de explicártelos con un poco más de detalle.
Máquina virtual y su necesidad
Introducción
La ejecución de un sistema operativo completo requiere tradicionalmente un conjunto de hardware esencial, todo a disposición del sistema operativo. Para ejecutar varios sistemas operativos, lo que también se podría hacer es un arranque múltiple, pero en ese caso, no puede ejecutar dos sistemas operativos al mismo tiempo. Las Máquinas Virtuales nos han brindado la posibilidad de usar más de un sistema operativo simultáneamente en el mismo conjunto de hardware.
En el caso de una máquina virtual, hay algunos puntos obvios que podemos hacer. Al igual que comenzamos este artículo, es una especie de realidad virtual para sistemas operativos. Las máquinas virtuales que creamos utilizan hardware "virtual". El hardware que utiliza el sistema operativo alojado es tan real como cualquier otro en lo que respecta a la comprensión de ese sistema operativo en sí, pero el sistema operativo solo está hecho para verlo de esa manera. La RAM, el almacenamiento y la potencia del procesador utilizados por el sistema operativo son la utilización de solo fracciones del hardware real. Toda esta virtualización y gestión se realiza mediante algo llamado hipervisor.
Hipervisor
Un hipervisor es firmware, software o hardware que es el componente central de una máquina virtual. Aclaremos un poco la terminología aquí: el sistema en el que se instalan las VM se llama sistema anfitrión, y las máquinas instaladas en las VM se denominan sistemas invitados. El hipervisor es la capa que administra todos los recursos entre las VM y el hardware real del sistema (o el sistema operativo que aloja el hipervisor). Aunque los sistemas operativos se ejecutan en hardware virtual, es el trabajo del hipervisor hacer que parezca que el sistema operativo tiene acceso al hardware real.
Los hipervisores proporcionan un límite estable e inexpugnable entre los diferentes sistemas operativos que se ejecutan como máquinas virtuales. El hipervisor simula los componentes de hardware de la máquina virtual, que son configurados por el usuario. El hardware que utilizan las máquinas virtuales (a través de hipervisores) son fracciones del hardware real del sistema. Por lo tanto, no se pueden exceder los límites reales del hardware. Por ejemplo, si tiene 16 GB de RAM, puede dividirlo en 8 GB entre dos máquinas virtuales.
El punto crítico es que la tecnología que hace posible las VM: hipervisores; no requiere ningún hardware especial. Es solo un componente de software esencial. Hay dos tipos importantes de hipervisores:
Tipo 2: hipervisores alojados
Soy consciente de que estoy demostrando el tipo 2 antes que el 1, pero hay una secuencia. Los hipervisores alojados permanecen en el nivel de la aplicación. Esto puede resultarle familiar si alguna vez ha utilizado Oracle VM VirtualBox, VMWare o GNOME Boxes.
Esta es una aplicación que le permite instalar un sistema operativo como una máquina virtual dentro de su sistema operativo (el sistema operativo en el que está instalada la aplicación). Esto es significativamente fácil de configurar y usar. Todo lo que tiene que hacer es instalar una aplicación que le permita crear máquinas virtuales y obtener una imagen del sistema operativo requerido. Puede especificar directamente cuánta RAM, espacio en el disco duro, etc. le gustaría permitir que use la máquina virtual.
El uso de un hipervisor alojado tiene aspectos positivos importantes, especialmente para los usuarios habituales como nosotros. Hay, sin embargo, un problema. La estructura habitual de un sistema informático sigue esta secuencia:
- Hardware físico
- Firmware
- Conductores
- Sistema operativo
- Aplicaciones
Entrando un poco en los tecnicismos, el software que usamos en un sistema informático tiene diferentes "privilegios". Por ejemplo, si permite el acceso de cualquier software para configurar el rendimiento de su procesador, puede seguir adelante y estropear todo el sistema fácilmente. Ésta es una mala práctica de seguridad. En realidad, lo que sucede es que el kernel de un sistema operativo llega a interactuar con el hardware. Si alguna aplicación requiere acceso a algún componente de hardware, puede enviar una solicitud al kernel y el kernel proporcionará una respuesta adecuada. Estas solicitudes se llaman llamadas al sistema o llamadas al sistema.
Ahora tomamos el caso de una máquina virtual en un hipervisor alojado. Por ejemplo, ejecuta una aplicación en el sistema operativo invitado. Esto enviará una llamada al sistema al kernel del sistema operativo invitado. Esto, a su vez, será interpretado y convertido a otra llamada al sistema por el hipervisor, que ahora enviará esa llamada al sistema al kernel del sistema operativo host (porque recuerde, el hipervisor alojado es solo otra aplicación para el sistema operativo host). El kernel del sistema operativo host enviará la respuesta al hipervisor, que ahora deberá convertirse en la respuesta adecuada para la aplicación en el sistema operativo invitado. Uf.
Todo esto significa que los hipervisores alojados tienen que pasar por un proceso bastante largo. En la mayoría de hardware moderno, no toma tanto tiempo como parece, pero no es como la velocidad y el rendimiento nativos. La solución a esto es el hipervisor de tipo 1.
Tipo 1: hipervisor de metal desnudo
Directamente al grano, el hipervisor bare metal se encuentra en la parte superior de la capa de firmware / controlador. Esto significa que puede interactuar con el hardware directamente, como un sistema operativo. Todos los sistemas operativos necesarios se instalarán en la parte superior del hipervisor bare metal y las aplicaciones en la parte superior. Esto agrega varias ventajas. Todos los sistemas operativos instalados en el hipervisor funcionan muy bien, casi como sistemas operativos nativos, con un retraso o tartamudeo mínimos. Si el hardware en el que se está instalando el hipervisor es potente (como suele ser el caso de las computadoras o servidores de juegos), podrá administrar varios sistemas operativos con bastante facilidad.
Algunos ejemplos comunes de hipervisores bare metal incluyen VMWare ESXi, Microsoft Hyper-V, Citrix XenServer, Xen, Linux KVM, etc.
Contenedores
Los contenedores son algo similares a las VM, pero hay bastante diferencia. Como hemos visto en el caso de los hipervisores alojados, las máquinas virtuales se utilizan para instalar un sistema operativo completo, y luego las aplicaciones se instalan y utilizan sobre esos sistemas operativos. Un contenedor, por otro lado, empaqueta el código de una aplicación, sus dependencias, herramientas, bibliotecas, tiempos de ejecución y todas las demás cosas necesarias y ejecuta solo esa aplicación en un entorno virtual.
La imagen hará que la jerarquía sea más clara. Tenga en cuenta que el contenedor se instala sobre el sistema operativo y, a continuación, las aplicaciones se ejecutan directamente dentro del contenedor. No hay ningún sistema operativo dentro del contenedor, como es el caso de las máquinas virtuales.
Usos
Por lo tanto, ya hemos profundizado en los detalles de los principios de funcionamiento de las máquinas virtuales. Es hora de conocer cómo puede ser útil en escenarios de la vida real.
Varias estaciones de trabajo de un solo sistema
El primer punto y el principal punto de venta de las máquinas virtuales es el hecho de que puede utilizar varios sistemas operativos, separados entre sí, al mismo tiempo, desde la misma máquina. Esto abre posibilidades increíbles. Por ejemplo, si necesita dos estaciones de trabajo en el mismo lugar, puede comprar un sistema potente que sea capaz de ejecutar dos sistemas separados al mismo tiempo. Esto resultará realmente muy eficaz.
Esto también tiene un uso generalizado. Si necesita una aplicación que se ejecute en cualquier sistema operativo que no utilice, no es necesario que instale el sistema operativo en su computadora. Puede instalar un software de hipervisor alojado en su sistema operativo e instalar el sistema operativo compatible. Es mucho más fácil de manejar y hace el trabajo.
Utilización máxima
La máxima utilización de los recursos es la razón por la que la virtualización es muy popular para los servidores. Un servidor es una computadora muy, muy poderosa. Es difícil para un solo sistema operativo utilizar los recursos del hardware por completo. ¿Solución? Instale un hipervisor completo y ejecute varios sistemas operativos que, en conjunto, utilizan el hardware en su totalidad.
Por lo tanto, las máquinas virtuales aprovechan al máximo los recursos. Pero no solo estamos hablando de los servidores. Por ejemplo, si tiene una computadora de juegos potente, puede usar su hardware por completo, por ejemplo, usando un sistema operativo como su estación de trabajo principal y otro como NAS. O tal vez un número más significativo de sistemas operativos y tareas.
Eficiencia energetica
Dado que ahora puede ejecutar dos sistemas usando una máquina en lugar de dos máquinas separadas para dos sistemas diferentes, ahorra mucha electricidad y energía. Es bueno para tu factura de luz; también es indudablemente bueno para el medio ambiente.
Espacio físico / movilidad
Puede utilizar una máquina para varios sistemas en lugar de varios dispositivos, por lo que ahora, naturalmente, está ahorrando mucho espacio físico. Esto significa que si obtiene una máquina muy poderosa, puede satisfacer los requisitos de varias, por lo que si tiene que mover su infraestructura de un lugar a otro, ahora tendrá que mover menos hardware físico del que normalmente tendría que mover. .
Recuperación
Ésta es una característica útil. Las máquinas virtuales tienen la propiedad de tomar 'instantáneas'. Dado que todo el sistema es virtual, las máquinas virtuales realizan copias de sus propiedades, configuraciones y datos en determinados intervalos de tiempo. Entonces, si su sistema se estropea o se corrompe en algún momento, puede volver a uno de los estados estables y no habrá mucho daño.
Área de prueba
Una máquina virtual (de hecho, también un contenedor) se utiliza a menudo como campo de pruebas. Cualquier problema que pueda crear en una configuración virtual no puede dañar el hardware real y, por lo tanto, lo convierte en un lugar ideal para probar el nuevo software (especialmente el firmware). Los desarrolladores a menudo también usan máquinas virtuales para verificar la compatibilidad con diferentes sistemas operativos.
Conclusión
Las máquinas virtuales nos han proporcionado muchas mejoras con respecto a nuestros métodos antiguos. Ahora podemos ejecutar sistemas en un espacio más pequeño, de manera más eficiente y segura. Se han convertido en una solución fácil para usar software que no es compatible de forma nativa con su sistema operativo. Las máquinas virtuales se han convertido en un refugio para realizar pruebas; en general, son ideales para causas personales, profesionales y ambientales.
Esperamos que haya encontrado ese artículo informativo y útil.
Deja una respuesta