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

  1. 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.
  2. Máquina Virtual (VM): Un entorno virtual que emula un sistema operativo completo, incluyendo hardware virtualizado.

  3. 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.

  4. 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.

  5. 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:

egrep -c '(vmx|svm)' /proc/cpuinfo

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:

sudo yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install

Paso 3: Iniciar y Habilitar el Servicio de Libvirt

sudo systemctl start libvirtd
sudo systemctl enable libvirtd

Paso 4: Verificar la Instalación

Para verificar que KVM está correctamente instalado y funcionando:

sudo virsh list --all

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:

  1. Abre virt-manager:

    virt-manager
    
  2. Haz clic en "Create a new virtual machine".

  3. 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:

sudo virsh list --all

Iniciar y Detener Máquinas Virtuales

Para iniciar una VM:

sudo virsh start <vm-name>

Para detener una VM:

sudo virsh shutdown <vm-name>

Eliminar una Máquina Virtual

Para eliminar una VM y su disco asociado:

sudo virsh undefine <vm-name> --remove-all-storage

Ejercicio Práctico

Ejercicio 1: Crear y Configurar una Máquina Virtual

  1. Objetivo: Crear una máquina virtual con Ubuntu 20.04 utilizando virt-manager.
  2. 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.

Solución

  1. Instalar KVM y virt-manager:

    sudo apt update
    sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
    
  2. Descargar la imagen ISO de Ubuntu 20.04:

    • Visita el sitio web oficial de Ubuntu y descarga la ISO.
  3. 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.

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

Módulo 2: Comandos Básicos de Linux

Módulo 3: Habilidades Avanzadas en la Línea de Comandos

Módulo 4: Scripting en Shell

Módulo 5: Administración del Sistema

Módulo 6: Redes y Seguridad

Módulo 7: Temas Avanzados

Módulo 8: Proyectos Prácticos

© Copyright 2024. Todos los derechos reservados