VMware Server v. 1 kasutamine Debian Etchiga
Sisukord
- 1 Sissejuhatus
- 2 VMware hosti ettevalmistamine
- 3 VMware guestide võimalused võrgu kasutamiseks
- 4 VMware Server tarkvara kopeerimine
- 5 VMware Server tarkvara paigaldamine
- 6 VMware Serveri käivitamine ja seiskamine
- 7 VMware haldusprogrammi paigaldamine
- 8 VMware haldusprogrammi kasutamine ja guesti moodustamine
- 9 Guesti sisse operatsioonisüsteemi paigaldamine
- 10 VMware hosti võrgu paigaldusjärgne seadistamine
- 11 VMware toolide kasutamine guestis
- 12 Guesti snapshot
- 13 Pordi suunamine NATitud võrgu arvutile
- 14 Märkused
- 15 Kasulikud lisamaterjalid
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. 1, 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.
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. 4.0 (Etch) 64bit ja koosneb sellistest komponentidest
- vmware tuuma moodulid
- vmware deemon ja abiprotsessid
- vmware seadistusutiliit
- virtuaalsed võrguseadmed
Lisaks on vajalik vmware virtuaalarvutite haldustarkvara (VMware Server Console), mis reeglina töötab mõnes muus arvutis ja peab ühendust hostiga üle võrgu, aga erijuhul võib töötada ka samas arvuti vmware deemoniga.
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
bash# apt-get build-dep linux-image-2.6-amd64 bash# apt-get install ia32-libs libx11-6 libxtst6 libxext6 libxt6 libice6 libxrender1 linux-headers-2.6.18-6-amd64 psmisc
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 - 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 - 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, 2008 aasta keskel on viimane stabiilne versioon 1.0.6 ning olulised kaks faili
- vmware hostis töötav server - VMware-server-1.0.6-91891.tar.gz
- vmware haldustarvkara - VMware-server-linux-client-1.0.6-91891.zip
Lisaks usaldatakse registreeritud kasutajale võti, mis tuleb tarkvara paigaldamise ajal sisestada. Võti esineb sarnase järgnevuse kujul
xxxxx-xxxxx-xxxxx-xxxxx
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. Järgnevas eelistame viimast varianti, et saada parem ettekujutus, milliseid faile VMware Server tarkvara sisaldab. 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.
Tarkvara paigaldamiseks võiks nt olla kataloogis /usr/src ning seal serveri arhiiv lahti pakkida
# cd /usr/src # tar zxf VMware-server-1.0.6-91891.tar.gz # cd vmware-server-distrib
Installeri käivitamiseks tuleb öelda
# ./vmware-install.pl
Installeri kasutamine algab küsimusega kuhu kataloogi tarkvara programmifailid paigutatakse, kui vastata näiteks nii, siis edasised küsimused kataloogide kohta omavad sobivat vaikeväärtust
Creating a new installer database using the tar3 format. Installing the content of the package. In which directory do you want to install the binary files? [/usr/bin] /usr/local/vmware-server/bin The path "/usr/local/vmware-server/bin" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc] ... The installation of VMware Server 1.0.6 build-91891 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/local/vmware-server/bin/vmware-uninstall.pl".
Seejärel jõutakse küsimuseni vmware seadistusprogrammi käivitamise kohta, millele vastata jaatavalt
Before running VMware Server for the first time, you need to configure it by invoking the following command: "/usr/local/vmware-server/bin/vmware-config.pl". Do you want this program to invoke the command for you now? [yes]
Edasi proovib installer ettevalmistatud binaarseid tuuma mooduleid kasutada, kuid Debiani puhul tuleb need lokaalselt kompileerida, vastata jaatavalt kompilaatori osas
Trying to find a suitable vmmon module for your running kernel. None of the pre-built vmmon modules for VMware Server is suitable for your running kernel. Do you want this program to try to build the vmmon module for your system (you need to have a C compiler installed on your system)? [yes] Using compiler "/usr/bin/gcc". Use environment variable CC to override.
Seejärel küsitakse header failide kohta, kui vastav Debiani pakett on paigaldatud, siis pakutakse sobivat vastust automaatselt
What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.18-6-amd64/build/include
Jätkub vmmon tuuma mooduli kompileerimine ning laadimine
Extracting the sources of the vmmon module. Building the vmmon module. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vmmon-only' make -C /lib/modules/2.6.18-6-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-headers-2.6.18-6-amd64' CC [M] /tmp/vmware-config0/vmmon-only/linux/driver.o CC [M] /tmp/vmware-config0/vmmon-only/linux/hostif.o CC [M] /tmp/vmware-config0/vmmon-only/common/cpuid.o CC [M] /tmp/vmware-config0/vmmon-only/common/hash.o CC [M] /tmp/vmware-config0/vmmon-only/common/memtrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/phystrack.o CC [M] /tmp/vmware-config0/vmmon-only/common/task.o CC [M] /tmp/vmware-config0/vmmon-only/common/vmx86.o CC [M] /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o LD [M] /tmp/vmware-config0/vmmon-only/vmmon.o Building modules, stage 2. MODPOST CC /tmp/vmware-config0/vmmon-only/vmmon.mod.o LD [M] /tmp/vmware-config0/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-6-amd64' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/vmware-config0/vmmon-only' The module loads perfectly in the running kernel.
Seejärel installer võimaldab ettevalmistada, milliseid võrguga ühendamise võimalused saavad sellel hostil töötavatel guestidel olema, olgu need sellised
- bridged network võrguseadmel eth0
- nat network võrguseadmel eth0, guestid asuvad kasutama subnetti 10.42.0.0/24
- host-only network, guestid asuvad kasutma subnetti 172.16.101.0/24
Do you want networking for your virtual machines? (yes/no/help) [yes] Configuring a bridged network for vmnet0. Your computer has multiple ethernet network interfaces available: eth0, eth1, eth2, eth3. Which one do you want to bridge to vmnet0? [eth0] eth0 The following bridged networks have been defined: . vmnet0 is bridged to eth0
Seejärel pakutakse võimalust seadistada veel bridged võrke, vastame eitavalt
Do you wish to configure another bridged network? (yes/no) [no]
Edasi pakub installer võimaluse seadistada NAT võrk, vastame jaatavalt
Do you want to be able to use NAT networking in your virtual machines? (yes/no) [yes] Configuring a NAT network for vmnet8.
Pakutakse võimalust avatada automaatelt vaba ip subnet, aga kuna me teame täpselt, mida me soovime saavutada, vastame eitavalt
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no
Seejärel küsib installer, milline on selles NAT võrgus hosti enda ip aadress, valime .1 aadressi
What will be the IP address of your host on the private network? 10.42.0.1
Seejärel sisestame NAT võrgu maski
What will be the netmask of your private network? 255.255.255.0
Tulemusena teatab installer, et NAT võrk on seadistatud ja vastame, et rohkem NAT võrke ettevalmistada ei ole tarvis
The following NAT networks have been defined: . vmnet8 is a NAT network on private subnet 10.42.0.0. Do you wish to configure another NAT network? (yes/no) [no]
Seejärel pakub installer ettevalmistada host-only võrgu, vastame jaatavalt
Do you want to be able to use host-only networking in your virtual machines? [yes] Configuring a host-only network for vmnet1.
Kuna me teame täpselt, mida me soovime, vastame eitavalt probe'imise ettepanekule ja näitame host-only subneti võrgus hosti enda ip aadress, valime .1 aadressi
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no What will be the IP address of your host on the private network? 172.16.101.1 What will be the netmask of your private network? 255.255.255.0 The following host-only networks have been defined: . vmnet1 is a host-only network on private subnet 172.16.101.0.
Ning vastame, et rohkem host-only network'sid me tekitada ei soovi
Do you wish to configure another host-only network? (yes/no) [no]
Edasi installer tekitab ja laadib vmnet tuuma mooduli
Extracting the sources of the vmnet module. Building the vmnet module. Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vmnet-only' make -C /lib/modules/2.6.18-6-amd64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-headers-2.6.18-6-amd64' CC [M] /tmp/vmware-config0/vmnet-only/driver.o CC [M] /tmp/vmware-config0/vmnet-only/hub.o CC [M] /tmp/vmware-config0/vmnet-only/userif.o CC [M] /tmp/vmware-config0/vmnet-only/netif.o CC [M] /tmp/vmware-config0/vmnet-only/bridge.o CC [M] /tmp/vmware-config0/vmnet-only/procfs.o CC [M] /tmp/vmware-config0/vmnet-only/smac_compat.o SHIPPED /tmp/vmware-config0/vmnet-only/smac_linux.x86_64.o LD [M] /tmp/vmware-config0/vmnet-only/vmnet.o Building modules, stage 2. MODPOST CC /tmp/vmware-config0/vmnet-only/vmnet.mod.o LD [M] /tmp/vmware-config0/vmnet-only/vmnet.ko make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-6-amd64' cp -f vmnet.ko ./../vmnet.o make: Leaving directory `/tmp/vmware-config0/vmnet-only' The module loads perfectly in the running kernel.
Seejärel küsitakse haldusliidese pöördumise jaoks pordi numbrit, jääme vaikeväärtuse juurde
Please specify a port for remote console connections to use [902]
Edasi küsitakse failisüsteemi piirangute kohta, võiks valida vaikeväärtuse ning kus kataloogis hakkavad asuma guestide failisüsteemidele vastavad andmed, ütleme, et /data/vmware
In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines] /data/vmware
Seejärel pakub installer serial numbri sisestamist
Do you want to enter a serial number now? (yes/no/help) [no] yes Please enter your 20-character serial number Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:
Ja peal registreerimisel omandatud serial numbri sisestamist käivitab installer vmware serveri ning paigaldamine on lõppenud.
Starting VMware services: Virtual machine monitor done Virtual ethernet done Bridged networking on /dev/vmnet0 done Host-only networking on /dev/vmnet1 (background) done Host-only networking on /dev/vmnet8 (background) done NAT service on /dev/vmnet8 done Starting VMware virtual machines... done The configuration of VMware Server 1.0.6 build-91891 for Linux for this running kernel completed successfully.
VMware Server tarkvara eemaldamiseks tuleb öelda
bash# /usr/local/vmware-server/bin/vmware-uninstall.pl ... The removal of VMware Server 1.0.6 build-91891 for Linux completed successfully. Thank you for having tried this software.
VMware Serveri käivitamine ja seiskamine
Peale paigaldamist VMware Serveri deemon töötab, selles saab veenduda vaadates protsessitabelit
bash# ps -eo args | grep vm | grep -v grep /usr/local/vmware-server/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth1 /usr/local/vmware-server/bin/vmnet-natd -d /var/run/vmnet-natd-8.pid -m /var/run/vmnet-natd-8.mac -c /etc/vmware/vmnet8/nat/nat.conf /usr/local/vmware-server/sbin/vmware-serverd -s -d /usr/local/vmware-server/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid /dev/vmnet1 vmnet1 /usr/local/vmware-server/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid /dev/vmnet8 vmnet8 /usr/local/vmware-server/bin/vmnet-dhcpd -cf /etc/vmware/vmnet8/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet8/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8 /usr/local/vmware-server/bin/vmnet-dhcpd -cf /etc/vmware/vmnet1/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet1/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1
Lisaks töötavad NAT ning host-only võrkude jaoks dhcp serverid.
Käivitamiseks ja seiskamiseks sobib kasutata käivitusskripti tavalisel moel
bash# /etc/init.d/vmware start|stop
Vahetult paigaldusjärgselt ei ole see asjakohane, aga põhimõtteliselt võiks virtuaalsed arvutid seisma panna ennem vmware deemoni seiskamist.
Töötava VMware hosti peal on NAT ja host-only võrkudega seotud vmnet* võrguseadmed selliselt
bash# ifconfig eth0 Link encap:Ethernet HWaddr 00:1B:78:CE:85:44 inet addr:10.0.13.104 Bcast:10.0.13.255 Mask:255.255.255.0 .. lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 .. vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01 inet addr:172.16.101.1 Bcast:172.16.101.255 Mask:255.255.255.0 .. vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08 inet addr:10.42.0.1 Bcast:10.42.0.255 Mask:255.255.255.0
Hostist saab ka nende võrkude arvutitesse pöörduda.
VMware haldusprogrammi paigaldamine
Haldusprogrammi paigaldamiseks tuleb eelnevalt kopeeritud arhiiv VMware-server-linux-client-1.0.6-91891.zip lahti pakkida, nt kataloogis /usr/src
bash# unzip VMware-server-linux-client-1.0.6-91891.zip
mis sisaldab faile
- VMware-server-console-1.0.6-91891.i386.rpm OK
- VMware-server-console-1.0.6-91891.tar.gz OK
- VMware-vix-1.0.6-91891.tar.gz OK
- VMware-VmPerlAPI-1.0.6-91891.tar.gz
Nendest omakorda tuleb lahti pakkida fail VMware-server-console-1.0.6-91891.tar.gz
bash# tar zxf VMware-server-console-1.0.6-91891.tar.gz
ning seejärel siseneda kataloogi vmware-server-console-distrib ja käivitada installer käsuga ./vmware-install.pl
# cd vmware-server-console-distrib # ./vmware-install.pl
Sarnaselt serveri installeri kasutamisele tuleks esimesele küsimusel binaaride tee kohta vastata
/usr/local/vmware-sc/bin
Sedasi on järgnevad vaiketeed sobiva väärtusega.
VMware haldusprogrammi kasutamine ja guesti moodustamine
VMware haldusprogrammi on ettenähtud VMware hostil töötavate guestide moodustamiseks ja nende haldamiseks. Guestide haldamine tähendab vastavate operatsioonisüsteemi eksemplaride käivitamist ja seiskamist ning guestidele ressursside eraldamist.
Vaikimisi toimub haldusprogrammi kasutaja autentimine vastu hosti operatsioonisüsteemi nn /etc/passwd faili, juurkasutajana root sisselogides on kõige suuremad privileegid.
Haldusprogrammi kasutamiseks tuleb programm käivitada graafilises keskkonnas, nt X Window System, öeldes
bash$ /usr/local/vmware-sc/bin/vmware-server-console
ja avaneb sarnane aken
Guesti moodustamiseks tuleb valida 'Create a new virtual machine', läbida sobivaid valikuid tehes dialoogid kusjuures valides muu seas sobivalt võrgu kuhu guest ühendatakse.
Virtuaalse arvuti tekitamine tähendab riistvara komplekteerimist, mida tähistatakse guesti nimega, juba tekitatud virtuaalse arvuti puhul saab valida 'Edit virtual machine settings' ning muuta virtuaalse arvuti komponente
Selliselt moodustatud vastse guesti kasutamisel oleks järgmine samm nö tühja virtuaalse arvuti, millel on ka BIOS, bootimine ning operatsioonisüsteemi paigaldamine.
Guesti sisse operatsioonisüsteemi paigaldamine
Operatsioonisüsteemi paigaldamise üks võimalus on
- kopeerida paigaldusmeedia .iso image vmware hosti failisüsteem
- ühendada haldusprogrammi 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.
bash# /usr/local/vmware-server/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 toolid (ingl. k. tööriistad) esinevad nt Linuxi guestis laaditud tuuma moodulite ja mõne deemoni kujul. Toole jagatakse kompileeritud kujul ning vajadusel saab nad kompileerida. Toolide paigaldamiseks tuleb esmalt haldusliideses siis kui guest töötab öelda
VM -> Install VMware Tools Install
mille tulemusena lisatakse guestile külge virtuaalne CD seade, mis sisaldab VMware Toolse. See seade tuleks guestis külge ühendada, nt öeldes
bash# mount /dev/hda /media/cdrom
CD sisaldab kahte faili
- VMwareTools-1.0.6-91891.i386.rpm
- VMwareTools-1.0.6-91891.tar.gz
Kui guesti on Debian GNU/Linux, siis sobib kompileerida toolid sarnaselt hosti kompileerimisele, peavad olema täidetud enam-vähem samad eeldused.
Kui guestina kasutada operatsioonisüsteemi, millele toole ei ole, nt OpenBSD, annab vaatamata sellele siiski guesti kasutada.
Guesti snapshot
TODO
Pordi suunamine NATitud võrgu arvutile
TODO
Märkused
- Miskipärast peale /etc/init.d/vmware stop ütlemist jääb vahel käima üks protsess, seda saab kill abil siiski tappa
root 30789 0.0 0.1 16472 13604 ? Ss 17:36 0:00 /usr/local/vmware-server/sbin/vmware-serverd -s -d
- Vaikimisi ja tundub, et suhteliselt paratamatult on NAT ja host-only võrkudele vastav hosti poolse võrguseadme ip aadress x.x.x.1.
- Vahel on abi aadressil http://knihovny.cvut.cz/ftp/pub/vmware/ jagatavatest nn any-to-any paikadest, kasutaja peab ise otsustama, kas neid kasutada või leida mõni muu võimalus