Virtualización Esencial
Klíčová slova: Sistemas Operativos, Interfaces de Usuario, Virtualización
Klíčové pojmy: La virtualización crea instancias virtuales de recursos físicos para ejecutar entornos aislados., El hipervisor gestiona VMs: tipo 1 (bare-metal) y tipo 2 (hosted)., Una máquina virtual incluye CPU, memoria, disco y dispositivos virtuales., VirtualBox es un hipervisor tipo 2 práctico para crear VMs (ej.: asignar $2048$ MB)., Usar imágenes/plantillas acelera la creación de VMs., Tipos principales: virtualización completa, paravirtualización y contenedores., Buenas prácticas: no sobreasignar recursos, usar snapshots y monitorizar rendimiento., Limitaciones: overhead, recursos compartidos y dependencia de soporte CPU., Configurar red en VMs: NAT, puente o host-only según necesidad., Las guest additions mejoran integración y rendimiento entre huésped y anfitrión.
## Introducción
La **virtualización** es una técnica que permite crear instancias virtuales de recursos físicos (como hardware, almacenamiento o redes) para ejecutar sistemas y aplicaciones de manera aislada y controlada. En este material aprenderás los conceptos básicos de virtualización, cómo funcionan las máquinas virtuales y ejemplos prácticos de uso con herramientas comunes como VirtualBox.
> **Definición:** La virtualización es el proceso de crear versiones virtuales de recursos físicos para ejecutar múltiples entornos independientes sobre un mismo equipo físico.
## ¿Por qué usar virtualización?
- Aprovechamiento eficiente del hardware físico.
- Aislamiento de entornos para pruebas y desarrollo.
- Portabilidad de sistemas y configuraciones.
- Simplificación del despliegue y recuperación ante fallos.
## Conceptos básicos de virtualización
### Hipervisor
> **Definición:** El hipervisor es el software que crea y gestiona máquinas virtuales, abstrae el hardware físico y permite que múltiples sistemas operativos compartan recursos.
- Tipos de hipervisores:
1. Hipervisor de tipo 1 (bare-metal): se ejecuta directamente sobre el hardware físico.
2. Hipervisor de tipo 2 (hosted): se ejecuta sobre un sistema operativo huésped.
| Característica | Hipervisor tipo 1 | Hipervisor tipo 2 |
|---|---:|---:|
| Nivel de rendimiento | Alto | Medio-Bajo |
| Dependencia de SO | No | Sí |
| Ejemplos | VMware ESXi, Xen | VirtualBox, VMware Workstation |
### Máquina virtual (VM)
> **Definición:** Una máquina virtual es una emulación completa de un sistema informático que corre sobre el hipervisor y consiste en componentes virtuales como CPU, memoria, disco y dispositivos de red.
Componentes principales de una máquina virtual:
- CPU virtual: ciclos de procesador asignados por el hipervisor.
- Memoria virtual (RAM) asignada.
- Disco virtual (archivo o volumen que almacena el sistema y datos).
- Interfaces de red virtuales.
- Dispositivos virtuales (USB, controladores gráficos, etc.).
### Imagen o plantilla
- Una imagen o plantilla es un archivo que contiene un sistema preconfigurado para clonar VMs rápidamente.
## Funcionamiento básico
1. El hipervisor recibe solicitudes de las VMs y las traduce a operaciones sobre el hardware.
2. Se asignan recursos (CPU, memoria, I/O) según políticas y límites configurados.
3. El hipervisor gestiona el acceso concurrente al hardware para mantener aislamiento.
## Virtualización en la práctica: VirtualBox (ejemplo)
- VirtualBox es un hipervisor de tipo 2, fácil de usar para estudiantes y desarrolladores.
Pasos rápidos para crear una VM en VirtualBox:
1. Crear una nueva máquina y asignarle nombre, tipo y versión.
2. Establecer memoria RAM (por ejemplo, $2048$ MB).
3. Crear o vincular un disco duro virtual (VDI, VHD, VMDK).
4. Configurar red: NAT, puente (bridged) o solo anfitrión (host-only).
5. Montar una imagen ISO del sistema invitado e iniciar la instalación.
Ejemplo de uso real:
- Montar un entorno de pruebas con una VM que simule un servidor web, mientras el sistema anfitrión se mantiene para trabajo diario.
Did you know que una sola máquina física con múltiples VMs puede ejecutar versiones diferentes de sistemas y configuraciones simultáneamente sin que unas afecten directamente a otras?
## Tipos de virtualización (resumen)
- Virtualización completa: la VM emula completamente el hardware, permitiendo instalar cualquier sistema invitado compatible.
- Paravirtualización: el sistema invitado se comunica con el hipervisor mediante interfaces especiales para mejorar rendimiento.
- Contenedores (virtualización a nivel de sistema operativo): no crean una VM completa, comparten el mismo kernel pero aislan procesos y dependencias.
| Tipo | Nivel de aislamiento | Uso típico |
|---|---:|---|
| Virtualización completa | Alto | Ejecutar distintos sistemas operativos |
| Paravirtualización | Medio-Alto | Mejor rendimiento en entornos especializados |
| Contenedores | Medio | Microservicios, despliegue r