Obsah referátu
- Proč virtualizace?
- Úrovně virtualizace: kontejnery (
chroot(2)
, BSDjail(2)
,systemd-nspawn(8)
,podman/docker
) - Emulace HW (Qemu), paravirtualizace, plná virtualizace (KVM, XEN 3, VMware).
- Virtualizace I/O zařízení (virtio), zpřístupnění fyzického HW dovnitř virtuálního stroje.
- Formáty virtuálních disků
- Prostředky pro vysokou dostupnost a migraci.
- Připojení virtuálních strojů do sítě.
- Nadstavby pro správu virtuálních strojů.
Úkol
Cílem je vytvořit si nový virtuální stroj
protoXY-beta
uvnitř vašeho stroje protoXY
,
kterému budeme též říkat protoXY-alpha
.
Nakonfigurujte na svém fyzickém stroji některý virtualizační nebo kontejnerový systém a v něm vytvořte virtuální stroj nebo kontejner s celým operačním systémem. Poznámka: virtualizační systém může též být pouhá systemd unit startující
qemu-kvm
s příslušnými parametry.Do virtuálního stroje nainstalujte operační systém podle zadání úlohy 1 (Instalace systému).
Použijte následující topologii sítě:
Nakonfigurujte korektně statické směrování IPv4 i IPv6, včetně cest k virtuálním strojům ostatních počítačů v laboratoři (použijte
proto01
-proto15
aproto20
).V konfiguraci nepoužívejte NAT a také ne takový bridge, ve kterém by bylo i hlavní síťové rozhraní počítače
protoXY
(to s adresou z prefixu10.0.0.0/24
, resp.fd00:dead:beef::/64
).Na druhou stranu vyhrazený bridge pro všechny potenciální virtuální stroje, které byste třeba do budoucna chtěli vytvořit, může být užitečné, byť pro jeden stroj
protoXY-beta
nutné není.Virtualizační nástroj nastavte tak, aby se virtuální počítač aktivoval automaticky po startu systému, a při jeho vypínání se buďto správně vypnul nebo hibernoval.
Pro rychlejší běh virtuálního systému doporučujeme povolit hardwarovou nested virtualizaci. V rozhraní OpenNebuly to nakonfigurujete tak, že kliknete na záložku
Conf
vpravo na kartě konkrétního virtuálního stroje, pak ve sloupciOS & CPU
vlevo vyberete doleCPU
a jakoCPU model
zvolítehost-passthrough
. Pak nahoře zelenéUpdate
.Pak je třeba virtuální stroj shodit a zase zapnout (pozor, reboot OS uvnitř VM nestačí!).
V
/proc/cpuinfo
byste pak měli vidět konkrétní typ CPU namístoQEMU virtual CPU
.Pokud se rozhodnete místo virtuálního stroje zprovoznit OS-level kontejner (například pomocí
lxc
nebosystemd-nspawn
), dejte pozor na to, že v současné době kontejnerové nástroje nefungují úplně dobře s bezpečnostními technologiemi typu SELinux. Kontejner musí být oddělený od vnějšiho prostoruprotoXY
minimálně pomoci- samostatného stromu souborů a adresářů,
- samostatného prostoru UID/GID,
- samostatné sítě,
- a samostatného číslování PID.
Hodnocení
Základní část
- běží VM
- funguje
ping -4
iping -6
z erigony - funguje SSH z erigony na uživatele
root
se zadaným klíčem
Hodnocená část
- 3 body: viz úloha 1
- 2 body: statické směrování IPv4 i IPv6
- 1 bod: korektní vypnutí/zapnutí VM při vypnutí/zapnutí fyz. stroje
- 1 bod: správná konfigurace FW na fyzickém stroji (zakázáno vše co nebylo požadováno dosavadními úkoly)
Bonusová část
- 2 body: správně nakonfigurovaná sériová konzola na VM, přístupná z fyzického stroje.
- 1 bod: sériová konzola funkční i pro výběr jádra a další ovládání bootloaderu VM.