LPS:Xen

Z HelpDesk

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