Xen kasutamine Debian Etchiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 1. jaanuar 2007, kell 18:19 kasutajalt Imre (arutelu | kaastöö)

Sissejuhatus

Xen võimaldab ühel füüsilise arvutil kasutada mitmeid samaaegselt töötavaid operatsioonisüsteeme. Reeglina töötab selliselt käivitatud arvutil üks põhiline operatsioonisüsteem (Host), mis kontrollib teiste (Guest) operatsioonisüsteemide tegevust. Üldiselt eristatakse nelja tüüpi virtualiseerimise tehnikaid

Riistvara emuleerimine - QEMU
Full virtualization - vmware (saab kasutada modifitseerimata Guest operatsioonisüsteeme)
Paravirtualization - Xen (saab kasutada vaid modifitseeritud Guest operatsioonisüsteeme)
Operating System level virtualization - UML (Guest operatsioonisüsteem töötab protsessina)

Modifitseerimine tähendab Xeni puhul seda, et Guest operatsioonisüsteem kasutab vastavalt paigatud tuuma.

Xeni puhul kasutatakse kõnealuselt käivitatud arvutis kahte tuuma

Host operatsioonisüsteem ehk privilegeeritud domeen ehk dom0
Guest operatsioonisüsteem ehk privilegeerimata domeen ehk domU 


Xen tarkvara paigaldamine

Debian Etch puhul tuleb paigaldada paketid

libc6-xen xen-docs-3.0 xen-hypervisor-3.0.3-1-i386 xen-tools xen-utils-3.0.3-1 xen-utils-common

Lisaks on tuumade kompileerimiseks vajalik kopeerida www.xensource.com veebikohast Xen lähtetekstid ning paigaldada

iproute bridge-utils python-twisted gcc-3.3 binutils make zlib1g-dev python-dev transfig 
bzip2 screen debootstrap libcurl3-dev libncurses5-dev x-dev


Privilegeeritud domeeni dom0 tuum

Lahtipakitud Xeni lähtetekstid kataloogis tuleb öelda

bash# make linux-2.6-xen0-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xen0"
.. võib lisaks valida meelepäraseid seadeid
bash# make linux-2.6-xen0-build
bash# make linux-2.6-xen0-install

Tulemusena on paigaldatud arvutisse uus tuum, peale bootloaderi seadistuste ülevaatamist, tuleb arvuti xen0 domeeni tuumaga rebootida. Seejärel näeb Xen teateid käsuga

xm dmesg


Grubi seadistamine

Esmalt laaditakse Xeni hüperviisor ja seejärel privilegeeritud domeeni (dom0) Linuxi tuum Tähele tuleb panna, et privilegeerimata domeeni tuum paikneb vä

default     0
timeout     15
color cyan/blue white/blue

title xen
root (hd0,1)
kernel /boot/xen-3.0.3-1-i386.gz  dom0_mem=384000
module /boot/vmlinuz-2.6.16.29-xen0 root=/dev/hda2 ro max_loop=255
savedefault
boot


Guest domeeni seadistamine

Guest domeene võib olla üks või mitu, iga domeeniga on seotud

  1. guest domeeni tuum (mitu guest domeeni võivad kasutada ühte ja sama domU tuuma)
  2. guest failisüsteemi immidz
  3. Xeni guest domeeni seadistusfail

Kusjuures oluline on tähele panna, et Guest operatsioonisüsteemi tuum paikneb tema immidzast väljaspool.


Guest domeeni domU tuum

Guest domeenide kasutamiLahtipakitud Xeni lähtetekstid kataloogis tuleb öelda

bash# make linux-2.6-xenU-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xenU"
.. võib lisaks valida meelepäraseid seadeid
bash# make linux-2.6-xenU-build
bash# make linux-2.6-xenU-install

Tulemusena on paigaldatud arvutisse xenU domeeni tuuma, mida kasutatakse guest domeenide bootimiseks.


Xen domU moodustamine

Debian Etch sisaldab paketti xen-tools, mis hõlbustab Guest domeenide immidza tekitamist. Koostage nt selline seadistusfail /etc/xen-tools/xen-tools.conf

dir = /mnt/xen
debootstrap = 1
size   = 4Gb      # Disk image size.
memory = 512Mb    # Memory size
swap   = 1024Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = sarge    # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
passwd = 1
kernel = /boot/vmlinuz-2.6.16.29-xenU
mirror = http://ftp.aso.ee/debian/

Ning öelge

bash# xen-create-image --hostname=xen-sarge.auul --ip=172.16.92.2 \
--gateway=172.16.92.128 --netmask=255.255.255.0

Tulemusena moodustatakse domU seadistusfail

/etc/xen/xen-sarge.auul.cfg

immidzad /mnt/xen/domains/xen-sarge.auul immidzad

disk.img
swap.img


domU käivitamine

bash# xm create -c /etc/xen/xen-sarge.auul.cfg

-c võti tähendab, et terminalile esitatakse domU konsool. Peale domU käivitamist võib sisse logida kas konsooli kaudu või üle võrgu.


Lingid

NetBSD xen http://www.s-mackie.demon.co.uk/unix-notes/NetBSD-Xen-Setup.html

Xen knoppix http://unit.aist.go.jp/itri/knoppix/xen/index-en.html

Gentoo Xen http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo