VMware Server v. 2 kasutamine Debian Lenniga

Allikas: Kuutõrvaja

Sissejuhatus

Praktiliselt ei ole VMware guest täiesti modifitseerimata operatsioonisüsteem, nt Linuxi guestis soovitatakse kasutada paremaks ressursikasutuseks spetsiaalseid vmware tuumamooduleid.

Käesolev tekst on ühe kasutaja kogemuse kirjeldus, mis ei esinda tarkvara autorite seisukohti ja mis on tehtud heas usus, et sellest võiks olla kasu erinevate virtualiseerimislahendustega tutvumisel. Tähelepanu all on üks konkreetne toode nimega VMware Server v. 2, mille huviline saab VMware veebikohast aadressilt http://www.vmware.com/ omale tutvumiseks kopeerida, kusjuures ei pretendeerita selle toote kõigi võimaluste esitusele. Üksikasjalikumat infot kogu VMware tooteperekonna kohta üldiselt ning ning kõnealuse toote kasutustingimuste kohta konkreetselt leiab samuti sellelt aadressilt.

Olgu eesmärgiks seada käima selliste omadustega virtuaalsete arvutite pidamise keskkond

  • host on 64bit Debian Lenny
  • gueste saab ühendada võrku kolmel moel: sillatud, natitud ja host-only

VMware hosti ettevalmistamine

Seda operatsioonisüsteemi eksemplari (arvutit), millel hakkavad asuma virtuaalsed arvutid, nimetatakse host'iks (ingl. k. majutaja). Virtuaalseid operatsioonisüsteemide eksemplare nimetatakse guestideks (ingl. k. külaline).

VMware Serveri host töötab eelnevalt paigaldatud operatsioonisüsteemi keskkonnas, mis võib olla näiteks Debian GNU/Linux v. 5.0 (Lenny) 64bit ja koosneb sellistest komponentidest

  • vmware tuuma moodulid
  • vmware deemon ja abiprotsessid
  • vmware seadistusutiliit
  • virtuaalsed võrguseadmed

VMware virtuaalarvutite haldamiseks soovitatakse kasutada brauseri lisana (ingl. k. plugin) esinevat utiliiti, mille saab paigaldada brauserisse samast haldusteenuse veebiserverist.

Tundub, et oluline on 32 bit tugi, st võib kasutada 32 bit keskkonda võin siis 64 bit keskkonda, millesse on lisatud 32 bit tuge pakkuvad teegid. Ja kuivõrd VMware installeri kasutamise käigus kompileeritakse mõni tuuma moodul, siis on mõistlik paigaldada sellised Debiani paketid

 # apt-get build-dep linux-image-2.6-amd64
 # apt-get install ia32-libs libx11-6 libxtst6 libxext6 libxt6 libice6 libxrender1 \
   linux-headers-2.6.26-2-amd64 psmisc xspecs build-essential libx11-dev

VMware guestide võimalused võrgu kasutamiseks

Eeldusel, et VMware hostil on füüsiline võrguseade on põhimõtteliselt guestidel kolm võimalust võrguühenduseks

  • bridged network (eesti k. sillatud võrk) - guesti virtuaalne võrguseade seadistatakse kasutama ip aadressi samast subnetist, mida kasutab host (aga hostist erinevat aadressi)
  • nat network (eesti k. aadressteisendusega võrk) - host teeb guesti jaoks nn NAT teisendust, st guesti võrguseadmele on seadistatud privaatsest segmendist ip aadress ning pöördudes võrku paistab ta välja host'i ip aadressiga
  • host-only network (eesti k. hostisisene võrk) - sellise võrguseadmega ei saa guest otseselt välja võrku pöörduda, küll aga saavad nt mitu guesti omavahel suhelda

Ettekujutust VMware võrgu võimalustest lihtsustab ettekujutus virtuaalsetest lülititest, mille külge on guestide võrguseadmed ühendatud. Lisaks, ühel guestil võib olla samaaegselt kasutada mitu erinevat võrguseadet, sedasi saab konstrueerida ka keerukamaid võrgutopoloogiaid, nt tekitada ühest guestist ülejäänute jaoks virtuaalse tulemüüri.

VMware Server tarkvara kopeerimine

VMware Server tarkvara saab kopeerida aadressilt http://www.vmware.com/ vastavalt seal esitatud tingimustele, 2009 aasta keskel on viimane stabiilne versioon 2.0.1 ning oluline on fail

  • vmware hostis töötav server (The core application needed to run VMware Server 2, 64-bit version) - VMware-server-2.0.1-156745.x86_64.tar.gz

Lisaks usaldatakse registreeritud kasutajale võti, mis tuleb tarkvara paigaldamise ajal sisestada. Võti esineb sarnase järgnevuse kujul

 xxxxx-xxxxx-xxxxx-xxxxx

Tarkvara omandamiseks tuleb

  • registreerida kasutaja
  • sisse logida ja kopeerida personaalse kasutamise võti
  • kopeerida õige tarkvara, 64bit .tar.gz juhtum (üks fail)

VMware Server tarkvara paigaldamine

Sõltuvalt kasutaja eelistustest võib paigaldada VMware tarkvara süsteemsetesse kataloogidesse, st /usr/bin, /usr/lib jms või kasutaja omal äranägemisel moodustatud kataloogi, nt /usr/local/vmware-server. Lisaks paigutab VMware Serveri installer käivitusskriptid kataloogi /etc/init.d ning seadistusfailid kataloogi /etc/vmware ning tuleb näidata kus hosti failisüsteemis asuvad guestide failisüsteemidele vastavad nn image failid.

Soovitavalt konsoolilt, nt serial konsoolilt, tarkvara paigaldamiseks võiks nt olla kataloogis /usr/src ning seal serveri arhiiv lahti pakkida

 # cd /usr/src
 # tar zxf VMware-server-2.0.1-156745.x86_64.tar.gz
 # cd vmware-server-distrib

Installeri käivitamiseks tuleb öelda

 # CC=/usr/bin/gcc-4.1 ./vmware-install.pl

Vastata küsimustele jaatavalt ja teha märkmeid kasutusse võetud võrkude kohta, nt

 nat - 192.168.177.0
 hostonly - 172.16.91.0.

ning haldusliideste kohta, nt

 Please specify a port for remote connections to use [902] 
 Please specify a port for standard http connections to use [8222] 
 Please specify a port for secure http (https) connections to use [8333]

Kasutaja juhatatakse läbi sarnaste sammude kui VMware Serveri v. 1 mida on kirjeldatud tekstis VMware Server v. 1 kasutamine Debian Etchiga#VMware Server tarkvara paigaldamine

VMware Serveri käivitamine ja seiskamine

Peale paigaldamist VMware Serveri deemon töötab, selles saab veenduda vaadates protsessitabelit; serveri käivitamine ja seiskamine toimub öeldes

 # /etc/init.d/vmware start|stop

Töötava VMware hosti peal on NAT ja host-only võrkudega seotud vmnet* võrguseadmed ning hostist saab ka nende võrkude arvutitesse pöörduda.

VMware haldusliidese kasutamine ja guesti moodustamine

VMware Server v. 2 ei sisalda sarnaselt v. 1 tarkvarale nö haldusklienti, haldamine toimub vaikimisi brauseriga aadressi https://vmware.loomaaed.tartu.ee:8333/ poole pöördumise teel, tundub, et kõige paremini töötab haldusliides Internet Exploreriga kuigi ka Linuxi keskkonnas kannatab Firefoxi kasutada (iseloomulik on, et kasutamise ajal logitakse kasutaja vahel välja, seejärel tuleb uuesti sisse logida ja saab kasutamist jätkata); sisselogimiseks sobib kasutada nt host arvuti root kasutajat ja tema parooli

Vmware-2-1.gif

kus antud juhul on näha, et on seadistatud

  • kolm datastore'i st kataloogi, kus asuvad virtuaalarvutitele vastavad andmed failisüsteemis, sh plokkseadmed; samas sobib hoida ka .iso tõmmiseid, millelt guesti operatsioonisüsteemi paigaldada - ds, bix ja standard
  • kolm võrguühenduse võimalust - Bridged, HostOnly ning NAT, neid kõiki ei pea tingimata kasutama, seda, millist on tarvis

Selleks, et näha guesti konsooli tuleb paigaldada brauserisse plugin, seda saab konsooli aknas teha ja plugin kopeeritakse samast haldusliidese serverist. Plugin on olemas ka Linux keskkonnas Mozilla Firefoxil põhinevate brauserite jaoks, nt Lenni Iceweasel, paigaldamine toimub selliselt

Vmware-2-3.gif

Avatud virtuaalse arvuti konsooli aken näeb välja selline

Vmware-2-2.gif

Guesti sisse operatsioonisüsteemi paigaldamine

Operatsioonisüsteemi paigaldamise üks võimalus on

  • kopeerida paigaldusmeedia .iso image vmware hosti failisüsteem
  • ühendada haldusliidese abil guestile CD seadmena paigaldusmeedia külge
  • alglaadida guest meedialt

Alternatiivne võimalus oleks näiteks alglaadida võrgust.

VMware hosti võrgu paigaldusjärgne seadistamine

Võrguomaduste seadistamine on üheks olulisemaks ülesandeks, mida programmiga vmware-config.pl tehakse. See programm kutsutakse välja installeri poolt tarkvara paigaldamisel ja seda võib kasutada ka juba paigaldatud vmware tarkvaraga hostis virtuaalsete arvutite võrgukasutamise võimaluste muutmiseks.

 # CC=/usr/bin/gcc-4.1 /usr/bin/vmware-config.pl

Valides wizardi asemel editor režiimi on mõnevõrra otsekohesem seadistusi muuta.

Selleks, et mitme guesti teatud võrguseadmed satuks samasse virtuaalsesse subnetti, tuleb neis kasutada samu vmnet* seadmeid, vaikimisi on seadmete kasutusotstarve selline

  • vmnet0 - brigded network
  • vmnet8 - NAT network
  • vmnet1-7 - host-only network

VMware toolide kasutamine guestis

VMware tools kasutamise eelduseks on, et süsteemi on paigaldatud sellised paketid

# apt-get install psmisc xterm xbase-clients
# apt-get build-dep linux-image-2.6.26-2-amd64
# cd /usr/src
# apt-get install linux-headers-2.6.26-2-amd64

Guesti toolide tarkvara saab kopeerida /usr/src kataloogi kasutamiseks sellise järgnevusega

  • Avada VMware haldusliideses kõnealune arvuti, vajutada paremal ääres lingile 'Install VMware tools'
  • Ühendada Guestis külge virtuaalne CD seade, nt
 # mount /dev/hda /media/floppy0
  • Liikuda kataloogi /usr/src ja pakkida arhiiv lahti
 # cd /usr/src
 # tar zxf /media/floppy0/VMwareTools-7.7.5-156745.tar.gz
  • Guesti toolide paigaldamine toimub sarnaselt Debian Etch juhtumile, aga sellise erinevusega, et Debian Lenny peal Vmware 2.0 tarkvara kasutamisel (host kui guesti toolid) tuleb kompileerimisel kirjeldada muutuja CC, nt nii (põhjusel, et tuum on kompileeritud GCC versiooniga 4.1, kuid muidu on süsteemis vaikimisi GCC kompilaatoriks v 4.3), kuna toolide paigaldamine puudutab ka võrguühendust, on tõenäoliselt soovitavam seda öelda guesti konsoolilt
 # cd /usr/src/vmware-tools-distrib
 # CC=/usr/bin/gcc-4.1 ./vmware-install.pl

Guesti snapshot

TODO

Pordi suunamine NATitud võrgu arvutile

TODO

VMware Server tarkvara eemaldamine süsteemist

Tarkvara eemaldamisel tuleks peatada virtuaalsed arvutid ning öelda

 # vmware-uninstall.pl

VMware toolide kasutamine Squeeze operatsioonisüsteemiga

Debian Squeeze paketihaldus sisaldab Open Virtual Machine Tools http://open-vm-tools.sourceforge.net/ tarkvara, paigaldamiseks sobib öelda

# apt-get install open-vm-tools open-vm-source 

Ning seejärel öelda

# module-assistant prepare open-vm
Getting source for kernel version: 2.6.32-5-amd64
Kernel headers available in /lib/modules/2.6.32-5-amd64/build
Creating symlink...
apt-get install build-essential 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
build-essential set to manually installed.
The following packages were automatically installed and are no longer required:
  libfile-copy-recursive-perl update-inetd cvs libapt-pkg-perl
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 90 not upgraded.

Done!
# module-assistant auto-install open-vm

Updated infos about 1 packages
Getting source for kernel version: 2.6.32-5-amd64
Kernel headers available in /lib/modules/2.6.32-5-amd64/build
apt-get install build-essential 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
The following packages were automatically installed and are no longer required:
  libfile-copy-recursive-perl update-inetd cvs libapt-pkg-perl
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 90 not upgraded.

Done!
unpack 
Extracting the package tarball, /usr/src/open-vm.tar.bz2, please wait...
"/usr/share/modass/overrides/open-vm-source" build KVERS=2.6.32-5-amd64 KSRC=/lib/modules/2.6.32-5-amd64/build
  KDREV=2.6.32-20   kdist_image
Done with /usr/src/open-vm-modules-2.6.32-5-amd64_2010.06.16-268169-3+2.6.32-20_amd64.deb .
dpkg -Ei /usr/src/open-vm-modules-2.6.32-5-amd64_2010.06.16-268169-3+2.6.32-20_amd64.deb 
Selecting previously deselected package open-vm-modules-2.6.32-5-amd64.
(Reading database ... 60017 files and directories currently installed.)
Unpacking open-vm-modules-2.6.32-5-amd64 (from .../open-vm-modules-2.6.32-5-amd64_2010.06.16-268169-3+2.6.32-20_amd64.deb) ...
Setting up open-vm-modules-2.6.32-5-amd64 (2010.06.16-268169-3+2.6.32-20) ...

# find /lib/modules/2.6.32-5-amd64/ -type f -mmin -20
/lib/modules/2.6.32-5-amd64/modules.alias
/lib/modules/2.6.32-5-amd64/modules.symbols.bin
/lib/modules/2.6.32-5-amd64/modules.alias.bin
/lib/modules/2.6.32-5-amd64/modules.dep.bin
/lib/modules/2.6.32-5-amd64/modules.dep
/lib/modules/2.6.32-5-amd64/modules.symbols
/lib/modules/2.6.32-5-amd64/modules.softdep
/lib/modules/2.6.32-5-amd64/misc/vmsync.ko
/lib/modules/2.6.32-5-amd64/misc/vmci.ko
/lib/modules/2.6.32-5-amd64/misc/vmhgfs.ko
/lib/modules/2.6.32-5-amd64/misc/vsock.ko
/lib/modules/2.6.32-5-amd64/misc/vmxnet.ko
/lib/modules/2.6.32-5-amd64/misc/vmblock.ko
/lib/modules/2.6.32-5-amd64/modules.devname

ESX serveri guestis saab öelda

# vmware-toolbox-cmd timesync enable
Enabled
# vmware-toolbox-cmd timesync status
Enabled

Märkused

  • Bridged võrgule vastav vmnet0 seade ifconfig väljundis ei esine, samas võrk töötab; vmnet1 ja vmnet8 esinevad ka ifconfig väljundis.
  • Kompileerimisel ei õnnestu valmistada vsock tuuma moodulit, internetis räägitakse midagi müstilisest vmware-config.pl.patch.txt paigast, mis probleemi lahendab ja mida jagatakse Ubuntu foorumites.
  • Samuti räägitakse foorumites, et teatud juhtumitel on paranenud haldusliidese stabiilsus kui /usr/lib/vmware/webAccess/java/jre1.5.0_15 kataloogis olev JVM asendada uuemaga, täpsemalt vahetuse üksikasju tuleb uurida foorumitest.
  • Kui VMware Serveri haldusliidese serveri poole tuleb pöörduda ssh kliendi abil, siis tuleb tunneldada 8333 ja 902 porti, nt sedasi
 # ssh mart@vmware.loomaaed.tartu.ee -L 8333:192.168.2.241:8333 -L 902:192.168.2.241:902
  • VMware sobib suhteliselt ideaalselt X-tee turvaserveri tarkvara katsetamiseks. Video seadmeks tuleb valida WMware ning hiireks USB seade, floppy seadmena kasutada host'is 1440x1024 bait suurust tõmmist.
  • VMware kasutamisel tuleb arvestada, et nn virtual switchi sees kostab liiklus läbi, mille tulemusena saavad kõik sama virtual switchi külge ühendatud virtuaalsete arvutite võrguliidesed osas kogu virtuaalsest switchist läbi käivast liiklusest; seepärast oleks õigem seda seadet nimetada virtuaalseks hubiks.
  • 2009 aasta keskpaigas jagatakse tasuta ESXi nimelist lahendust, mis on väidetavalt nö enam enterprise omadustega kui VMware Server.

Kasulikud lisamaterjalid