Unidad 1: ¿Qué tengo que saber?
Usa esta lista para repasar la unidad. Ve marcando lo que ya dominas: se guarda en tu navegador, así que lo verás marcado cuando vuelvas desde el mismo equipo. Si no puedes marcar algún punto, vuelve a la presentación o al ejercicio correspondiente.
Introducción a la virtualización
- Sé explicar qué es la virtualización, para qué se utiliza y sus ventajas e inconvenientes.
- Identifico el hipervisor, el anfitrión (host) y el invitado (guest).
- Sé explicar qué son las extensiones de virtualización (Intel VT / AMD-V) y qué aporta la virtualización asistida por hardware.
- ¿Sé diferenciar la emulación, la virtualización completa y la virtualización en contenedores?
- ¿Sé diferenciar un hipervisor de tipo 1 (nativo) de uno de tipo 2 (alojado), y poner ejemplos de cada uno?
- ¿Sé diferenciar los contenedores de sistema (LXC) de los de aplicación (Docker)?
QEMU, KVM y libvirt
- Sé explicar los dos modos de funcionamiento de QEMU (emulador y virtualización) y qué papel tiene KVM.
- Sé explicar por qué KVM es un hipervisor de tipo 1 aunque funcione sobre Linux.
- ¿Sé diferenciar un dispositivo emulado de uno paravirtualizado (
virtIO), y por qué este rinde más? - Sé explicar qué es libvirt y qué aporta frente a usar QEMU/KVM directamente.
- ¿Sé diferenciar las conexiones
qemu:///session,qemu:///systemyqemu+ssh:///system? - Identifico para qué sirve cada herramienta:
virsh,virt-install,virt-clone,virt-vieweryvirt-manager. - Sé instalar QEMU/KVM + libvirt y trabajar con
virshsinsudo(grupolibvirtyLIBVIRT_DEFAULT_URI).
Gestión de máquinas virtuales
- Sé crear una máquina con
virt-installindicando nombre, memoria, vCPUs, disco, ISO, red y variante de sistema operativo. - Sé acceder a la consola de una máquina con
virt-viewery convirsh console. - Sé arrancar, apagar, reiniciar, suspender, reanudar y forzar el apagado (
destroy) de una máquina, y diferenciarshutdowndedestroy. - Sé configurar una máquina para que se inicie con el host (
autostart). - Sé obtener la información de una máquina: estado, IP, interfaces y discos (
dominfo,domifaddr,domiflist,domblklist). - Sé leer la definición XML de una máquina (
dumpxml) e identificar la memoria, los vCPUs, los discos y las interfaces de red. - Sé modificar los recursos de una máquina con los subcomandos de
virsh, y explicar cuándo hace falta tenerla parada (--config) y por qué es mejor que editar el XML convirsh edit. - Sé explicar por qué Windows no detecta el disco al usar dispositivos
virtIO, y crear la máquina con los driversvirtio-winen un segundo CD-ROM.
Almacenamiento: pools y volúmenes
- ¿Sé diferenciar un pool de almacenamiento de un volumen?
- Identifico el pool
defaulty dónde guarda los volúmenes (/var/lib/libvirt/images). - ¿Sé diferenciar los tipos de pool (
dir,logical,netfs,iSCSI), qué es un volumen en cada uno y cuáles permiten almacenamiento compartido? - ¿Sé diferenciar el almacenamiento NAS (a nivel de archivo) del SAN (a nivel de bloque)?
- ¿Sé diferenciar los formatos raw y qcow2, y por qué el raw ocupa todo el espacio desde el principio y el qcow2 no (aprovisionamiento ligero)?
- Sé consultar los pools y sus volúmenes, con su capacidad y el espacio que ocupan en disco (
pool-info,vol-list --details). - Sé crear un volumen con
virsh vol-create-asy conqemu-img create, y explicar por qué en el segundo caso hay que hacerpool-refresh. - Sé crear una máquina usando un volumen que ya existe como disco principal.
Añadir y redimensionar discos
- Sé añadir un disco a una máquina de forma persistente (
attach-disk --persistent) y quitarlo (detach-disk). - Sé formatear y montar un disco nuevo dentro de la máquina de forma persistente (
/etc/fstab). - Sé redimensionar un volumen con la máquina parada (
vol-resize,qemu-img resize) y en caliente (blockresize). - Sé explicar por qué después de redimensionar el volumen hay que ampliar el sistema de ficheros dentro de la máquina (
resize2fs), y comprobar el nuevo tamaño.
Clonación, imágenes cloud e instantáneas
- Sé clonar una máquina con
virt-cloney explicar qué problemas de identidad tiene el clon (hostname, claves SSH del servidor…). - Sé dar una identidad propia a una máquina clonada: cambiar el hostname y regenerar las claves SSH del servidor.
- Sé explicar qué es una plantilla y para qué sirve.
- ¿Sé diferenciar la clonación completa de la enlazada, y qué es la imagen base (backing store)?
- Sé explicar qué es una imagen cloud y qué hace
cloud-initen el primer arranque. - Sé escribir un fichero
cloud-configque configure el hostname, los usuarios, las claves SSH y los paquetes. - Sé crear una clonación enlazada de una imagen cloud con
qemu-img create -b, ampliar su tamaño y crear la máquina convirt-install --import --cloud-init. - Sé explicar la ventaja de la clonación enlazada con
cloud-initfrente a instalar desde una ISO o por red. - Sé crear, listar y restaurar una instantánea de una máquina, y explicar por qué necesita el formato qcow2.
- Sé explicar en qué momento conviene hacer una instantánea.
Redes
- ¿Sé diferenciar las redes virtuales (NAT, aislada, muy aislada) de las redes puente (bridge externo, interfaz compartida)?
- Sé explicar cómo funciona la red
default: bridgevirbr0, el host como puerta de enlace, servidor DHCP y DNS, y SNAT al exterior. - Sé explicar con qué tiene conectividad una máquina en cada tipo de red: otras máquinas, el host y el exterior.
- Identifico en el XML de una red qué la hace NAT (
<forward/>), aislada (sin<forward>) o muy aislada (sin<ip>). - Sé definir una red con
virsh net-define, activarla y configurarla para que se inicie con el host. - Sé conectar una máquina a una red al crearla (
--network) y añadir o quitar interfaces de una máquina existente (attach-interface,detach-interface). - Sé configurar el direccionamiento dentro de la máquina según el tipo de red: DHCP en la NAT, estático cuando la red no tiene DHCP.
- Sé explicar qué es un bridge externo (
br0), por qué la interfaz física pierde su IP y qué direccionamiento toman las máquinas conectadas a él.
Montar un escenario
- Sé montar un escenario con varias redes y máquinas, en el que una máquina hace de router entre una red muy aislada y la red
default. - Sé configurar el router para que haga SNAT de forma persistente y para publicar un servicio interno con DNAT.
- Sé compartir un directorio por NFS desde una máquina y montarlo en otra de forma persistente, y explicar qué ventaja tiene frente a copiar los ficheros.
- Sé comprobar que todo el escenario sigue funcionando después de reiniciar el host.