Uvod
U znanstvenim istraživanjima i nastavi ponekad su neophodni
veliki i složeni programski paketi čija je nabavka skupa i
koji često imaju posebne zahtjeve na operacijski sustav(OS)
i hardver računala. Tu se posebno ističu programi za numeričku
analizu i projektiranje(CAD) u prirodnoznanstvenim i tehničkim
područjima. Zahtjevi koje ovakvi paketi postavljaju na instalaciju
i administriranje računala mogu biti kontradiktorni posebno
ako je raspoloživi hardver ograničen te ako jedno računalo
i sistem inženjer poslužuje više takvih programa. To je čest
slučaj na obrazovnim i znanstvenim ustanovama sa ograničenim
resursima. U interesu ustanove, sistem inženjera ali i krajnjih
korisnika je da računalni sustav bude funkcionalan, jeftin,
skalabilan te po mogućnosti proširiv i jednostavan za održavanje.
Autori su se susreli sa sličnim problemom kod instalacije
programskog paketa Synopsis TCAD rel. 2003.12 [1] koji je sa
akademskom licencom [2] bio raspoloživ samo za OS Red Hat Linux 7.2
(RH7.2 [3]) na novi programski poslužitelj sa dual Intel Xeon(EMT64)
procesorima i RAID 1 poljem diskova. Instalacija Linux OS-a
starije generacije na postojeći hardver nije bila moguća, a
verzija programskog paketa podržava samo navedeni OS. Uspješno
rješenje primjenom virtualnih računala opisano je u ovome radu.
2.Planiranje
Prvo su odabrane verzije OS-a koje su kompatibilne sa programskim
paketom - RH7.2 te hardverom i ostalim programskim paketima
– RH Enterprise Linux 3.0 (RHEL3.0 [4]). Razmotrena je upotreba
različitih virtualnih računala, a odabran je User mode Linux
(UML) zbog dostupnosti (GPL) i kompatibilnosti sa odabranim
verzijama OS-a. UML omogućuje da se kernel virtualnog računala
pokreće kao aplikacija matičnog računala i sastavni je dio
Linux kernela 2.4 i novijih. Odvojeno se koristi kernel virtualnog
računala i preslika datotečnog sustava (image) virtualnog računala
i koji se može koristiti iz matičnog računala preko loopback
sučelja [5],[6].
Planira se instalacija programskog paketa, zajedničkih datoteka
(pomoć, baze podataka) te korisnika na matično računalo te
višestruke instance virtualnih računala u kojima će biti instalirane
samo osnovne komponente OS-a potrebne za pokretanje programskog
paketa. Ovo rješenje podrazumijeva da virtualna računala imaju
vezu sa matičnim računalom (zajednički diskovni prostor-NFS)
koja se kod UML-a najbolje ostvaruje preko računalne mreže
sa virtualnim sučeljem [7]. Budući se poslužitelj licenci nalazi
na trećem računalu, ova mreža je neophodna. Međusobna veza
virtualnih računala nije potrebna. Baza korisnika treba biti
instalirana na matičnom računalu i dijeljena sa virtualnim
računalima pri čemu se treba ograničiti prava nekih korisnika
(studenata). Najjednostavnije rješenje koje zadovoljava ove
zahtjeve, a podržano je od svih OS-a je NIS [8]. Logička shema
je prikazana na Sl 1.
Slika 1: Logička shema implementiranog računalnog
sustava.
3.Implementacija i testiranje rješenja
Kod instalacije matičnog računala bilo je neophodno prevođenje
kernela zbog specijalnih drivera za RAID diskove i TUN/TAP
mrežna sučelja. Preslika RH7.2 datotečnog sustava dobavljena
je sa [6]. Testiranje virtualnog računala isto uzrokuje novo
prevođenje UML kernela zbog mrežnog sučelja. Instalacija programskog
paketa na matično računalo. Stvara se predložak virtualnog
računala koji će se umnožiti nakon podešavanja svakog dijela
planiranog sustava. Tijekom implementacije ispostavlja se da
je za upravljanje virtualnim računalima korisno napraviti sistemsku
skriptu. Ona omogućuje pokretanje, kontrolirano zaustavljanje
i provjeru rada virtualnih računala. Virtualna računala se
umnažaju ručno pri čemu je samo potrebno kopirati presliku
datotečnog sustava te promijeniti ime i mrežne postavke. Rade
se sigurnosne kopije virtualnih računala i postavki matičnog
računala. Instalira se i podešava vatrozid (shorewall [9])
na matično računalo koji štiti cijeli sustav od neautoriziranog
upada izvana (pristup samo preko ssh) i omogućuje virtualnim
računalima samo vanjsku vezu sa poslužiteljem licenci. Za korištenje
X aplikacija u programskom paketu može se koristiti Xnest što
poboljšava kompatibilnost sa nekim implementacijama X servera.
Na Sl. 2 prikazan je X ekran virtualnog računala sa aktivnim
TCAD programima.
4.Eksploatacija
Sustav sa dva virtualna računala nalazi se u normalnoj upotrebi
već šest mjeseci. Dogodio se samo jedan ispad virtualnog računala
zbog nestanka opskrbe električnom energijom. Sustav koristi
17 korisnika od kojih većina radi udaljeno spajajući se preko
ssh. Ograničen je pristup studentima iako se računalo još ne
koristi u redovitoj nastavi (samo znanstveni i stručni rad
studenata). Brzina rada programa u virtualnim računalima je,
prema izjavama korisnika, zadovoljavajuća. Izolacija virtualnih
računala je potpuna tako da eventualni pad programa ili OS-a
u jednom virtualnom računalu nema utjecaja na drugo virtualno
računalo ili na matično računalo.
5.Zaključci
Primjenom virtualnih računala riješen je problem upotrebe
skupog ali neophodnog programskog paketa na računalu koje ne
podržava OS za koji je programski paket isključivo namijenjen.
Ovo rješenje je uvijek primjenjivo u sličnim situacijama s
time da se po potrebi mogu koristiti različite metode i programi
za virtualizaciju. Korištenjem većeg broja virtualnih računala
i mrežnim povezivanjem sa matičnim računalom postiže se skalabilnost,
izolacija instanci programa te lakše održavanje i osiguravanje
sustava. Brzina rada je zadovoljavajuća čak i za zahtjevne
numeričke proračune i CAD.
Slika 2: Programi iz programskog paketa unutar Xnest
na virtualnom računalu tcad2.
6.Reference
[1]
Synopsys TCAD, fund. V, 2003.12:
http://www.synopsys.com/products/tcad/tcad.html
[2]
Europractice Software Service, Europractice,
2006:
http://www.te.rl.ac.uk/europractice/
[3]
Red Hat Linux 7.2 Reference
Guide & Customization Guide, Red Hat Inc., 2001
[4]
Red Hat Enterprise Linux 3.0 System
Administration Guide, Red Hat Inc., 2003
[5]
Introduction to User-Mode Linux,
IBM developerWorks, 2005:
http://www-128.ibm.com/developerworks
[6]
User Model Linux, User Mode Linux
Core Team, 2006:
http://user-mode-linux.sourceforge.net/
[7] Kuthonuzo Luruo,
Virtual Networking with
User-Mode Linux, Linux for You, January 2005, 22-27
[8]
The Linux NIS(YP)/NYS/NIS+ HOWTO,
Thorsten Kukuk, 2003:
http://www.linux-nis.org/nis-howto/HOWTO/
[9]
Shoreline firewall, Shorewall, 2006:
http://www.shorewall.net