GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es una máquina virtual y por qué usarla?

En el futuro, podremos utilizar estos sistemas de realidad virtual perfectamente diseñados para ser casi indistinguibles de la realidad. Entornos que no están ahí, pero puedes verlos y sentirlos. Aunque todavía no estamos allí para nosotros mismos, 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árselos con un poco más de detalle.

Máquina Virtual y su Necesidad

Introducción

Ejecutar 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 utilizar 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 señalar. Tal como comenzamos este artículo, es una especie de VR 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 administració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 máquinas virtuales se denomina sistema host, y las máquinas instaladas en las máquinas virtuales se denominan sistemas invitados . El hipervisor es la capa que administra todos los recursos entre las máquinas virtuales y el hardware real del sistema (o el sistema operativo que aloja el hipervisor). Aunque los sistemas operativos se ejecutan en hardware virtual, el trabajo del hipervisor es hacer que parezca que el sistema operativo tiene acceso al hardware real.

Los hipervisores proporcionan una frontera estable e inexpugnable entre los diferentes sistemas operativos que se ejecutan como máquinas virtuales. El hipervisor simula los componentes de hardware para la máquina virtual, que configura 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, uno no puede exceder los límites reales del hardware. Por ejemplo, si tiene 16 GB de RAM, puede dividirlos en 8 GB entre dos máquinas virtuales.

El punto crítico es que la tecnología que hace posibles las máquinas virtuales: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 significativos, 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 arruinar todo su sistema fácilmente. Esta es una mala práctica de seguridad. En realidad, lo que sucede es que el núcleo de un sistema operativo interactúa con el hardware. Si alguna aplicación requiere acceso a cualquier componente de hardware, puede enviar una solicitud al kernel y el kernel proporcionará una respuesta adecuada. Estas solicitudes se denominan llamadas al sistema o llamadas al sistema .

Ahora tomamos el caso de una VM en un hipervisor alojado. Por ejemplo, ejecuta una aplicación en el sistema operativo invitado. Esto enviará una llamada al sistema al núcleo del sistema operativo invitado. Esto, a su vez, será interpretado y convertido en 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 anfitrión 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 del hardware moderno, no lleva tanto tiempo como parece, pero no es como la velocidad y el rendimiento nativos. La solución a esto es el hipervisor 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 directamente con el hardware, como un sistema operativo. Todos los sistemas operativos requeridos se instalarán sobre el hipervisor bare metal y las aplicaciones encima. Esto añade varias ventajas. Todos los sistemas operativos instalados en el hipervisor se ejecutan muy bien, casi como sistemas operativos nativos, con retrasos o interrupciones 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 máquinas virtuales, 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 encima del sistema operativo y luego las aplicaciones se ejecutan directamente dentro del contenedor. No hay SO 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.

Múltiples estaciones de trabajo desde un solo sistema

El primer punto y el principal punto de venta de las máquinas virtuales es el hecho de que puede usar múltiples 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 demostrará ser muy eficiente.

Esto también tiene un uso generalizado. Si necesita una aplicación que se ejecute en cualquier sistema operativo que no use, no tiene que instalar 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 cual 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 completamente los recursos del hardware. ¿Solución? Instale un hipervisor básico y ejecute varios sistemas operativos que, en conjunto, utilicen el hardware en su totalidad.

Por lo tanto, las máquinas virtuales aprovechan al máximo la utilización de los recursos. Pero no son solo los servidores de los que estamos hablando. Por ejemplo, si tiene una poderosa computadora para juegos, 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 una cantidad más significativa de sistemas operativos y tareas.

Eficiencia energética

Como 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 la factura de la luz; sin duda también es bueno para el medio ambiente.

Espacio Físico/ Movilidad

Puede usar una máquina para múltiples sistemas en lugar de varios dispositivos, por lo que ahora, naturalmente, está ahorrando una gran cantidad de 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 de lo que tradicionalmente tendría que mover. .

Recuperación

Esta 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 hacen copias de sus propiedades, configuraciones y datos en ciertos 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 también suelen utilizar máquinas virtuales para comprobar la compatibilidad con diferentes sistemas operativos.

Conclusión

Las máquinas virtuales nos han proporcionado muchas mejoras con respecto a nuestros métodos anteriores. 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 fines de prueba; en general, excelentes para causas personales, profesionales y ambientales.

Esperamos que haya encontrado este artículo informativo y útil.


Linux
  1. Cómo:¿Qué es Git y Github? ¿Cómo lo uso y por qué debería importarme?

  2. Chroot "cárcel":¿qué es y cómo usarlo?

  3. ¿Cuándo y por qué debo usar Apt-get Update?

  4. Cuándo y por qué usar Docker

  5. ¿Por qué Deis y qué es?

¿Qué es Kubernetes DaemonSet y cómo usarlo?

Comando de archivo de Linux:qué hace y cómo usarlo

Comando de cola de Linux:qué es y cómo usarlo

¿Qué son los contenedores multicuenta de Firefox? ¿Por qué y cómo usarlo?

¿Qué es EasyApache y cómo lo uso?

¿Qué es la función de la comunidad ONLYOFFICE y por qué debería usarla?