Tabla de Contenidos
Virtualización
La Virtualización de hardware consiste en la abstracción de todo el hardware subyacente de una plataforma de manera que múltiples instancias de sistemas operativos puedan ejecutarse de manera independiente, con la ilusión de que los recursos abstraídos les pertenecen en exclusiva.
Componentes
- Hardware de la máquina: hardware sobre el que se aplicarán las técnicas de virtualización y será de la que se usarán los recursos hardware
- Capa de virtualización: programa que realiza la virtualización. Se le suele llamar hipervisor o monitor de máquina virtual.
- Máquinas virtuales: entorno virtualizado que dispone de su propio hardware de forma virtual, y esta formado por su propia instancia de un sistema operativo donde se ejecutan sus propias aplicaciones como si de un ordenador real se tratara. Podemos tener tantas máquinas virtuales de sistema como los recursos del servidor anfitrión nos lo permitan.
Usos
- Tener varios sistemas operativos distintos a la vez, aislados entre sí. Útil para probar un sistema operativo sin instalarlo directamente.
- Conseguir una arquitectura de instrucciones distinta del hardware real de la máquina.
- Montar diferentes servidores en un mismo hardware con un propósito definido cada uno y compartiendo los recursos físicos ahorrando el coste total:
- Servidor de ficheros (NFS, CIFS, FTP…)
- Servidor de bases de datos (MySQL, Oracle…)
- Servidor web (Nginx, Apache…)
- Servidor torrent (Transmission)
- Contenedores (Docker)
- Firewall (pfSense)
- Domótica (Home Assistant)
- Bloqueador de anuncios (PiHole)
- Nube personal (Nextcloud)
- Servidor de backups (UrBackup, Syncthing…)
- Monitorización y generación de informes (Grafana, Zabbix…)
Hipervisores
También conocidos como monitores de máquinas virtuales son programas que permiten realizar una virtualización de hardware que permite utilizar, al mismo tiempo, diferentes sistemas operativos.
Los hipervisores, según como se ejecutan, pueden clasificarse en varios tipos:
- Hipervisor tipo 1: nativo o bare metal es un programa que se ejecuta directamente sobre el hadrware físico. Xen, KVM, VMware ESXi, Proxmox son algunos ejemplos.
- Hipervisor tipo 2: son aplicaciones que se ejecutan sobre un sistema operativo. VMware, QEMU o VirtualBox son ejemplos.
Soporte
Para poder usar todas las características de la virtualización, la CPU debe ser compatible. Para saberlo, si nuestro sistema operativo es Linux, bastaría con lanzar estos comandos:
grep -E --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo
Si al ejecutar el comando no se obtiene ninguna salida, el procesador no soporta virtualización por hardware , y no se podrá usar KVM.
Es posible que el soporte para la virtualización deba ser activado en la BIOS. Los procesadores x86_64 de AMD e Intel fabricados en la última década soportan virtualización.
