KVM (řízení přes konzole QEMU)

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

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

Poznámka 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

Upozornění Pokud chcete přistupovat ke grafické konzoli virtuálního stroje přes SPICE nebo VNC protokol a spustíte virtualizovaný stroj jako démona, ztratíte přístup k monitorovací konzoli a tím i možnost ovládat virtuální stroj ze strany hostitele! Abyste se této situaci vyhnuli, musíte na to při konfiguraci virtuálního stroje pamatovat a monitorovací konzoli přesměrovat.

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.