Erinevus lehekülje "Xen kasutamine Debian Etchiga" redaktsioonide vahel
(→domU käivitamine) |
|||
128. rida: | 128. rida: | ||
-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. Konsoolilt pääseb välja Ctrl + ] kombinatsiooni abil. | -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. Konsoolilt pääseb välja Ctrl + ] kombinatsiooni abil. | ||
+ | |||
+ | ===Mitme võrguseadme kasutamine domU sees=== | ||
+ | |||
+ | Kui on vajadus kasutada domU selliselt, et sealt saab pöörduda mitmesse, nt kahte dom0 arvuti füüsiliste võrgukaartiga seotud võrkudesse, siis tuleb selleks tekitada üks skript, nt nimega /etc/xen/scripts/kaks-silda.sh ja sisuga | ||
+ | |||
+ | #!/bin/sh | ||
+ | dir=$(dirname "$0") | ||
+ | "$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0 | ||
+ | "$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1 | ||
+ | |||
+ | Lisaks tuleb seadistusfailis /etc/xen/xend-config.sxp kasutada rida | ||
+ | |||
+ | (network-script kaks-silda.sh) | ||
+ | |||
+ | Õigel juhul kasutab nüüd Xen kahte virtuaalselt silda (ingl. k. bridge) | ||
+ | |||
+ | bash # brctl show | ||
+ | bridge name bridge id STP enabled interfaces | ||
+ | xenbr0 8000.feffffffffff no vif0.0 | ||
+ | peth0 | ||
+ | vif5.0 | ||
+ | xenbr1 8000.feffffffffff no vif0.1 | ||
+ | peth1 | ||
+ | vif5.1 | ||
===Probleemid=== | ===Probleemid=== |
Redaktsioon: 8. juuni 2007, kell 20:26
Sisukord
Sissejuhatus
Xen võimaldab ühel füüsilisel 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
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
Tuleb tähele panna, et privilegeerimata domeeni tuum paikneb väljaspoole privilegeerimata domeeni failisüsteemi ning see asjaolu on iseloomulik paravirtualiseerimisele.
Guest domeeni seadistamine
Guest domeene võib olla üks või mitu, iga domeeniga on seotud
- guest domeeni tuum (mitu guest domeeni võivad kasutada ühte ja sama domU tuuma)
- guest failisüsteemi immidz
- Xeni guest domeeni seadistusfail
Kusjuures oluline on tähele panna, et Guest operatsioonisüsteemi tuum paikneb tema immidzast väljaspool.
Guest domeeni domU tuum
Lahtipakitud 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
Privilegeerimata domU seadistusfaili sisu võiks olla näiteks selline
name = 'xen-sarge.auul' kernel = '/boot/vmlinuz-2.6.16.29-xenU' memory = '256' root = '/dev/sda1 ro' disk = [ 'file:/data/xen/domains/xen-sarge.auul/disk.img,sda1,w', \ 'file:/data/xen/domains/xen-sarge.auul/swap.img,sda2,w' ] vif = ['bridge=xenbr0']
Kusjuures, siin kasutatud sda1 ja sda2 seadmed peavad olema kooskõlas domU /etc/fstab faili sisuga. domU failisüsteemile pääseb juurde hõlpsasti, tuleb vastav image ühendada
bash# mount -o loop /data/xen/domains/xen-sarge.auul/disk.img /mnt
domU käivitamine koos konsooli teadete esitamisega toimub selliselt
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. Konsoolilt pääseb välja Ctrl + ] kombinatsiooni abil.
Mitme võrguseadme kasutamine domU sees
Kui on vajadus kasutada domU selliselt, et sealt saab pöörduda mitmesse, nt kahte dom0 arvuti füüsiliste võrgukaartiga seotud võrkudesse, siis tuleb selleks tekitada üks skript, nt nimega /etc/xen/scripts/kaks-silda.sh ja sisuga
#!/bin/sh dir=$(dirname "$0") "$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0 "$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1
Lisaks tuleb seadistusfailis /etc/xen/xend-config.sxp kasutada rida
(network-script kaks-silda.sh)
Õigel juhul kasutab nüüd Xen kahte virtuaalselt silda (ingl. k. bridge)
bash # brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.feffffffffff no vif0.0 peth0 vif5.0 xenbr1 8000.feffffffffff no vif0.1 peth1 vif5.1
Probleemid
Mõnel juhul võib ilmuda peale domU konsoolile bootimist st võtmega -c rohkelt teateid
Couldnt get a file descriptor referring to the console
Selle vastu aitab liigutada ära domU sees fail
bash# mv /etc/console/boottime.kmap.gz /etc/console/boottime.kmap.gz-muidu-segab-xenni
Couldnt get a file descriptor referring to the console
Tundub, et 2007 aasta keskel on AMD64 platvormil Debian Etch Xenilisel paketituumal probleeme stabiilsusega mitme protsessori puhul. Selle vastu aitab kasutada /etc/xen/xend-config.sxp failis rida
# In SMP system, dom0 will use dom0-cpus # of CPUS # If dom0-cpus = 0, dom0 will take all cpus available (dom0-cpus 1)
Lisaks on täheldatud probleeme kui domU juurfailisüsteemina kasutatakse reiser failisüsteemi.
Kui domU on Debian Sarge, siis ei ole seal standardse paketihaldusega võimalik paigaldada nn xenisõbralikku libc teeki libc6-xen ning selle tulemusena võivad ilmneda sellised teated
4gb seg fixup, process S43portmap (pid 1046), cs:ip 73:b7e763f8
Selle vastu aitab kataloogi /lib/tls liigutamine
bash# mv /lib/tls /lib/tls.disabled
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