Activitats pràctiques — Unitat 1
Administració i Manteniment de Sistemes i Aplicacions
Activitats per a casa
Aqueste activitat és no avaluables i tenen com a objectiu complementar la sessió del laboratori. El principal objectiu és que pugueu reproduir l’entorn del laboratori al vostre ordinador i practicar amb QEMU, sense necessitat de tenir accés a un laboratori físic.
Visualitza la xerrada de Damon Edwards, cofundador de Rundeck, presentada a DevOpsCon 2019:
La xerrada presenta l’evolució del paper tradicional de l’administrador de sistemes cap a un perfil Site Reliability Engineer (SRE), i relaciona aquesta evolució amb la fiabilitat dels sistemes i la productivitat dels equips de desenvolupament.
Edwards és cofundador de Rundeck, una eina comercial d’automatització d’operacions. Teniu-ho present com a possible biaix en com presenta les solucions: la xerrada no deixa de ser, en part, una argumentació a favor del tipus de producte que ell mateix ven.
Què busquem en aquesta activitat?
No intenteu retenir una llista de tecnologies.
Fixeu-vos en com canvia la manera de treballar:
- Quines tasques es poden automatitzar?
- Quines tasques deixen de ser operacions manuals?
- Quina relació apareix entre desenvolupament i operacions?
- Quin paper tenen els SLO?
- Què significa prendre decisions utilitzant un error budget?
- Què passa quan la fiabilitat es tracta com un problema d’enginyeria?
Quina diferència hi ha entre «mantenir un sistema funcionant» i «dissenyar l’operació perquè el sistema sigui fiable»?
Activitat 1 — Configurar QEMU al vostre ordinador
Aquesta activitat és una extensió del laboratori que hem fet a classe. L’objectiu és que pugueu practicar amb QEMU al vostre propi ordinador, sense necessitat de tenir accés a un laboratori físic. No hi ha suport garantit del professorat per a problemes específics de la vostra màquina personal (controladors, virtualització imbricada, antivirus, particularitats del fabricant…).
Comproveu que la virtualització està activada a la BIOS/UEFI del vostre ordinador (sol anomenar-se “Intel VT-x”, “AMD-V” o “SVM Mode”). Sense això, cap dels mecanismes d’acceleració següents (KVM, HVF, WHPX) funcionarà, i QEMU cauria en emulació per programari (TCG) — molt més lent, tal com vam explicar al laboratori.
Si el vostre ordinador executa ja una màquina virtual (per exemple, un portàtil corporatiu gestionat per VDI), és possible que la virtualització imbricada no estigui disponible i que cap d’aquests passos funcioni, independentment de la configuració de la BIOS.
Linux
sudo apt install qemu-system qemu-utils cloud-image-utilsPer fer servir KVM sense sudo cada vegada, el vostre usuari ha de pertànyer al grup kvm:
groups
sudo usermod -aG kvm $USER(cal tancar sessió i tornar a entrar perquè el canvi tingui efecte). Comproveu l’accés amb:
ls -l /dev/kvmLa resta del procés (descàrrega de la imatge, cloud-init, cloud-localds, arrencada) és exactament el mateix que heu fet al laboratori.
macOS (Apple Silicon)
brew install qemu cloud-image-utilsAquí l’accelerador és HVF (Hypervisor.framework), no KVM. Com que Apple Silicon és ARM64, no x86-64, heu d’executar qemu-system-aarch64 (no qemu-system-x86_64) i descarregar la imatge cloud de Debian per a arm64:
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-arm64.qcow2Comanda d’arrencada:
qemu-system-aarch64 -accel hvf -cpu host -m 2048 -smp 2 \
-M virt -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
-drive file=debian-treball.qcow2,if=virtio \
-drive file=seed.img,format=raw,readonly=on \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
-device virtio-net-pci,netdev=net0 \
-nographicFixeu-vos que aquí sí que guest i host tenen la mateixa arquitectura, a diferència del cas d’un Mac Intel: en un Mac Apple Silicon, guest ARM64 sobre host ARM64 és el cas homogeni (com al laboratori, host i guest coincideixen), i és precisament el que permet fer servir HVF en lloc de TCG.
Windows
Cal activar la característica “Windows Hypervisor Platform” (Panell de control → Programes → Activar o desactivar característiques de Windows), que requereix Windows 10/11 Pro, Enterprise o Education, permisos d’administrador, i un reinici.
Instal·leu QEMU des de l’instal·lador oficial de qemu.org. Si preferiu WSL2, tingueu en compte que WSL2 ja fa servir el seu propi hipervisor i KVM no hi és directament disponible sense passos addicionals; la via més senzilla a Windows és l’accelerador WHPX natiu, no KVM dins de WSL2.
Comanda d’arrencada (PowerShell):
qemu-system-x86_64.exe -accel whpx -cpu host -m 2048 -smp 2 `
-drive file=debian-treball.qcow2,if=virtio `
-drive file=seed.img,format=raw,readonly=on `
-netdev user,id=net0,hostfwd=tcp::2222-:22 `
-device virtio-net-pci,netdev=net0 `
-nographicUn cop tingueu l’entorn funcionant a casa, dues idees per practicar sense guió:
- Repetiu l’exercici de
nano(install/remove/purge,dpkg -l,/etc/nanorc) però ambneovim. - Compareu el resultat amb el que vau obtenir amb
nanoal laboratori: per què és diferent? (omproveu quins fitxers instal·la el paquetneovimambdpkg -L neovim, i on espera trobar la seva configuració un cop instal·lat.) - Repetiu l’exercici de temps de restauració (
loadvmvs. arrencada completa) al vostre propi maquinari, i compareu els vostres temps amb els que vau mesurar a l’aula. Si els resultats són molt diferents, penseu quins factors del vostre maquinari (SSD vs. disc mecànic, quantitat de RAM assignada, accelerador disponible) podrien explicar-ho.