Xen

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

Xen, je virtualizační nástroj, který měl být původně open source variantou komerčního VMware ESX serveru. Jeho hypervizor byl - stejně jako hypervizor pro VMware ESX server - odvozen z linuxového jádra a navíc vyžadoval od virtualizovaného stroje podporu v jádře jeho OS. Proto se Xen, jehož první použitelná verze byla uvolněna v r.2003, využívá především pro virtualizaci linuxových strojů s upraveným jádrem.

Jelikož Xen neřešil nic jiného než vlastní virtualizaci a sám o sobě neobsahoval žádnou konzoli pro vzdálený přístup, nebyl nepovažován firmou VMware za konkurenci.

Zvrat pak přišel v okamžiku, kdy firmu XenSource odkoupila fa. CITRIX (22. října 2007) která drží patent na ICA protokol. Citrix tento (mimochodem vynikající) patentově chráněný protokol - určený právě pro vzdálený přístup na server prostřednictvím klientské aplikace - vyvíjí a zdokonaluje již po řadu let. Takže přestože samotný hypervizor zůstal pod GPL licencí, na vývoji otevřeného protokolu pro vzdálený přístup Citrix pochopitelně zájem nemá. Akvizicí Citrixu získal VMware velice nepříjemného konkurenta, zvláště když v září 2008 většinový podíl této firmy v tichosti získala fa. Microsoft.


Poznámka Microsoft přišel s vlastním virtualizačním řešením Hyper-V, postaveným na jeho vlastní platformě Windows Server 2008, které ovšem má stejný problém jako Xen, akorát že v obráceném gardu. Plnou virtualizaci lze použít pouze u jeho systémů s upraveným jádrem, zatím co při virtualizaci jiných OS se používá paravirtualizace, čímž se pochopitelně degraduje jejich výkon.


Instalace distribučního rozšíření pro Xen

Kromě distribučních balíků bylo nutné doinstalovat balík python-xml, který nebyl uveden nikde v závislostech, ale ukázal se jako nezbytný pro spuštění.

Virtuální síť

Ve výchozím nastavení se zařízení veth nevytváří! Je třeba upravit volbu v konfiguračním souboru /etc/xen/xend-config.sxp z

(network-script network-dummy)

za předpokladu že se má přemostit hlavní síťové rozhraní (zpravidla eth0) na

(network-script network-bridge)

Pokud mají virtuální stroje lézt přes jinou síťovku (např. eth1) pak by měla volba vypadat takto:

(network-script 'network-bridge,netdev=eth1')

Přičemž je třeba dát pozor na uzavření parametrů do uvozovek..

VLAN

Pokud používáme vlany, máme několik možností.

Protažení celého svazku VLAN do domU

Rozdělení svazku VLAN v dom0 a protažení jednotlivých zařízení

Virtuální stroj

Problém s přihlášením na konzoli virtuálního stroje

Příčina...
Virtuální stroj nespouští ve výchozím nastavení getty na /dev/hvc0 jak vyžaduje Xen, ale na /dev/tty1.
..a řešení problému
Je třeba v souboru /etc/inittab zakomentovat nastavení pro první konzoli tty1 a místo něj nastavit hvc0. Viz níže:
co:2345:respawn:/sbin/getty 38400 hvc0
#1:2345:respawn:/sbin/getty 38400 tty1


Problém s přihlášením do virtuálního stroje přes ssh

Příčina..
Stroj, pokud byl nainstalován přes debootstrap nemá nainstalován udev.


user@stroj:~$ ssh root@147.32.87.41
root@147.32.87.41's password: 
PTY allocation request failed on channel 0
stdin: is not a tty
..a řešení
Je třeba si při přihlášení spustit bash a doinstalovat balíček udev


user@stroj:~$ ssh root@147.32.87.41 "bash -i"
pads:~# apt-get install udev
pads:~# echo "none /dev/pts devpts defaults 0 0" >> /etc/fstab
pads:~# mount -a