La virtualización es una tecnología que permite crear múltiples entornos simulados o virtuales a partir de un único sistema físico. En el contexto de Linux, la virtualización es una herramienta poderosa que permite a los administradores de sistemas y desarrolladores maximizar el uso de recursos, mejorar la eficiencia y la flexibilidad, y simplificar la gestión de sistemas.
Conceptos Clave de la Virtualización
-
Hipervisor: Software que permite crear y gestionar máquinas virtuales (VMs). Existen dos tipos:
- Tipo 1 (Bare Metal): Corre directamente sobre el hardware del servidor. Ejemplos: VMware ESXi, Microsoft Hyper-V.
- Tipo 2 (Hosted): Corre sobre un sistema operativo anfitrión. Ejemplos: VirtualBox, VMware Workstation.
-
Máquina Virtual (VM): Un entorno virtual que emula un sistema operativo completo, incluyendo hardware virtualizado.
-
KVM (Kernel-based Virtual Machine): Una solución de virtualización de código abierto integrada en el kernel de Linux que convierte a Linux en un hipervisor de tipo 1.
-
QEMU (Quick Emulator): Un emulador y virtualizador de hardware de código abierto que, junto con KVM, proporciona una solución completa de virtualización.
-
Libvirt: Una API y herramienta de gestión para la virtualización en Linux, compatible con KVM, QEMU, y otros hipervisores.
Instalación y Configuración de KVM
Requisitos Previos
- Un sistema Linux con un kernel compatible con KVM.
- Soporte de virtualización habilitado en el BIOS/UEFI del sistema.
Paso 1: Verificar Soporte de Virtualización
Antes de instalar KVM, asegúrate de que tu CPU soporta virtualización:
Un resultado mayor que 0 indica que la CPU soporta virtualización.
Paso 2: Instalar KVM y Herramientas Asociadas
En una distribución basada en Debian/Ubuntu:
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
En una distribución basada en Red Hat/CentOS:
Paso 3: Iniciar y Habilitar el Servicio de Libvirt
Paso 4: Verificar la Instalación
Para verificar que KVM está correctamente instalado y funcionando:
Deberías ver una lista vacía de máquinas virtuales, lo que indica que el servicio está funcionando.
Creación de una Máquina Virtual
Paso 1: Descargar una Imagen ISO
Descarga una imagen ISO del sistema operativo que deseas instalar en la VM. Por ejemplo, puedes descargar una ISO de Ubuntu desde su sitio web oficial.
Paso 2: Crear una Máquina Virtual con virt-manager
virt-manager
es una interfaz gráfica para gestionar máquinas virtuales. Para crear una VM:
-
Abre
virt-manager
:virt-manager
-
Haz clic en "Create a new virtual machine".
-
Sigue el asistente para configurar la VM:
- Selecciona "Local install media (ISO image or CDROM)".
- Navega hasta la ubicación de la imagen ISO descargada.
- Asigna recursos (CPU, RAM) a la VM.
- Crea un disco duro virtual para la VM.
- Completa la configuración y comienza la instalación del sistema operativo.
Paso 3: Crear una Máquina Virtual desde la Línea de Comandos
Alternativamente, puedes usar virt-install
para crear una VM desde la línea de comandos:
sudo virt-install \ --name ubuntu-vm \ --ram 2048 \ --disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu20.04 \ --network bridge=virbr0 \ --graphics vnc \ --cdrom /path/to/ubuntu.iso
Gestión de Máquinas Virtuales
Listar Máquinas Virtuales
Para listar todas las VMs:
Iniciar y Detener Máquinas Virtuales
Para iniciar una VM:
Para detener una VM:
Eliminar una Máquina Virtual
Para eliminar una VM y su disco asociado:
Ejercicio Práctico
Ejercicio 1: Crear y Configurar una Máquina Virtual
- Objetivo: Crear una máquina virtual con Ubuntu 20.04 utilizando
virt-manager
. - Pasos:
- Instala KVM y
virt-manager
en tu sistema. - Descarga la imagen ISO de Ubuntu 20.04.
- Usa
virt-manager
para crear una nueva VM con la imagen ISO descargada. - Asigna 2 CPUs, 2GB de RAM y un disco de 20GB a la VM.
- Completa la instalación de Ubuntu en la VM.
- Instala KVM y
Solución
-
Instalar KVM y
virt-manager
:sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
-
Descargar la imagen ISO de Ubuntu 20.04:
- Visita el sitio web oficial de Ubuntu y descarga la ISO.
-
Crear una nueva VM con
virt-manager
:- Abre
virt-manager
:virt-manager
- Sigue el asistente para crear una nueva VM:
- Selecciona "Local install media (ISO image or CDROM)".
- Navega hasta la ubicación de la imagen ISO descargada.
- Asigna 2 CPUs, 2GB de RAM y un disco de 20GB.
- Completa la instalación de Ubuntu.
- Abre
Conclusión
En esta sección, hemos cubierto los conceptos básicos de la virtualización en Linux, incluyendo la instalación y configuración de KVM, la creación y gestión de máquinas virtuales, y un ejercicio práctico para reforzar los conocimientos adquiridos. La virtualización es una herramienta esencial para cualquier administrador de sistemas, y dominarla te permitirá gestionar tus recursos de manera más eficiente y flexible. En el próximo tema, exploraremos los contenedores de Linux y Docker, una tecnología complementaria que lleva la virtualización al siguiente nivel.
Maestría en Linux: De Principiante a Avanzado
Módulo 1: Introducción a Linux
- ¿Qué es Linux?
- Historia de Linux
- Distribuciones de Linux
- Instalando Linux
- Estructura del Sistema de Archivos de Linux
Módulo 2: Comandos Básicos de Linux
- Introducción a la Línea de Comandos
- Navegando el Sistema de Archivos
- Operaciones de Archivos y Directorios
- Visualización y Edición de Archivos
- Permisos y Propiedad de Archivos
Módulo 3: Habilidades Avanzadas en la Línea de Comandos
- Uso de Comodines y Expresiones Regulares
- Tuberías y Redirección
- Gestión de Procesos
- Programación de Tareas con Cron
- Comandos de Redes
Módulo 4: Scripting en Shell
- Introducción al Scripting en Shell
- Variables y Tipos de Datos
- Estructuras de Control
- Funciones y Librerías
- Depuración y Manejo de Errores
Módulo 5: Administración del Sistema
- Gestión de Usuarios y Grupos
- Gestión de Discos
- Gestión de Paquetes
- Monitoreo del Sistema y Optimización del Rendimiento
- Respaldo y Restauración
Módulo 6: Redes y Seguridad
- Configuración de Redes
- Firewall y Seguridad
- SSH y Acceso Remoto
- Sistemas de Detección de Intrusos
- Asegurando Sistemas Linux
Módulo 7: Temas Avanzados
- Virtualización con Linux
- Contenedores de Linux y Docker
- Automatización con Ansible
- Optimización del Kernel de Linux
- Alta Disponibilidad y Balanceo de Carga