KVM (řízení přes konzole QEMU)
Virtuální konzole v grafickém prostředí X serveru
Virtuální stroj lze ovládat přes virtuální konzoli, která se při spuštění QEMU v grafickém prostředí otevře jako další okno, ve kterém běží virtualizovaný stroj. To co vidíte je však pouze grafická konzole QEMU. Kromě ní obsahuje virtuální konzole ještě další tři. Pokud pracujete přímo s virtuální konzolí v grafickém prostředí X serveru, pak se můžete mezi nimi přepínat následující kombinací kláves
- CTRL+ALT 1 - grafická konzole (virtuální displej monitoru)
- CTRL+ALT 2 - monitorovací konzole
- CTRL+ALT 3 - serial0 konzole
- CTRL+ALT 4 - parallel0 konzole
- CTRL+ALT - opuštění virtuální konzole QEMU
Přepínání linuxových konzolí
Pokud budete virtualizovat v rámci QEMU linuxový stroj, můžete poměrně brzy narazit na otázku, jakým způsobem se lze přepnout v rámci grafické konzole QEMU na jinou konzoli virtuálního stroje.
Přepínání linuxových konzolí v rámci virtuální konzole QEMU
- Z monitorovací konzole
- odesláním příkazu
sendkey ctrl-alt-f[číslo konzole]
- Z grafického prostředí
- příkazem
chvt číslo konzole
- Z textové konzole
- buď rovněž příkazem
chvt číslo grafické konzole
, nebo (pokud nejste na konzoli přihlášeni) současným podržením kláves ALT + SHIFT a stiskem příslušné klánesy F1~7
Přepínání linuxových konzolí v rámci virtualizovaného linuxu přes SPICE
Není-li nastaveno jinak, pak jsou při spuštění virtualizace přes qemu-spice nastaveny ostatní konzole na null, zatímco grafický výstup je exportován přes SPICE. |
- Z monitorovací konzole (pokud je dostupná)
- odesláním příkazu
sendkey ctrl-alt-f[číslo konzole]
- Z grafického prostředí
- příkazem
chvt číslo konzole
- Z textové konzole
- buď rovněž příkazem
chvt číslo grafické konzole
, nebo (pokud nejste na konzoli přihlášeni) podržením klávesy ALT (dokud se neobjeví symbol ALT na obraze) a stiskem příslušné klánesy F1~7
Vzdálená správa
Z hlediska vzdálené správy je nejdůležitější - monitorovací konzole. Prostřednictvím monitorovací konzole můžete provádět s virtuálním strojem nejrůznější operace, počínaje získáváním informací o běžícím virtuálním stroji, až po posílání klávesových kódů do prostředí virtuálního stroje.
Přesměrování monitorovací konzole
Přesměrování monitorovací konzole lze nastavit volbou -monitor
. QEMU umožňuje nastavit více monitorovacích konzolí, každá však funguje samostatně.
Přesměrování na standardní výstup
Lze provést přes parametr stdio. Jinak přesměrování ma standardní výstup je výchozí volba, pokud se virtuální stroj nepouští v grafickém módu, a s volbou -daemonize
Přesměrování na jinou systémovou konzoli
Lze provést přes parametr tty
Přesměrování na předem zvolený síťový port
Lze provést nejjednodušeji přes parametr telnet.
Na monitorovací konzoli se lze pak připojit vzdáleně pomocí aplikace telnet.
Pustit telnet napřímo To je však vhodné pouze pro nějaké pokusy, protože vlastní komunikace není nijak zabezpečená
Presměrování monitorovací konzole do soketu
Lze provést přes parametr unix Na lokální unixového soketu: unix - na monitor se lze připojit např. pomocí utility unixterm (součást instalačního balíku vde2)
Migrace
KVM umožňuje migrování virtuálních strojů za běhu. Aby to však bylo možné, musí být splněny patřičné podmínky. Především ta, že na výchozím i cílovém stroji musí být schopen virtuální stroj běžet v identické konfiguraci. To znamená že:
- Virtuální CPU musí být při spuštění nakonfigurován tak, aby oba stroje byly schopny vyhovět požadavků virtuálu. Jaké procesor podporuje "flags", lze zjistit výpisem souboru
/proc/cpuinfo
na obou virtualizačních strojích. "Flags", které instrukční sada jednoho z procesorů nepodporuje, je třeba zakázat. - Oba stroje musí mít zajištěnou konektivitu do stejného síťového segmentu ve kterém má být virtuál dostupný. V ideálním případě to znamená mít na obou strojích shodně nastavené síťování, což s VDE není žádný problém - viz kapitola KVM (konfigurace sítě).
- Image virtuálního stroje by měl být zároveň dostupný na obou strojích, tzn. že by měl být umístěn v rámci clusterového řešení souborového systému (GFS2, OCFS2, CEPH, Lustre,..) či zařízení (RADOS), které umožňuje současný přístup k témuž souboru z více přípojných bodů.
- Spuštěný virtuální stroj musí mít dostupnou monitorovací konzoli, přes kterou jej lze řídit. V níže uvedeném příkladu čeká na TCP portu číslo 2345, v praxi je však bezpečnější komunikaci zabalit do ssh připojení. Viz výše.
Vlastní průběh migrace je pak již docela triviální.
Na cílovém stroji, kam má být virtuál přesunut, se spustí ve stejné kombinaci jako na zdroji, pouze s tím rozdílem, že se přidá volba -incoming
s patřičnými parametry. QEMU na cílovém stroji tak bude vyčkávat, dokud nedostane od zdroje pokyn, že má místo něj pokračovat ve virtualizaci.
Vlastní migrace pak odstartuje přes monitorovací konzoli příkazem migrate.
Snapshoty
Snapshoty se provádí v podstatě úplně stejně jako migrace. Rozdíl je pouze v tom, že cílem migrace nemusí být jiný stroj, ale soubor.