Saltar al contenido principal

Virtualización en Linux

1. Conceptos Básicos

  • Virtualización: ejecutar sistemas operativos completos dentro de un host físico.
  • Tipos:
    • Virtualización completa → máquinas virtuales completas (ej. KVM, VirtualBox).
    • Paravirtualización → interacción más directa con el kernel para mejor rendimiento (ej. Xen).
    • Contenerización → aislamiento a nivel de procesos, más ligera (ej. Docker, LXC).
  • Hypervisor tipo 1 → corre directamente sobre el hardware (bare-metal).
  • Hypervisor tipo 2 → corre sobre un sistema operativo anfitrión.

2. Herramientas de Virtualización (VMs completas)

2.1 Hypervisores (núcleo de la virtualización)

  • KVM (Kernel-based Virtual Machine) → estándar en Linux, aceleración por hardware.
  • QEMU → emulador, puede usarse con KVM para máximo rendimiento.
  • VirtualBox → multiplataforma, fácil para usuarios.
  • VMware Workstation / ESXi → soluciones profesionales (cerradas).
  • Xen → alternativa avanzada, usado en entornos de nube.

2.2 Frontends y Gestores (interfaz de administración sobre los hypervisores)

  • virt-manager → interfaz gráfica para KVM/QEMU.
  • Cockpit → administración vía web (KVM y otros servicios).
  • GNOME Boxes → simple, orientado a escritorio.
  • Proxmox VE → gestor completo basado en KVM + LXC, con interfaz web, clúster, HA.
  • oVirt → plataforma de gestión de clústeres para KVM.
  • OpenStack → infraestructura de nube sobre KVM/Xen/otros.

3. Contenedores (virtualización ligera)

  • Docker → estándar de facto para contenedores.
  • Podman → alternativa a Docker sin daemon.
  • LXC/LXD → contenedores más parecidos a VMs (máquinas ligeras).
  • Kubernetes → orquestador de contenedores a gran escala.

4. Tecnologías Clave a Conocer

  • Aceleración hardware: Intel VT-x, AMD-V (activar en BIOS/UEFI).
  • Formatos de disco virtual: qcow2, vmdk, vdi, raw.
  • Redes virtuales:
    • NAT → salida a internet desde la VM.
    • Bridge → VM aparece en la misma red que el host.
    • Host-only → comunicación solo con el host.
  • Almacenamiento:
    • Discos dinámicos vs. preasignados.
    • Passthrough de discos/particiones físicas.

5. Casos de Uso

  • Pruebas de sistemas operativos (VirtualBox, GNOME Boxes).
  • Entornos de desarrollo (Docker/Podman).
  • Laboratorios de redes (KVM/QEMU + GNS3, EVE-NG).
  • Servidores de producción (Proxmox, oVirt, OpenStack, Kubernetes).
  • Cloud computing (OpenStack, Kubernetes).