Jump to section

Las máquinas virtuales

Copiar URL

Una máquina virtual (VM) es un entorno informático que funciona como un sistema aislado con su propia CPU, memoria, interfaz de red y almacenamiento, el cual se crea a partir de un conjunto de recursos de hardware. Mediante un sistema de software denominado hipervisor, se aíslan los recursos informáticos necesarios y se crean y gestionan las máquinas virtuales.

El equipo físico que ejecuta las máquinas virtuales se denomina máquina host, computadora host, sistema operativo host o, simplemente, host. Las diversas máquinas virtuales que usan sus recursos son máquinas guest, computadoras guest, sistemas operativos guest, o simplemente, guests. El hipervisor trata a los recursos informáticos (la CPU, la memoria y el almacenamiento, entre otros) como un conjunto de elementos que puede redistribuirse con facilidad entre los guests actuales o las máquinas virtuales nuevas.

Las máquinas virtuales permiten que se ejecuten varios sistemas operativos diferentes a la vez en una misma computadora, como cuando se ejecuta una distribución de Linux® en un sistema macOS o Windows. Cada sistema operativo se ejecuta tal como lo harían un sistema operativo o una aplicación en el hardware del host. Por eso, la experiencia del usuario final emulada dentro de la máquina virtual es casi idéntica a la experiencia en un sistema operativo que se ejecuta en una máquina física. 

El término virtualización hace referencia a la tecnología que utiliza los recursos que están tradicionalmente vinculados al hardware. Gracias a que distribuye las funciones de una máquina física entre varios usuarios o entornos, posibilita el uso de toda la capacidad de la máquina.

Estos son algunos de los tipos de virtualización:

  • Virtualización de los datos: permite que las empresas consoliden las fuentes de datos en un único suministro dinámico.

  • Virtualización de las computadoras de escritorio: permite implementar y controlar diversos entornos de escritorio simulados a través de un administrador central.

  • Virtualización de los servidores: permite que los administradores creen particiones en los servidores para que cumplan funciones específicas.

  • Virtualización de los sistemas operativos: permite ejecutar varios sistemas operativos en una misma computadora.

  • Virtualización de las funciones de red: separa las funciones de la red (como los servicios de directorio, el uso compartido de archivos y la configuración de IP) para distribuirlas entre los entornos.

Las máquinas virtuales son como archivos de datos únicos que pueden trasladarse de una computadora a otra y abrirse en cualquiera de ellas con la tranquilidad de que funcionarán de la misma forma. Los hipervisores gestionan el hardware y separan los recursos físicos de los entornos virtuales. Los recursos se dividen según sea necesario, desde el entorno físico hasta las máquinas virtuales. El hardware sigue ocupándose de la ejecución, de manera que, por ejemplo, la CPU ejecuta las instrucciones solicitadas por las máquinas virtuales, mientras que el hipervisor se encarga de la programación.

Cuando la máquina virtual está en ejecución y un usuario o un programa emiten una instrucción que requiere recursos adicionales del hardware, el hipervisor programa la solicitud en los recursos del sistema físico para que el sistema operativo y las aplicaciones de la máquina virtual puedan acceder al grupo compartido de recursos físicos.

En los entornos de Linux®, el hipervisor integrado se denomina máquina virtual basada en el kernel (KVM). Existen otras opciones, como Xen (que cuenta con tecnología de open source) y Microsoft Hyper-V.

Para la virtualización, se pueden usar dos tipos diferentes de hipervisores.

Tipo 1

Los hipervisores de tipo 1 se encuentran en equipos con servidores dedicados (bare metal). El hipervisor programa los recursos de la máquina virtual directamente en el hardware. KVM es un hipervisor de tipo 1.

Tipo 2

Los hipervisores de tipo 2 se encuentran alojados. Los recursos de la máquina virtual se programan en un sistema operativo host, que luego se ejecuta en el hardware. VMware Workstation y Oracle VirtualBox son hipervisores de tipo 2. 

Con la virtualización, es posible ejecutar varios sistemas operativos en simultáneo, los cuales comparten los mismos recursos de hardware virtualizados. Sin ella, solo puede ejecutarse un sistema operativo en el hardware.

La consolidación de servidores es una de las principales razones para utilizar las máquinas virtuales. La mayoría de las aplicaciones y sistemas operativos solo utilizan una pequeña cantidad de los recursos físicos disponibles al momento de implementarse en un equipo con servidores dedicados (bare metal). Si virtualiza los servidores, podrá colocar muchos servidores virtuales en cada servidor físico para mejorar el uso del hardware.

De esa manera, no necesitará comprar recursos físicos adicionales, como unidades de disco duro, ni utilizar tanta energía, espacio y refrigeración en el centro de datos. Además, las máquinas virtuales ofrecen más opciones de recuperación ante desastres, ya que permiten la tolerancia a fallos y la redundancia, lo cual antes solo era posible con un hardware adicional.

Las máquinas virtuales proporcionan entornos aislados del resto del sistema, de manera que todo lo que se ejecuta dentro de ellas no interferirá con nada que se ejecute en el hardware host.

Debido a que se encuentran aisladas, las máquinas virtuales son una buena opción para probar aplicaciones nuevas o configurar un entorno de producción. También puede ejecutar una máquina virtual con un solo propósito, como suministrar los recursos para cierto proceso específico.

La virtualización es una de las tecnologías que respaldan el cloud computing. Las nubes públicas y privadas virtualizan los recursos en conjuntos compartidos, agregan una capa de control administrativo y los ponen a disposición de los usuarios con funciones automatizadas de autoservicio.

El software de automatización, gestión y virtualización con el que se crean las nubes se ejecuta en el sistema operativo, el cual mantiene las conexiones entre los recursos físicos, los conjuntos de datos virtuales, el software de gestión, los scripts de automatización y los usuarios.

Desde hace mucho tiempo, Red Hat es uno de los principales colaboradores en el desarrollo de sistemas de software de virtualización open source. En la actualidad, Red Hat® OpenShift® Virtualization, una función de Red Hat OpenShift, permite que los equipos de TI incorporen las máquinas virtuales (VM) a los flujos de trabajo en contenedores. Para ello, las ejecutan dentro de un contenedor, donde pueden gestionarlas e implementarlas a la par de otros contenedores, todo desde una sola plataforma. Gracias a esto, las empresas se benefician de sus inversiones actuales en la virtualización y, al mismo tiempo, aprovechan la sencillez y la velocidad de una plataforma de aplicaciones moderna.

Las máquinas virtuales actuales se pueden migrar desde otras plataformas a la de aplicaciones de OpenShift utilizando herramientas de migración gratuitas e intuitivas. Las máquinas virtuales que se obtengan se ejecutarán junto con los contenedores en los mismos nodos de Red Hat OpenShift.

Artículos relacionados

ARTÍCULO

Diferencias entre los contenedores y las máquinas virtuales

Las máquinas virtuales (VM) y los contenedores de Linux son entornos informáticos empaquetados que combinan varios elementos de TI y los aíslan del resto del sistema.

ARTÍCULO

¿Qué es una máquina virtual?

Una máquina virtual (VM) es un entorno informático aislado que se crea mediante la extracción de recursos de una máquina física.

ARTÍCULO

¿Qué es KVM?

Las máquinas virtuales basadas en el kernel (KVM) son una tecnología de virtualización open source que convierte a Linux en un hipervisor.