Erinevus lehekülje "Xen kasutamine Debian Etchiga" redaktsioonide vahel
(→Xen tarkvara seadistamine) |
(→Xen domU moodustamine) |
||
77. rida: | 77. rida: | ||
===Xen domU moodustamine=== | ===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 | + | Igale domU operatsioonisüsteemi eksemplarile vastab üks või mitu image faili (või partitsiooni või LVM volume'i) dom0 failisüsteemis. Debian Etch sisaldab paketti xen-tools, mis hõlbustab Guest domeenide immidza tekitamist. Koostage nt selline seadistusfail /etc/xen-tools/xen-tools.conf |
dir = /data | dir = /data |
Redaktsioon: 10. veebruar 2008, kell 22:03
Sisukord
- 1 Sissejuhatus
- 2 Xen tarkvara paigaldamine
- 3 Xen tarkvara seadistamine
- 4 Xen domU moodustamine
- 5 domU käivitamine ja seiskamine
- 6 Võrgu kasutamine domU seest routing režiimis
- 7 Võrgu kasutamine domU seest nat režiimis
- 8 Võrgu kasutamine domU seest bridge režhiimis
- 9 Probleemid
- 10 Debian Etch paketihalduse xen-tuuma kasutamine
- 11 Full virtualization
- 12 RedHat Enterprise Linux 5 Xen'i kasutamine
- 13 domU kettafaili suurendamine
- 14 Lingid
Sissejuhatus
Virtualiseerimine võimaldab ühel füüsilisel arvutil kasutada mitmeid samaaegselt töötavaid operatsioonisüsteeme. Sellise samaaegse kasutuse juures on oluline roll hypervisor tarkvaral, mille ülesandeks on kontrollida erinevatele operatsioonisüsteemi eksemplaridele eraldatud ressursse. Hypervisor saab töötatada samaaegselt ühes kahest keskkonnast
- native ehk bare metal hypervisor töötab otse riistvaral ning tema kontrolli all on kõik operatsioonisüsteemi eksemplarid sh Host ise (Xen, VMware ESX)
- hosted hypervisor töötab otse riistvaral töötava operatsioonisüsteemi sees (VirtualBox, VMware Server ehk nn tasuta VMware)
Reeglina töötab virtualiseeritud režiimis käivitatud arvutil üks põhiline operatsioonisüsteem (Host), millest kontrollitakse teiste (Guest) operatsioonisüsteemide tegevust. Üldiselt eristatakse nelja tüüpi virtualiseerimise tehnikaid:
- Riistvara emuleerimine - QEMU (saab kasutada muu riistvara jaoks mõeldud operatsioonisüsteeme)
- Full virtualization - VMware, VirtualBox (saab kasutada sama riistvaralise platvormi jaoks mõeldud modifitseerimata Guest operatsioonisüsteeme)
- Paravirtualization - Xen (saab kasutada vaid modifitseeritud tuumaga Guest operatsioonisüsteeme)
- Operating System level virtualization - Sólaris Containers (kõik töötavad operatsioonisüsteemi eksemplarid sh host kasutavad sama tuuma)
Modifitseerimine tähendab Xeni puhul seda, et Guest operatsioonisüsteem kasutab vastavalt paigatud tuuma.
Xeni puhul kasutatakse põhimõtteliselt kahte sorti tuumi
- dom0 - host operatsioonisüsteem ehk privilegeeritud domeen
- domU - guest operatsioonisüsteem ehk privilegeerimata domeen
Erijuhul, nt Debian GNU/Linux v 4.0 puhul kasutavad dom0 ja domU ühte ja sama spetsiaalselt ettevalmistatud tuuma.
Xen tarkvara paigaldamine
Kaasaegsete Linuxi distributsioonide paketihaldusest on reeglina võimalik Xen tarkvara paigaldada. Nt Debian GNU/Linux v 4.0 puhul i386 arhitektuuri jaoks tuleb paigaldada paketid
- Xen hypervisor - xen-hypervisor-3.0.3-1-i386-pae
- Xen tuum - linux-image-2.6-xen-686
- Xen programmid jms - libc6-xen xen-docs-3.0 xen-tools xen-utils-3.0.3-1 xen-utils-common
Peale tarkvara paigaldamist tuleb arvuti bootida kasutades hypervisorit ning Xeni tuuma, selleks sobib kasutada nt sellise sisuga GRUB menüü faili menu.lst
default 0 timeout 15 color cyan/blue white/blue title xen root (hd0,1) kernel /boot/xen-3.0.3-1-i386-pae.gz dom0_mem=393216 module /boot/vmlinuz-2.6.18-6-xen-686 root=/dev/hda2 ro max_loop=255 module /boot/initrd.img-2.6.18-6-xen-686 savedefault boot
Pange tähele, et privilegeerimata domeeni tuum paikneb väljaspoole privilegeerimata domeeni failisüsteemi ning see asjaolu on iseloomulik paravirtualiseerimisele. Lisaks on piiratud dom0 mälu mahuga 384 MB. Tõsi, on olemas py-grub initsiatiiv, mis võimaldab kasutada domU'ga domU sees paiknevat tuuma.
Peale bootimist saab küsida hüpervisori dmesg'i käsuga
bash# xm dmesg
Xen tarkvara seadistamine
Xen'i tarkvara koosneb kahest osast
- dom0 sees töötab serveri pool, mida kontrollib seadistusfail /etc/xen/xend-config.sxp
- Iga domU omadused on kirjas vastava domU seadistusfaili sees, /etc/xen/domU-nimi.sxp
Kuigi xend-config.sxp failis tehtud muudatuste kehtestamiseks tihti piisab xend doeemoni peatamisest ja startimisest
bash# /etc/init.d/xend stop|start
osutub, et vahel on kõige otsekohesem segaduste vältimiseks peale selle faili muutmist arvuti alglaadida. Pealegi, xend-config.sxp failis tehakse vajalikud muudatused Xeni juurutamise ajal ära ning edaspidi muudetakse seda Xeni kasutamise ajal harva. xend-config.sxp faili muutmise teel saab teha järgmisi otsustusi
- millises režiimis töötab domU'de võrk (bridge, routing, nat)
- kui palju on dom0 sees kasutusel protsessoreid, soovitav on valida üks (dom0-cpus 1)
- kui palju mälu on tagatud dom0 jaoks, soovitav 196 MB (dom0-min-mem 196)
Xen võimaldab kasutada domU'sid võrgu mõttes kolmel erineval moel, tavaliselt kasutatakse kõiki domU'sid samaagselt ühes ja samas režiimis
- routing - dom0 on võrgu sõlmpunktiks iga domU ja dom0'ga samas subnetis olevate teiste arvutite vahel
- nat - dom0 on võrgu sõlmpunktiks iga domU ja dom0'ga samas subnetis olevate teiste arvutite vahel kusjuures, dom0 teeb NAT teisendusi domU'de jaoks
- bridge - dom0 ja kõik domU'de võrguseadmed asuvad ühes ja samas võrgus etherneti mõttes, kasutatakse sama ip subneti aadresse
Järgnevates punktides käsitletakse eraldi domU'le vastava seadistusfaili kõiki muid omadusi ning kuidas seadistada käima erinevaid võrgus töötamise režiime, alustuseks võiks Debian GNU/Linux 4.0 puhul vaadata üle mainitud dom0-cpus ja dom0-min-mem parameetrite väärtused ning dom0 operatsioonisüsteem alglaadida.
Xen domU moodustamine
Igale domU operatsioonisüsteemi eksemplarile vastab üks või mitu image faili (või partitsiooni või LVM volume'i) dom0 failisüsteemis. Debian Etch sisaldab paketti xen-tools, mis hõlbustab Guest domeenide immidza tekitamist. Koostage nt selline seadistusfail /etc/xen-tools/xen-tools.conf
dir = /data 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 = etch # Default distribution to install. image = full # Specify sparse vs. full disk images. passwd = 1 kernel = /boot/vmlinuz-2.6.18-6-xen-686 mirror = http://ftp.aso.ee/debian/
ning öelge
bash# xen-create-image --hostname=xen.loomaaed.tartu.ee --ip=172.16.92.2 \ --gateway=172.16.92.128 --netmask=255.255.255.0
Tulemusena moodustatakse domU seadistusfail
/etc/xen/xen.loomaaed.tartu.ee.cfg
ning juurfailisüseemi ja saaleala tõmmised kataloogi /data/domains/xen.loomaaed.tartu.ee
disk.img swap.img
Seadistusfaili võiks kohendada ülevaatlikuse mõttes nt selliseks
name = 'xen.loomaaed.tartu.ee' kernel = '/boot/vmlinuz-2.6.18-6-xen-i386' ramdisk = '/boot/initrd.img-2.6.18-6-xen-i386' root = '/dev/sda1 ro' memory = '1024' disk = [ 'file:/data/domains/xen.loomaaed.tartu.ee/disk.img,sda1,w', 'file:/data/domains/xen.loomaaed.tartu.ee/swap.img,sda2,w' ] vif = [ 'mac=00:16:3E:2C:7E:EF' ] vcpus="1"
Toodud domU seadistamiseks kasutatud parameetrid on isenesest mõistetava tähendusega, kõikvõimalike parameetrite loetelu saab küsida käsuga
bash# xm create --help_config
domU sisse peab olema samuti paigaldatud libc6-xen teek.
domU käivitamine ja seiskamine
Jättes esialgu pööramata tähelepanu võrguseadistustele ja kommenteerides vif parameetri domU seadistusfailist välja veendume, et domU on kasutatav st teda saab käivitada, sisse logida konsoolilt ning seisata.
domU käivitamine koos konsooliga kasutamisega toimub selliselt, -c võti tähendab, et samale terminalile kus käsk anti esitatakse domU konsool
bash# xm create -c /etc/xen/xen.loomaaed.tartu.ee.cfg
Peale domU käivitamist võib sisse logida kas konsooli kaudu või üle võrgu kui võrk oleks seadistatud. Konsoolilt pääseb välja Ctrl + ] kombinatsiooni abil ning konsooli tagasi käsuga
bash# xm cosole xen.loomaaed.tartu.ee
domU seiskamiseks on käsk
bash# xm shutdown xen.loomaaed.tartu.ee
Töötavate domeenide nimekirja näeb käsuga
bash# xm list
Xen domU'le vastavaid failisüsteeme saab dom0 all hõlpsasti külge ühendada ja kasutada, kusjuures vastav domU ei tohi samal ajal töötada. See toimub käsugga
bash# mount -o loop /data/domains/xen.loomaaed.tartu.ee/disk.img /mnt
Võrgu kasutamine domU seest routing režiimis
Võrku seoses Xeniga tuleks ette kujutada selliselt, et dom0 ja domU on kokku ühendatud ühe virtuaalse ristikaabliga. Kui on mitu domU'd, siis dom0'ist läheb igasse domU'sse eraldi kaabel. Selle kaabli nö Xeni poolne ots on ühendatud näiteks vif12.0 nimelise seadmega ning domU poolne ots vastab domU sees seadmele eth0. 12 tähendab, et kõnealuse domU Xeni ID on 12 (nö 'xm list' järgi) ning 0 tähendab, et tegu on selle domeeni esimese võrguseadmega ehk ristikaabliga (üldiselt võib dom0 ja domU vahel olla ka enam kui üks virtuaalne ristikaabel). vif seadmed tekitavad routing režhiimis domU käivitamisel automaatselt ja seiskamisel eemaldatakse automaatselt. Sama domU järjekordsel käivitamisel seadme nimi muutub suuremaks, vastavalt selle domU Xeni ID väärtusele.
Routing režiimis kasutab domU ise eraldi subneti ip aadressi ning andmevahetust domU ja muu võrgu vahel vahendab dom0, mis käitub ruuterina. Sellise asjakorralduse tekitamiseks peab xend-config.sxp failis olema kaks rida
(network-script network-route) (vif-script vif-route)
ja välja kommenteeritud read
# (network-script network-bridge) # (vif-script vif-bridge) ... # (network-script network-nat) # (vif-script vif-nat)
Peale nende seadistusfailide ülevaatamist ning xend serveri restarti peaks olema näha selline võrguseade dom0 ifconfig käsu väljundis (sobiv ip aadress ja võrgumask on ifconfig abil nö käsitsi omistatud)
vif12.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet addr:192.168.17.254 Bcast:192.168.17.255 Mask:255.255.255.0 inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:158 errors:0 dropped:0 overruns:0 frame:0 TX packets:178 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:19754 (19.2 KiB) TX bytes:17223 (16.8 KiB
ning domU sees seade (sobiv ip aadress ja võrgumask on samuti ifconfig abil käsitsi omistatud, kusjuures vaikelüüsiks on 192.168.17.254)
eth0 Link encap:Ethernet HWaddr 00:16:3E:21:4F:83 inet addr:192.168.17.1 Bcast:192.168.17.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fe21:4f83/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:184 errors:0 dropped:0 overruns:0 frame:0 TX packets:156 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:17835 (17.4 KiB) TX bytes:22114 (21.5 KiB)
Kui kasutada mitut domU'i routing režiimis, siis iga üks peab kasutab oma ja teistest erinevat ip subnetti.
Võrgu kasutamine domU seest nat režiimis
NAT režiimi on sarnane routingule kuid lisaks sooritab dom0 NAT teisendusi sellel võrguseadmel, kust liiklus füüsilisest arvutist väljub. Sellise asjakorralduse tekitamiseks peab xend-config.sxp failis olema kaks rida
(network-script network-nat) (vif-script vif-nat)
ja välja kommenteeritud read
# (network-script network-bridge) # (vif-script vif-bridge) ... # (network-script network-route) # (vif-script vif-route)
Peale nende seadistusfailide ülevaatamist ning xend serveri restarti peaks olema näha selline võrguseade dom0 ifconfig käsu väljundis ip aadressid sarnaselt routingule ning dom0 peal on näha NAT teisendus
bash# iptables -L -n -v -t nat ... Chain POSTROUTING (policy ACCEPT 15 packets, 1213 bytes) pkts bytes target prot opt in out source destination 32 2684 MASQUERADE 0 -- * eth0 0.0.0.0/0 0.0.0.0/0
Vajadusel saab sobivat NAT teisendust ise kohendada
bash# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Võrgu kasutamine domU seest bridge režhiimis
Bridge režhiimis asuvad domU ja dom0 võrguseadmed sama virtuaalse silla küljes ning kasutavad sama alamvõrgu ip aadresse st domU'idest saab nö otse võrku ja dom0 ruutimisega ei tegele.
Ühe võrgukaardi bridge puhul peavad Xen serveri tarkvara seadistusfailis olema read
(network-script network-bridge) (vif-script vif-bridge)
ja välja kommenteeritud read
# (network-script network-route) # (vif-script vif-route) ... # (network-script network-nat) # (vif-script vif-nat)
ning domU seadistusfailis olema rida
vif = ['bridge=xenbr0']
Peale nende seadistusfailide ülevaatamist ning xend serveri restarti peaks olema näha sellised võrguseadmed ifconfig käsu väljundis
bash# ifconfig ... eth0 Link encap:Ethernet HWaddr 00:1C:C4:79:CC:EE inet addr:10.0.7.107 Bcast:10.0.7.255 Mask:255.255.255.0 peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link vif0.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
Kusjuures, bridge režhiimis asub võrgu mõttes dom0 sarnases positsioonis koos domU'dega
- eth0 - dom0 virtuaalne võrguseade
- peth0 - arvuti esimene füüsiline võrgukaart, ip aadress puudub aga liiklus käib läbi
- vif0.0 - dom0 virtuaalsele võrguseadmele vastav Xeni poolne virtuaalne interface
- xenbr0 - virtuaalne bridge
Käsk brctl näitab, et virtuaalse bridge kaudu on ühendatud dom0 virtuaalne infterface (ja selle kaudu dom0 eth0 seade) ning arvuti esimene füüsiline võrgukaart
bash# brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.feffffffffff no vif0.0 peth0
Kui käivitada domU siis tekib Xeni ifconfig nimekirja juurde seade, ip aadress puudub, aga domU liiklus käib läbi kuna tegu on dom0 ja domU virtuaalse ristikaabli Xeni poolse otsaga
vif17.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
Ja see seade on silla külge ühendatud
bash# brctl show bridge name bridge id STP enabled interfaces xenbr0 8000.feffffffffff no vif0.0 peth0 vif17.0
Võimalik on ka selline asjakorraldus, et ühe domU sees on mitu võrguseadet, nt eth0 ja eth1 ning kumbki suhtleb kaugema ümbrusega läbi erinevate füüsiliste võrgukaartide. 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 vif18.0 xenbr1 8000.feffffffffff no vif0.1 peth1 vif18.1
Tulemusena tekib vastava domU sisse kaks võrguseadet, eth0 ja eth1 ning sobivate aadresside ning ruutingu kasutamisel saab nende kaudu pöörduda vastavatesse võrkudesse, kusjuures liiklus käib läbi erinevate füüsiliste võrgukaartide.
Probleemid
Kui ei tarkvara kasutamine ei anna soovitud tulemust, siis esmalt maksab tutvuda logifailide sisuga, nt Debian puhul asuvad nad kataloogis /var/log/xen.
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 (kusjuures see on Thread-Local Storage mitte Transport Layer Security teek)
bash# mv /lib/tls /lib/tls.disabled
dom0 sees ethtool vms utiliitidega võrguseadmeid uurides tuleb pöörduda pethx kujul seadme poole, nt selliselt
bash# ethtool peth0
Kui domU sees töötab Debian Etch operatsioonisüsteem ning kasutatakse paketihaldusega jagatavat udev'i, siis vaikimisi igal domU reboodil suureneb ethernetiseadme järjekorranumber, st eth0, eth1 jne. Selle vastu aitab domU seadistusfailis fikseerida võrguseadme mac aadress, võiks kasutada Xeni poolt kord omistatud aadress, mille leiab domU failist
/etc/udev/rules.d/z25_persistent-net.rules
Katse näitab, samuti asjakohaste arhiivide lugemine, et 64bit dom0 all saab edukalt kasutada 32bit domU keskkondi, kusjuures domU tuumaks on 64bit dom0 tuuma. Ilmselt rakenduvad seejuures samasugused asjaolud nagu ilma Xenita 64bit tuuma ja 32 bit userspace'i kasutamisel.
domU sees nn eth seadme aliase tekitamine toimub tavapäraselt, nt
bash# ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0
või Debiani puhul kirjeldades sissekande failis /etc/network/interfaces.
Kui HVM rezhiimis töötava 32bit domU jaoks on tarvis rohkem mälu, siis vähemalt 64bit dom0 puhul on sobiv öelda
pae=1
Kusjuures, tundub, et Debian GNU/Linux Edge puhul AMD64 platvormil on HVM domU'd 32 bitilised paratamatult.
Kui pidada Debian Edge dom0 all Debian Sarge domU'd, siis tuleb arvestada, et uue kerneli draiverite vastu kasutatakse suhteliselt vana userspace'i. Paljudel juhtudel ei pruugi see probleeme tekitada, aga näiteks eksootiliste failisüsteemide kasutamisel jällegi võivad tekkida ebakooskõlad.
Kui dom0 ja domU operatsioonisüsteemid on erinevad, nt Redhat 5 ja Debian 4, on üldiselt asjakohane kasutada domU jaoks seal töötava operatsioonisüsteemi tuuma. Praktiliselt tuleb siis antud juhul Debiani tuuma ja ramdisk kopeerida dom0 peale ja näidata domU seadistusfailis nende asukoht kätte Xenile.
domU sisse tuleks lisada udev pakett ja seejärel domU'le shutdown öelda ning käivitada. Tulemusena asendatakse /dev/ptyp[0-f] seadmed /dev/pts/* seadmetega ning samaaegselt saab sisse logida üle 16 kasutaja.
Kui arvuti käivitamisel saab teate
PAE mode mismatch error (xen=yes dom0=no)
tähendab see seda, et supervisor ja tuum ei ole pae toetuse mõttes kooskõlas. Tuleb arvestada asjaolu, et Debiani Xeni toetusega tuumades on kõigis pae tugi sees, kuigi supervisori pakett on pae ja mitte pae juhtumite jaoks. Lahenduseks on kasutada pae toetusega riistvara või kompileerida tuum ringi.
Debian Etch paketihalduse xen-tuuma kasutamine
Turvalisuse ja kasutusmugavuse seisukohast on Debian GNU/Linux Etch versiooni puhul otstarbekas kasutada pakendatud tuuma kasutades nt 32bit x86 platvormil paketti ja sealt lähtuvaid sõltuvusi, näiteks sellised võiksid olla asjakohased paketid ühe ajahetkel
bash# dpkg -l '*xen*' | grep ii ii bridge-utils 1.2-1 Utilities for configuring the Linux ethernet bridge ii libc6-xen 2.3.6.ds1-13 GNU C Library: Shared libraries [Xen version] ii linux-image-2.6.18-4-xen-686 2.6.18.dfsg.1-12etch2 Linux 2.6.18 image on i686 ii linux-modules-2.6.18-4-xen-686 2.6.18.dfsg.1-12etch2 Linux 2.6.18 modules on i686 ii xen-hypervisor-3.0.3-1-i386-pae 3.0.3-0-2 The Xen Hypervisor on i386 with pae ii xen-linux-system-2.6.18-4-xen-686 2.6.18.dfsg.1-12etch2 XEN system with Linux 2.6.18 image on i686 ii xen-tools 2.8-2 Tools to manage debian XEN virtual servers ii xen-utils-3.0.3-1 3.0.3-0-2 XEN administrative tools ii xen-utils-common 3.0.3-0-2 XEN administrative tools - common files
Ning nii jääb ära vajadus ise tuuma kompileerida.
Full virtualization
Kui kasutada olev riistavara on AMD-V või Intel VT toega, siis on võimalik kasutada Xeni ka 'full virtualization' rezhiimis. Kontrollimiseks soovitatakse vaadata dom0 peal kas käsk väljastab midagi või mitte, kui väljastab, siis on full virtualizationi jaoks tugi olemas
bash# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Näiteks kaasneb full virtualizationiga võimalus kasutada domU (mida antud juhul nimetatakse HVM - hardware virtual machine) sees modifitseerimata operatsioonisüsteemi. Kasutamiseks tuleb paigaldada pakett
xen-ioemu-3.0.3-1
Üldiselt on asjatoimetused sarnased kui paravirtualiseerimise puhul, domU seadistusfailiks sobib nt sellise sisuga fail, antud juhul toimub Debian GNU/Linux operatsioonisüsteemi paigaldusmeedialt bootimine, millele võiks järgneda install varem dd käsuga moodustatud disk image'le
kernel = "/usr/lib/xen-3.0.3-1/boot/hvmloader" builder = 'hvm' device_model = '/usr/lib/xen-3.0.3-1/bin/qemu-dm' memory = '2048' vcpus = '1' name='full-virt' vif = [ 'mac=00:16:3E:3A:8E:7A, type=ioemu, bridge=xenbr2' ] disk = [ 'file:/data/zones/domains/full-virt/disk.img,ioemu:hda,w', 'file:/data/images/debian-40r0-i386-CD-1.iso,hdc:cdrom,r' ] boot='d' vnc=1
Lisaks peab olema näidatud vnc kasutamine ka Xeni seadistusfailis /etc/xen/xend-config.sxp
# The interface for VNC servers to listen on. Defaults # to 127.0.0.1 To restore old 'listen everywhere' behaviour # set this to 0.0.0.0 (vnc-listen '127.0.0.1')
Peale selliste seadistuste tegemist ning domU bootimist saab ühenduda vnc kliendiga (nt vncviewer) porti 5900 ning suhelda domU konsooliga. Seda võiks praktiliselt teha ssh abil porte sobivalt suunates. Peale operatsioonisüsteemi paigaldamist tuleks asendada boot parameetri väärtuseks 'c' ning bootida vastselt paigaldatud süsteem.
Konsool võiks X keskkonnas välja näha selline
RedHat Enterprise Linux 5 Xen'i kasutamine
Kui dom0 operatsioonisüsteemi paigaldamisel valida virtualiseerimise tugi, siis vastne süsteem seadistataksegi kasutama Xeni hypervisorit. Edasi tuleb programmi virt-install abil paigaldada domU
dom0# virt-install What is the name of your virtual machine? domU-1 How much RAM should be allocated (in megabytes)? 3072 What would you like to use as the disk (path)? /data/domains/domU-1/os.img How large would you like the disk (/data/domains/domU-1/os.img) to be (in gigabytes)? 20 Would you like to enable graphics support? (yes or no) no What is the install location? nfs:nfs.tartu.loomaaed.ee:/data/install/rh
Kusjuures kataloogis /data/install/rh peab asuma domU's tööle hakkava nt RedHat 4 AS Linuxi esimese CD sisu kuhu on kataloogi RedHat/RPMS kopeeritud juurde kõigi ülejäänud CD'de sama kataloogi sisu.
RedHati Xeni erineb Debiani omast sellevõrra, et domU asub ühel seadme immidzal (os.img), mille sees on failisüsteemidele vastavad partitsioonid. Lisaks kasutatakse pygrub bootloaderit domU käivitamisel.
domU kettafaili suurendamine
Selleks, et suurendada failisüsteemi mahtu, näiteks 5G, käivita alltoodud käsud.
NB!! Kui failis on mitu partitsiooni, ei tohi kahte viimast käsku anda, vaid tuleks tekkinud vabale ruumile uus partitsioon tekitada.
# dd if=/dev/zero of=fc4.img bs=1M count=0 seek=5120 # e2fsck -f -y fc4.img # resize2fs -p fc4.img
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
RedHat Enterprise Linux https://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Virtualization-en-US/index.html