Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Implementace Xenu v univerzitn´ım prostˇred´ı ˇ Michal Svamberg
26. ˇr´ıjna 2007
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
1
Vlastnosti Hled´ame vhodn´e ˇreˇsen´ı V´ykonost
2
Xen na Z´apadoˇcesk´e univerzitˇe Nastaven´ı Migrace HW podpora virtualizace
3
Xen naˇzivo
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Vlastnosti
Hled´ame vhodn´e ˇreˇsen´ı
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Proˇc pouˇz´ıt virtualizaci? V´yhody: snadno dostupn´y stroj snapshoty duplikace ˇsetˇr´ı n´aklady a prostor lepˇs´ı vyuˇzit´ı hardware a mnoho dalˇs´ıch Nev´yhody: potˇreba l´epe dimenzovan´eho hardwaru vyˇsˇs´ı z´avislost na spolehlivosti hardwaru
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Jakou virtualizaci pouˇz´ıt (1) Emulace Bochs, QEMU, DOSEMU, PearPC pln´a virtualizace kompletn´ıho HW, dynamick´a rekompilace nen´ı nutn´a u ´prava hostovan´eho OS, moˇzn´y provoz jin´eho CPU velmi vysok´a reˇzie Nativn´ı virtualizace VMware Server, Microsoft Virtual Server, HP Integrity Virtual Machine pln´a virtualizace s ˇc´asteˇcnou emulac´ı HW nevyˇzaduje modifikace hostovan´ych OS, nutn´e zachovat CPU mal´a aˇz stˇredn´ı reˇzie ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Jakou virtualizaci pouˇz´ıt (2) OS-level – virtualizace na u ´rovni operaˇcn´ıho syst´emu Linux-VServer, OpenVZ, Virtuozzo, FreeBSD Jail, FreeVPS virtualizace totoˇzn´ych OS na u ´rovni kernelu (hostuj´ıc´ıho OS) n´ızk´a reˇzie m´alo variabiln´ı Paravirtualizace Xen neemuluje hardware, poskytuje speci´aln´ı API vyˇzaduje modifikaci OS (neplat´ı v pˇr´ıpadˇe HW podpory) n´ızk´a reˇzie (pˇri uˇzit´ı HW podpory o nˇeco vyˇsˇs´ı) variabilnost pouˇzit´ı, nutn´e zachovat CPU ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Jakou virtualizaci pouˇz´ıt (3)
Aplikaˇ cn´ı virtualizace Wine virtualizuj´ı se pouze z´akladn´ı komponenty nutn´e pro chod programu m˚ uˇze b´yt rychlejˇs´ı bˇeh neˇz v origin´aln´ım OS
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Proˇc jsme vybrali Xen
podpora Linuxu n´ızka reˇzie virtualizace snadn´y management (CLI) lze nav´azat na existuj´ıc´ı prostˇred´ı souborov´y distribuovan´y syst´em AFS instalaˇcn´ı metoda FAI s´ıt’ov´a infrastruktura pouˇz´ıvaj´ıc´ı VLAN (802.1q) FibreChannel (FC) jako diskov´y subsyst´em
cena
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Architektura Xenu
zdroj: xen.sf.net ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
V´ykonost
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
Pamˇet’
zdroj: xen.sf.net ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
V´ypoˇcetn´ı testy
zdroj: xen.sf.net
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Hled´ ame vhodn´ e ˇreˇsen´ı V´ ykonost
TCP testy
zdroj: xen.sf.net
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Xen na Z´apadoˇcesk´e univerzitˇe
Nastaven´ı
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Provoz virtu´aln´ıch stroj˚ u 3x stroj hostuj´ıc´ı Xen (verze 3.0.4), 32bit 2x DualCore Xeon na 3GHz 8GB RAM, 2x Gbit ethernet, 2x 80GB SATA v SW RAIDu FibreChannel karta
1x stroj hostuj´ıc´ı Xen (verze 3.1), 64bit, Vanderpool 2x DualCore Xeon na 2,6GHz 8GB RAM, 2x Gbit ethernet, 2x 160GB SATA v SW RAIDu FibreChannel karta
celkem 48 virt´aln´ıch stroj˚ u (12 v ostr´em provozu) 64-850MB RAM 10-30GB HDD (vˇcetnˇe 2GB swap souboru) na FC 1x virtualn´ı CPU 1x virtualn´ı ethernet pˇripojen na bridge s danou VLANou
spr´ava virtu´aln´ıch stroj˚ u instalace FAI konfigurace na AFS ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Nastaven´ı s´ıtˇe
VLANy (spr´avcovsk´a je nativn´ı jako z´aloha) bridge propojuj´ı 802.1q rozhran´ı s virtu´aln´ımi interfacy (vif)
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
ˇ Michal Svamberg
Nastaven´ı Migrace HW podpora virtualizace
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Nastaven´ı s´ıtˇe – /etc/network/interfaces auto br1 auto br52 auto br53 iface br1 inet static address 147.228.1.25 netmask 255.255.255.0 broadcast 147.228.1.255 gateway 147.228.1.1 bridge_ports eth0.1 iface br52 inet loopback bridge_ports eth0.52 up ip address del 127.0.0.1 dev br52 iface br53 inet loopback bridge_ports eth0.53 up ip address del 127.0.0.1 dev br53 ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Napojen´ı na bridge – brctl show
bridge name br101 br4 br1
bridge id 8000.003048683896 8000.003048683896 8000.003048683896
STP enabled no no no
br52
8000.003048683896
no
br53 ...
8000.003048683896 ...
no ...
ˇ Michal Svamberg
interfaces eth0.101 eth0.4 eth0.1 vif2.0 vif3.0 vif5.0 vif6.0 vif9.0 eth0.52 vif7.0 eth0.53 ...
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Diskov´y subsyst´em Virtu´aln´ı stroje virtu´aln´ı stroj m´a vyhrazenou partitionu na FC (RAID 5) swap do souboru z d˚ uvodu migrace partition na FC 10, 20, 25 nebo 30GB celkem 4 disky z FC po 200GB (kaˇzd´a 15 partitions) Domain-0 2x80GB SATA disk vˇsechny partitions vˇcetnˇe swapu v SW RAIDu (mdadm) 50+GB vyhrazeno jako lok´aln´ı u ´loˇziˇstˇe
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
ˇ Michal Svamberg
Nastaven´ı Migrace HW podpora virtualizace
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Procesory
Virtu´aln´ı stroj m˚ uˇze m´ıt libovoln´y poˇcet virtu´aln´ıch procesor˚ u, kaˇzd´y z tˇechto virtu´aln´ıch procesor˚ u m˚ uˇze b´yt mapov´an na libovoln´y fyzick´y procesor. Plat´ı tak´e pro Domain-0. Souˇcasn´y stav: kaˇzd´y virtu´aln´ı stroj s jedn´ım virtu´aln´ım cpu V´yhled: nˇekolik vcpu v jednom virt´aln´ım stroji automatizovan´e rozloˇzen´ı z´atˇeˇze
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
ˇ Michal Svamberg
Nastaven´ı Migrace HW podpora virtualizace
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
ˇ Michal Svamberg
Nastaven´ı Migrace HW podpora virtualizace
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Konfigurace na AFS
AFS (Andrew File System) n´am poskytuje nˇekolik v´yhod: je tˇreba releasovat pˇri zmˇen´ach RW volume pro editace, pˇr´ıpravu a testov´an´ı RO repliky na 4 serverech v r˚ uzn´ych lokalit´ach jedna konfigurace dostupn´a na vˇsech Domain-0 http://www.openafs.org/
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Instalace metodou FAI
FAI (Fully Automatic Installation) pro rychlou instalaci: instalaˇcn´ı metoda pro Debian konfigurace uloˇzena na AFS pouˇz´ıv´ame vlastn´ı mirror Debianu pro pouˇzit´ı Xenu vlastn´ı rozdˇelov´an´ı disk˚ u – ˇz´adn´e http://www.informatik.uni-koeln.de/fai/
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Konfigurace Xenu boot: kernel = "/boot/xenu-linux-2.6.16.33-xenu" memory = 128 name = "xenik" vif = [ ’mac=00:16:3e:05:30:71, bridge=br53’ ] disk = [ ’phy:/dev/fc/fc-p1d1p13,hda1,w’ ] root = "/dev/hda1 ro"
install: kernel = "/boot/xenu-linux-2.6.16.33-xenuboot" root = "/dev/nfs" extra = "ip=147.228.53.71:147.228.53.154:147.228.53.1:255.255.255.0:\ xenik:eth0:off FAI_LOCATION=147.228.53.154:/usr/local/share/fai.dev \ FAI_ACTION=install FLAGS=verbose,debug,createvt"
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
ˇ Xen na ZCU
Migrace
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Migrace Migrace je pˇresun virtu´aln´ıho stroje (hosta) mezi jednotliv´ymi hardwarov´ymi nody (hostitely). Migrac´ı virtu´aln´ıch stroj˚ u z´ısk´ame: vyˇsˇs´ı dostupnost pˇri u ´drˇzbˇe moˇznost vyrovn´av´an´ı z´atˇeˇze nod˚ u Migraci rozdˇelujeme na: off-line: rychlejˇs´ı, stroj je ale suspendovan´y on-line (live): pomalejˇs´ı, stroj je v provozu
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Prerekvizity pro migraci
zachov´an´ı s´ıt’ov´eho segmentu virtu´aln´ı stroj um´ıstˇen na s´ıt’ov´em datov´em prostoru: NAS: NFS, CIFS SAN: Fibre Channel iSCSI, s´ıt’ov´e blokov´e zaˇr´ızen´ı drdb
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Jak migrace prob´ıh´a Migrace z virtu´aln´ıho stroje X z uzlu A na uzel B: pre-migration aktivace X na uzlu A, vybˇer c´ıle na uzlu B reservation inicializace kontejneru pro X na uzlu B pre-copy cyklick´e kop´ırov´an´ı ”ˇspinav´ych” pamˇet’ov´ych str´anek stop-and-copy posledn´ı f´aze kop´ırov´an´ı: pozastaveni virtu´aln´ıho stroje X na uzlu A pˇresmˇerov´an´ı s´ıt’ov´eho provozu synchronizace z˚ ust´avaj´ıc´ıho stavu commitment aktivace virtu´aln´ıho stroje na uzlu B, uvolnˇen´ı virtu´aln´ıho stroje na uzlu A
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Jak migrace prob´ıh´a Migrace z virtu´aln´ıho stroje X z uzlu A na uzel B: pre-migration aktivace X na uzlu A, vybˇer c´ıle na uzlu B reservation inicializace kontejneru pro X na uzlu B pre-copy cyklick´e kop´ırov´an´ı ”ˇspinav´ych” pamˇet’ov´ych str´anek stop-and-copy posledn´ı f´aze kop´ırov´an´ı: pozastaveni virtu´aln´ıho stroje X na uzlu A pˇresmˇerov´an´ı s´ıt’ov´eho provozu synchronizace z˚ ust´avaj´ıc´ıho stavu commitment aktivace virtu´aln´ıho stroje na uzlu B, uvolnˇen´ı virtu´aln´ıho stroje na uzlu A
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Z vlastn´ı zahr´adky
Konfigurace Xen verze 2.0.7 migrovan´y stroj o velikosti 512MB (aether.zcu.cz) migrace prob´ıhala ze stroje xen2 na stroj xen3 mˇeˇr´ıc´ı stroj (phoebe.zcu.cz) um´ıstˇen na xen3 nutno nastavit forward delay: brctl setfd br53 0
Mˇeˇren´ı z aether se tah´a dokola jeden soubor z pˇr´ırustku za 10ms se spoˇc´ıt´a rychlost pouˇzit Perl s Time::HiRes a LWP::Parallel::UserAgent pro zat´ıˇzen´ı aether pouˇzit stress --vm 3
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Migrace nezat´ıˇzen´e aether Live migration - transmission rate progress aether.zcu.cz with minimal load 30
"log-nostress.dat"
Throughput [MB/s]
25
20
15
10
5 aether.zcu.cz 512MB RAM minimal load
0 0
2
4
6
8 10 12 Elapsed time [s]
ˇ Michal Svamberg
14
16
18
20
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Migrace aether se z´atˇeˇz´ı Live migration - transmission rate progress aether.zcu.cz heavily loaded 30
"log-stress-vm3.dat"
Throughput [MB/s]
25
20
15
10
5 aether.zcu.cz 512MB RAM 3 malloc workers
0 0
5
10 15 Elapsed time [s] ˇ Michal Svamberg
20
25
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
ˇ Xen na ZCU
HW podpora virtualizace
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Podm´ınky
podporu virtualizace v chipsetu a BIOSu na z´akladn´ı desce podporu virtualizace na CPU (vmx = Intel, vms = AMD) zapnutou HW podporu virtualizace v BIOSu verze Xenu 3.x zkompilovanou podporu HW virtualizace (xen-tools)
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Nastaven´ı Migrace HW podpora virtualizace
Nastaven´ı
kernel = "/usr/lib/xen-3.1-1/boot/hvmloader" builder=’hvm’ vif = [ ’type=ioemu, mac=00:16:3E:05:20:63, bridge=br52, \ model=ne2k_pci’] disk = [ ’file:/mnt/data/pothos/pothos_C.img,ioemu:hda,w’] device_model = ’/usr/lib/xen-3.1-1/bin/qemu-dm’ cdrom="/mnt/data/pothos/Windows.Vista.Enterprise.64-bit.CZ.iso" boot="cd"
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Uk´azka teorie v praxi
Xen naˇzivo
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Co uvid´ıme
instalace virtu´aln´ıho stroje migrace vyuˇzit´ı HW podpory virtualizace
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Pouˇzit´e odkazy
´ Miroslav Such´y: Uvod do virtualizace pomoc´ı XENu http://www.root.cz/clanky/uvod-do-virtualizace-pomoci-xenu/
Ian Pratt a kol.: Live Migration of Virtual Machines http://www.cl.cam.ac.uk/research/srg/netos/ papers/2005-migration-nsdi-pre.pdf
Kolektiv autor˚ u: Xen 3.0 User Manual http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/user.pdf
Vladim´ır Holub: Virtualizace http://www.roznovskastredni.cz/dwnl/pel2007/09/Holub.ppt
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı
Vlastnosti Xen na Z´ apadoˇ cesk´ e univerzitˇ e Xen naˇ zivo
Dˇekuji za pozornost.
ˇ Michal Svamberg
Implementace Xenu v univerzitn´ım prostˇred´ı