Introducció
La virtualització és una tecnologia que permet crear múltiples entorns de computació virtuals en una sola màquina física. Això és especialment útil per a la consolidació de servidors, proves de programari, i la creació d'entorns de desenvolupament i producció aïllats. En aquest tema, explorarem els conceptes bàsics de la virtualització amb Linux, les eines més utilitzades i com configurar un entorn de virtualització.
Conceptes Bàsics de la Virtualització
Tipus de Virtualització
- Virtualització Completa: Emula completament el maquinari, permetent executar sistemes operatius sense modificacions.
- Paravirtualització: Requereix modificacions en el sistema operatiu convidat per millorar el rendiment.
- Virtualització a Nivell de Sistema Operatiu: Utilitza contenidors per a aïllar aplicacions i processos.
Avantatges de la Virtualització
- Consolidació de Servidors: Redueix el nombre de servidors físics necessaris.
- Aïllament: Cada màquina virtual (VM) està aïllada de les altres.
- Flexibilitat: Facilita la creació i eliminació d'entorns de prova.
- Recuperació de Desastres: Millora la capacitat de recuperació en cas de fallades.
Eines de Virtualització en Linux
KVM (Kernel-based Virtual Machine)
KVM és una solució de virtualització completa integrada al nucli de Linux. Permet convertir Linux en un hipervisor que pot executar múltiples màquines virtuals.
QEMU
QEMU és un emulador i virtualitzador de maquinari que, combinat amb KVM, proporciona una solució de virtualització potent.
VirtualBox
VirtualBox és una eina de virtualització de codi obert que permet executar múltiples sistemes operatius en una sola màquina.
Libvirt
Libvirt és una API i eina de gestió per a la virtualització que suporta KVM, QEMU, Xen, i altres hipervisors.
Instal·lació i Configuració de KVM
Requisits Previs
- Un sistema Linux amb suport per a virtualització (verifica si el teu processador suporta VT-x o AMD-V).
- Paquets necessaris:
qemu-kvm
,libvirt-daemon
,virt-manager
,bridge-utils
.
Instal·lació de KVM
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
Verificació de la Instal·lació
Creació d'una Màquina Virtual amb Virt-Manager
- Obre Virt-Manager:
virt-manager
- Crea una nova màquina virtual:
- Selecciona "Nou" i segueix les instruccions per a configurar la màquina virtual.
- Assigna recursos com CPU, memòria i emmagatzematge.
- Selecciona una imatge ISO per a instal·lar el sistema operatiu convidat.
Exemple de Creació d'una Màquina Virtual amb virt-install
sudo virt-install \ --name ubuntu-vm \ --ram 2048 \ --disk path=/var/lib/libvirt/images/ubuntu-vm.img,size=20 \ --vcpus 2 \ --os-type linux \ --os-variant ubuntu20.04 \ --network bridge=virbr0 \ --graphics vnc \ --cdrom /path/to/ubuntu.iso
Exercicis Pràctics
Exercici 1: Instal·lació de KVM i Creació d'una Màquina Virtual
- Instal·la KVM i les eines necessàries.
- Crea una màquina virtual utilitzant Virt-Manager o
virt-install
. - Instal·la un sistema operatiu convidat a la màquina virtual.
Exercici 2: Gestió de Màquines Virtuals amb virsh
- Llista les màquines virtuals disponibles:
virsh list --all
- Inicia una màquina virtual:
virsh start ubuntu-vm
- Atura una màquina virtual:
virsh shutdown ubuntu-vm
Errors Comuns i Consells
- Error: "KVM: no hardware support": Assegura't que la virtualització està habilitada a la BIOS del teu ordinador.
- Problemes de Rendiment: Assegura't d'assignar suficients recursos (CPU, memòria) a les màquines virtuals.
- Connexió de Xarxa: Configura correctament els ponts de xarxa per a permetre que les màquines virtuals tinguin accés a la xarxa.
Resum
En aquest tema, hem explorat els conceptes bàsics de la virtualització amb Linux, les eines més utilitzades com KVM, QEMU, i Virt-Manager, i hem après a instal·lar i configurar un entorn de virtualització. També hem realitzat exercicis pràctics per a reforçar els conceptes apresos. La virtualització és una habilitat essencial per a administradors de sistemes i desenvolupadors, ja que permet crear entorns flexibles i eficients per a diverses aplicacions.
Domini de Linux: De Principiant a Avançat
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega