LPS:Xen
Virtualizační nástroj Xen v prostředí výpočetního prostředí Západočeské univerzity.
Instalace virtuálního stroje
Před začátkem instalace je potřeba znát a červeně vyznačená místa opravit:
- registrace v DNS a DHCP:
- hostname (v příkladech dále jako SRV)
- registrované IP instalovaného stroje
- zaregistrovanou MAC adresu (odvození z IP adresy viz níže) a nastavenou skupinu group-serv
- potřebnou velikost disku
- potřebnou velikost paměti
- server na kterém bude hostován (zen1, zen2, zen3, hippod)
Vytvoření LVM oddílů
Vytvoříme dva LVM oddíly, vždy pro každou partition jednu (s LVM volumy vždy pracujeme na stroji xen1):
ssh root@xen1 lvcreate -L 20G -n SRV.root vgxen lvcreate -L 256M -n SRV.swap vgxen
Aktivace oddílu na ostatních serverech (provést v jiném terminálu):
for i in xen1 xen2 xen3 zen1 polyxen ; do echo $i; ssh root@$i lvchange -ay /dev/vgxen/SRV.root /dev/vgxen/SRV.swap ; done
Instalace a start
FAI
cd /afs/.zcu.cz/public/linux-fai/fai.dev/class vim 30servers.sh
Najit hostname, upravit.
Xen
Vytvoření instalačního konfiguráku, nejlépe okopírovat naposledy upravovaný:
(cd /afs/.zcu.cz/common/etc/xen/install ; cp `ls --sort=time |head -n 1` SRV )
- nutné upravit 'name', 'disk', 'vif' a zkotrolovat volby 'kernel', 'ramdisk', 'nfs_root' a 'nfs_server' dle zvolené architektury
- položka 'vif' se skládá z prefixu 00:16:3e (oficiální registrace xen.org) a druhé poloviny části IPv4, např. 147.228.52.65 -> 52.65 -> 052.065 -> 05:20:65, tudíž výsledná MAC bude 00:16:3e:05:20:65
- u 'vif' odpovídá číslo bridge číslu segmentu (vlany)
Zde je shrnutí důležitých voleb v konfiguráku
vim /afs/.zcu.cz/common/etc/xen/install/SRV # dle architektury jadra se nainstaluje cely operacni system #kernel = "/boot/fai/vmlinuz-2.6.32-5-xen-686" kernel = "/boot/fai/vmlinuz-2.6.32-5-amd64" # odpovidajici initrd #ramdisk = "/boot/fai/initrd.img-2.6.32-5-xen-686" ramdisk = "/boot/fai/initrd.img-2.6.32-5-amd64" # jmeno virtualu, shoduje se s domenovym jmenem name = "SRV" # sitova karta a jeji prirazeni do dane VLAN vif = [ 'mac=00:16:3e:AB:CD:EF, bridge=brXY' ] # nastavení pevnych disku disk = [ 'phy:/dev/vgxen/SRV.root,xvda,w', 'phy:/dev/vgxen/SRV.swap,xvdb,w'] # volba NFS serveru dle zvolene architektury #nfs_server = '147.228.52.154' # i386 nfs root nfs_server = '147.228.52.152' # amd64 nfs root # volba cesty k NFS rootu #nfs_root = '/var/lib/fai/nfsroot.i386' nfs_root = '/var/lib/fai/nfsroot.amd64'
Obdobně vytvoříme provozní konfigurák (zde přeskočeny zbytečné komentáře):
(cd /afs/.zcu.cz/common/etc/xen/boot ; cp `ls --sort=time |head -n 1` SRV ) vim /afs/.zcu.cz/common/etc/xen/boot/SRV bootloader = '/usr/lib/xen-default/bin/pygrub' memory = 512 name = "SRV" vif = [ 'mac=00:16:3E:AB:CD:EF, bridge=brXY' ] disk = [ 'phy:/dev/vgxen/SRV.root,xvda,w', 'phy:/dev/vgxen/SRV.swap,xvdb,w' ]
Konfigurák má obdobnou strukturu, ale pro výběr kernelu použijeme pygrub, který jádro vezme ze systému virtálního stroje včetně konfiguračního souboru. Ale stále musíme nastavit volby 'name', 'vif' a 'disk' tak jako bylo uvedeno výše v instalačním konfiguráku.
Po úpravách provedeme releasnutí volumu:
vos rel -v common.etc.xen
Na vhodném hostitelském stroji dle volné paměti, typu serveru a jeho zatížení:
- volnou využitelnou paměť zjistíme příkazem xen info, položka free_memory
- seznam běžících strojů přes xm list
Instalaci nastartujeme na vybraném stroji (zde zen1):
ssh root@zen1 xm create -c /etc/xen/install/SRV
Instalace si slízne IP adresu z DHCP což může trvat až 1 minutu, pokud se nedaří, je třeba zkontrolovat v sauronovi, zda MAC adresa v konfiguráku odpovídá tomu, co je uloženo v registraci a zda je stroj zařazen do skupiny group-serv. Po opravě registrace instalace bude automaticky pokračovat, není nutné restartovat.
Po doběhnutí instalace použijeme ctrl+c a ukončíme instalaci příkazem halt. Po jeho ukončení spustíme virtuální stroj:
ssh root@zen1 xm create -c /etc/xen/boot/SRV
Vytvoření linku pro defaultní spuštění stroje a releasování volumu:
( cd /afs/.zcu.cz/common/etc/xen/auto.zen1 ; ln -s ../boot/SRV SRV )
Promítnout změny na AFS:
vos rel common.etc.xen -v
Administrace
Kde běží virtuální stroj?
Zjištění, na kterém HW běží jaký z XENu (např. stroj phix):
find /afs/zcu.cz/common/etc/xen/auto* | grep SRV
Vypnutí a zapnutí stroje na XENu
Všechny příkazy provádíme na serveru, který daný virtuál obhospodařuje, reboot virtuálu provedeme:
xm reboot SRV
Pokud to nezabere (kontrolujeme příkazem xm console SRV), můžeme přitvrdit:
xm shutdown SRV xm destroy SRV xm create /etc/xen/auto/SRV
Zvětšení diskového oddílu
Navod je jen orientační, všechny parametry je patřičně upravit, příkaz lvchange provést na zen1, na ostatních dát pak lvscan:
xm shutdown domU lvchange -an /dev/vgxen/domU.root lvresize -L20G /dev/vgxen/domU.root lvchange -ay /dev/vgxen/domU.root fdisk -l /dev/vgxen/domU.root
Resize ext2/3/4 souborového systému:
e2fsck -f /dev/vgxen/domU.root resize2fs /dev/vgxen/domU.root
Boot:
xm create -c /etc/xen/auto/domU
Odkazy
- Návod na přesun virtuálních strojů z xen* na zen*
- Návod na přesun virtuálních strojů z SW RAID řešení na MetroCluster, včetně nasazení pygrubu.