Virtualización: tipos, ventajas, desventajas e hipervisores

Virtualización: máquinas virtuales, contenedores e hipervisores Introducción a la virtualización, las máquinas virtuales y los hipervisores.

La virtualización es una de esas tecnologías que, aunque muchas veces permanece invisible para el usuario final, está detrás de buena parte de la infraestructura informática moderna. Se utiliza para consolidar servidores, crear laboratorios de pruebas, ejecutar varios sistemas operativos en un mismo equipo, construir nubes privadas, aislar servicios y aprovechar mejor el hardware disponible.

Si alguna vez has ejecutado Linux dentro de Windows con VirtualBox, administrado un clúster de Proxmox VE o trabajado con VMware, Hyper-V o KVM, ya has utilizado virtualización. Pero el concepto es más amplio que “crear máquinas virtuales”, y conviene separar varias ideas que a menudo se mezclan.

¿Qué es la virtualización?

Virtualizar significa introducir una capa de abstracción entre un recurso físico y la forma en que ese recurso es presentado y utilizado por el software. En el caso más conocido, un hipervisor toma CPU, memoria, almacenamiento y dispositivos de un equipo físico y los presenta a una o varias máquinas virtuales (VM) como si cada una tuviera su propio computador.

Desde el punto de vista del sistema operativo invitado, una VM dispone de procesadores virtuales, memoria, discos, adaptadores de red y otros dispositivos. Detrás de esos componentes puede existir hardware real dedicado, recursos compartidos con otras máquinas o dispositivos completamente emulados por software.

La virtualización no significa necesariamente “simular todo”. En plataformas modernas, muchas instrucciones del sistema invitado pueden ejecutarse directamente en el procesador utilizando extensiones de virtualización de hardware como Intel VT-x o AMD-V, mientras el hipervisor controla el aislamiento y el acceso a los recursos.

Host, guest, VM e hipervisor: cuatro términos básicos

  • Host o anfitrión: el equipo físico que aporta CPU, RAM, almacenamiento, red y otros recursos.
  • Guest o huésped: el sistema operativo que se ejecuta dentro de una máquina virtual.
  • Máquina virtual (VM): el conjunto de recursos virtuales presentado al sistema invitado.
  • Hipervisor: la capa que crea, ejecuta y controla las máquinas virtuales y arbitra el acceso a los recursos físicos.

En una instalación doméstica el host puede ser un portátil con Windows y VirtualBox. En un centro de datos puede ser un servidor con VMware ESX, Hyper-V, Xen o Linux con KVM. Plataformas como Proxmox VE añaden además gestión, clustering, almacenamiento, redes, alta disponibilidad y contenedores alrededor de la tecnología de virtualización.

Virtualización y emulación no son exactamente lo mismo

Los términos suelen utilizarse juntos, pero describen cosas distintas. La virtualización intenta ejecutar un sistema invitado sobre recursos reales compatibles, utilizando el procesador del host de forma directa siempre que sea posible. La emulación reproduce por software el comportamiento de una arquitectura o dispositivo que puede ser diferente del hardware físico.

QEMU ilustra muy bien esa diferencia. Puede emular una máquina completa y traducir instrucciones mediante TCG, incluso cuando la arquitectura invitada es distinta de la del host. También puede utilizar aceleradores como KVM en Linux para permitir que buena parte del código invitado se ejecute directamente sobre el procesador. En ese segundo caso QEMU y KVM trabajan juntos como parte de una plataforma de virtualización.

Principales tipos de virtualización

Virtualización de máquinas o servidores

Es la modalidad más conocida. Cada VM ejecuta su propio sistema operativo y recibe una vista virtualizada del procesador, memoria, almacenamiento, red y otros dispositivos. Varias máquinas virtuales pueden convivir en el mismo host manteniendo espacios de ejecución separados.

Es habitual en centros de datos, servidores empresariales, entornos de desarrollo, formación y laboratorios. También permite ejecutar un sistema operativo distinto al del equipo principal, siempre que la plataforma y la arquitectura sean compatibles.

Virtualización a nivel de sistema operativo y contenedores

Los contenedores ofrecen un aislamiento más ligero. En lugar de ejecutar un kernel completo para cada instancia, varios contenedores comparten el kernel del host y aíslan procesos, sistemas de archivos, redes y recursos mediante mecanismos del sistema operativo.

Docker popularizó enormemente este modelo para aplicaciones. LXC, por su parte, puede ofrecer contenedores con una experiencia más cercana a un pequeño sistema Linux completo. Proxmox VE integra precisamente LXC junto a KVM: contenedores para ciertos escenarios ligeros y máquinas virtuales cuando se necesita un kernel independiente o un sistema operativo diferente.

Contenedor y máquina virtual no son rivales obligatorios. En una infraestructura real es muy común ejecutar contenedores dentro de máquinas virtuales y aprovechar las ventajas de ambos niveles de aislamiento.

Virtualización de red

Una infraestructura virtual necesita conectar máquinas y servicios sin depender de que exista una tarjeta o un switch físico por cada conexión. Para ello se utilizan interfaces virtuales, bridges, switches virtuales, routers virtuales y redes superpuestas.

Tecnologías como VLAN y VXLAN permiten segmentar o extender redes lógicas sobre una infraestructura física compartida. No todo mecanismo de red virtual es un hipervisor, pero la abstracción de red es una parte esencial de las plataformas de virtualización y de los centros de datos definidos por software.

Virtualización y abstracción de almacenamiento

Los discos que ve una VM suelen ser archivos, volúmenes lógicos o bloques proporcionados por sistemas de almacenamiento físicos. La plataforma puede presentar un disco virtual independientemente de si detrás existe un SSD local, un volumen LVM, ZFS, SAN, Ceph, NFS u otro sistema.

Esta capa facilita operaciones como snapshots, clonación, thin provisioning y migración de almacenamiento, aunque la disponibilidad exacta depende de la plataforma y del backend utilizado.

Virtualización de escritorio

En escenarios VDI (Virtual Desktop Infrastructure), el escritorio del usuario se ejecuta de forma centralizada y se accede a él de manera remota. La idea es distinta de abrir VirtualBox en un PC personal: aquí decenas o miles de escritorios pueden gestionarse desde una infraestructura común.

Virtualización y passthrough de dispositivos

Un hipervisor puede presentar dispositivos completamente virtuales —por ejemplo, una tarjeta de red VirtIO— o permitir acceso más directo a hardware físico mediante técnicas de passthrough, como PCI passthrough con IOMMU. Esto se utiliza, por ejemplo, para asignar una GPU, una controladora de almacenamiento o una interfaz de red concreta a una VM.

Hipervisores de tipo 1 y tipo 2

La clasificación tradicional divide los hipervisores en dos grupos. Sigue siendo útil para aprender, aunque las arquitecturas modernas hacen que la frontera no siempre sea perfecta.

Tipo 1 o bare-metal

El hipervisor forma parte de la capa principal que controla el hardware y las máquinas virtuales. Es el modelo habitual en servidores y centros de datos. Ejemplos conocidos son VMware ESX/vSphere, Microsoft Hyper-V, Xen y KVM, aunque cada uno tiene una arquitectura interna diferente.

Hyper-V es un buen ejemplo de por qué “tipo 1” no significa necesariamente que no exista un sistema de administración visible. Microsoft lo clasifica como hipervisor tipo 1: el hipervisor controla CPU y memoria, mientras una partición raíz proporciona servicios de gestión y acceso a dispositivos.

Con KVM ocurre algo igualmente interesante. KVM está integrado en el kernel Linux y permite que Linux funcione como hipervisor. Normalmente se combina con QEMU para proporcionar el modelo de máquina y los dispositivos virtuales.

Tipo 2 o hosted

Un hipervisor alojado se instala como aplicación sobre un sistema operativo existente. Es un enfoque muy práctico para escritorios, laboratorios, desarrollo y aprendizaje.

Oracle VirtualBox y VMware Workstation son ejemplos típicos. El usuario conserva su Windows, Linux o macOS habitual y ejecuta dentro de él uno o varios sistemas invitados.

Plataformas y tecnologías de virtualización que conviene conocer

KVM + QEMU

KVM convierte Linux en una plataforma capaz de ejecutar máquinas virtuales aisladas utilizando virtualización asistida por hardware. QEMU proporciona el modelo de máquina, dispositivos virtuales y capacidades de emulación. Es una combinación fundamental en el ecosistema Linux y constituye la base de numerosas plataformas comerciales y abiertas.

Proxmox Virtual Environment

Proxmox VE no es un hipervisor independiente. Es una plataforma de virtualización y administración basada en Debian que integra KVM para máquinas virtuales y LXC para contenedores, además de clustering, alta disponibilidad, redes, almacenamiento y una interfaz web de gestión.

Tenemos una serie completa dedicada a esta plataforma que comienza con Introducción a Proxmox Virtual Environment.

VMware vSphere y VMware Workstation

VMware vSphere es la plataforma de virtualización empresarial de VMware para ejecutar y administrar cargas de trabajo en servidores. En el escritorio, VMware Workstation permite ejecutar máquinas virtuales sobre un sistema operativo existente.

Microsoft Hyper-V

Hyper-V es la tecnología de hipervisor de Microsoft integrada en Windows Server y en determinadas ediciones de Windows. Microsoft la clasifica como hipervisor tipo 1 y la utiliza tanto para virtualización empresarial como para desarrollo y laboratorios locales.

Oracle VirtualBox

Oracle VirtualBox es una plataforma multiplataforma especialmente cómoda para escritorio, formación y pruebas. Permite crear y ejecutar múltiples sistemas operativos invitados sobre Windows, Linux, macOS y otras plataformas compatibles.

Si quieres empezar desde cero, continúa con Introducción a Oracle VirtualBox: qué es y para qué sirve.

Xen y XenServer

Xen es un hipervisor abierto con una larga historia en virtualización de servidores. XenServer es una plataforma comercial basada en esta tecnología. El antiguo nombre Citrix Hypervisor ya no es la forma más adecuada de presentar el producto actual; XenServer volvió a utilizarse como marca y continúa evolucionando.

Ventajas reales de la virtualización

  • Mejor utilización del hardware: varios servicios pueden compartir un servidor que de otro modo estaría infrautilizado.
  • Aislamiento entre cargas: una VM tiene su propio espacio de ejecución y sistema operativo, lo que reduce muchas formas de interferencia entre servicios.
  • Provisionamiento rápido: crear una nueva VM suele ser mucho más rápido que comprar, instalar y cablear un servidor físico.
  • Laboratorios y pruebas: es sencillo crear entornos temporales, redes aisladas y sistemas que después pueden eliminarse.
  • Snapshots y clonación: muchas plataformas permiten capturar estados o duplicar máquinas, aunque un snapshot no debe confundirse con una estrategia completa de respaldo.
  • Movilidad de cargas: determinadas plataformas pueden migrar VMs entre hosts, incluso en caliente cuando la infraestructura y las licencias lo permiten.
  • Alta disponibilidad: los clústeres pueden reiniciar o trasladar cargas cuando falla un nodo, siempre que hayan sido diseñados para ello.
  • Compatibilidad y legado: una VM puede mantener sistemas antiguos o entornos específicos separados del equipo principal, dentro de los límites de compatibilidad del hipervisor.
  • Automatización: las máquinas virtuales pueden crearse, configurarse y eliminarse mediante APIs, herramientas de orquestación e infraestructura como código.

Desventajas y riesgos que también debemos conocer

  • Contención de recursos: si se asignan más CPU, memoria o I/O de los que el host puede proporcionar, todas las cargas pueden degradarse.
  • Mayor concentración del impacto: un único servidor físico puede alojar muchos servicios; si falla sin redundancia, puede afectar a todos ellos.
  • Complejidad operativa: clustering, redes virtuales, almacenamiento compartido, copias de seguridad y alta disponibilidad requieren conocimientos específicos.
  • Overhead: existe cierto coste de virtualización, aunque con hardware moderno y drivers paravirtualizados puede ser pequeño para muchas cargas. En otras, especialmente I/O o latencia crítica, puede ser relevante.
  • Seguridad del hipervisor: el aislamiento es una ventaja, no una garantía absoluta. Vulnerabilidades del hipervisor, configuraciones incorrectas o dispositivos compartidos pueden ampliar el impacto de un incidente.
  • Licenciamiento: algunos sistemas operativos y plataformas empresariales aplican reglas específicas para hosts, sockets, núcleos, VM o migración.
  • Dependencia de la plataforma: formatos de disco, dispositivos virtuales, funciones de clúster y APIs varían entre proveedores.

Snapshot, clon y backup no significan lo mismo

Un error común es pensar que, por estar virtualizado, un servidor ya está respaldado. Un snapshot suele registrar el estado de una VM o de sus discos en un momento concreto y depende de la infraestructura donde fue creado. Un clon crea otra instancia basada en una VM. Un backup debe conservar una copia recuperable siguiendo una política de retención y, preferiblemente, almacenarse fuera del mismo dominio de fallo.

La virtualización facilita muchísimo las copias y la recuperación, pero no sustituye una estrategia de respaldo.

¿Virtualización y computación en la nube son lo mismo?

No. La virtualización es una tecnología de infraestructura; la computación en la nube es un modelo mucho más amplio que combina recursos bajo demanda, automatización, APIs, medición, escalabilidad, redes, almacenamiento y servicios gestionados.

Muchas nubes utilizan hipervisores y máquinas virtuales debajo, pero una nube no es simplemente “varios servidores unidos como una sola computadora”. Incluso es posible construir determinados servicios cloud sobre contenedores o hardware dedicado sin exponer una VM al usuario.

¿Por dónde empezar?

Para aprender en un PC personal, VirtualBox o VMware Workstation son formas cómodas de comenzar. En Windows también puedes utilizar Hyper-V si tu edición y hardware lo permiten. En Linux, KVM/QEMU es una base excelente para comprender el modelo utilizado en muchas infraestructuras profesionales.

Si tu objetivo es administrar servidores y clústeres, Proxmox VE permite estudiar en una misma plataforma máquinas virtuales KVM, contenedores LXC, almacenamiento, redes, backups y alta disponibilidad.

Fuentes y referencias

Ir al contenido