Kaj je virtualni stroj? (Zakaj in kdaj ga uporabiti)

  • Deliti To
Cathy Daniels

Če delate v industriji programske opreme ali v njeni bližini, ste verjetno že slišali za virtualne stroje. Če ne, se morda sprašujete, kaj so in za kaj se uporabljajo.

Kot inženir programske opreme dnevno uporabljam virtualne stroje. So močno orodje pri razvoju programske opreme, vendar imajo tudi druge uporabe. Številna podjetja jih uporabljajo tudi kot virtualne stroje zaradi njihove prilagodljivosti, zanesljivosti in stroškovne učinkovitosti, preprečujejo pa tudi katastrofe zaradi nenadzorovanega testiranja programske opreme.

Oglejmo si, kaj so virtualni stroji in zakaj se uporabljajo.

Kaj je virtualni stroj?

Navidezni stroj je primerek operacijskega sistema (OS), kot so Windows, Mac OS ali Linux, ki teče znotraj glavnega OS računalnika.

Običajno se zažene v oknu aplikacije na namizju. Navidezni stroj ima polno funkcionalnost in deluje kot ločen računalnik ali stroj. V bistvu je navidezni stroj navidezni računalnik, ki deluje v drugem računalniku, znanem kot gostiteljski stroj.

Slika 1: Virtualni stroj, ki teče na prenosnem računalniku.

Navidezni stroj nima strojne opreme (pomnilnika, trdega diska, tipkovnice ali monitorja). Uporablja simulirano strojno opremo iz gostiteljskega stroja. Zaradi tega lahko v enem gostiteljskem stroju zaženete več virtualnih strojev, imenovanih tudi "gostje".

Slika 2: Gostiteljski računalnik z več virtualnimi napravami.

Na gostitelju lahko teče tudi več virtualnih računalnikov z različnimi operacijskimi sistemi, vključno z operacijskimi sistemi Linux, Mac OS in Windows. Ta zmogljivost je odvisna od programske opreme, imenovane hipervizor (glejte zgornjo sliko 1). Hipervizor teče na gostiteljskem računalniku in omogoča ustvarjanje, konfiguriranje, zagon in upravljanje virtualnih računalnikov.

Hipervizor dodeljuje prostor na disku, načrtuje čas obdelave in upravlja porabo pomnilnika za vsak VM. To počnejo aplikacije, kot so Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V in številne druge: to so hipervizorji.

Hipervisor lahko teče na prenosnem računalniku, osebnem računalniku ali strežniku. Z njim so virtualni stroji na voljo lokalnemu računalniku ali uporabnikom, razporejenim po omrežju.

Različne vrste virtualnih strojev in okolij zahtevajo različne vrste hipervizorjev. Oglejmo si nekatere od njih.

Vrste virtualnih strojev

Sistemski virtualni stroji

Sistemski virtualni stroji, ki se včasih imenujejo popolna virtualizacija, se izvajajo s hipervizorjem in zagotavljajo funkcionalnost dejanskega računalniškega sistema. Za upravljanje in deljenje sistemskih virov uporabljajo gostiteljev operacijski sistem.

Sistemski navidezni stroji pogosto potrebujejo zmogljivega gostitelja s hitrimi ali številnimi procesorji, veliko količino pomnilnika in veliko prostora na disku. Nekateri, ki delujejo na osebnih ali prenosnih računalnikih, morda ne potrebujejo računske moči, ki jo potrebujejo veliki podjetniški navidezni strežniki; vendar bodo delovali počasi, če gostiteljski sistem ni ustrezen.

Procesni virtualni stroji

Procesni navidezni stroji se precej razlikujejo od SVM - morda jih imate zagnane v svojem računalniku in tega sploh ne veste. Znani so tudi kot aplikacijski navidezni stroji ali upravljana izvajalna okolja (MRE). Ti navidezni stroji delujejo znotraj gostiteljskega operacijskega sistema in podpirajo aplikacije ali sistemske procese.

Zakaj uporabljati PVM? Opravljajo storitve, ne da bi bili odvisni od določenih operacijskih sistemov ali strojne opreme. Imajo svoj mali operacijski sistem, ki ima samo vire, ki jih potrebuje. MRE je v ločenem okolju; ni pomembno, ali teče v sistemu Windows, Mac OS, Linux ali katerem koli drugem gostiteljskem računalniku.

Eden najpogostejših virtualnih strojev je tisti, za katerega ste verjetno že slišali in ste ga morda videli delovati v računalniku. Uporablja se za izvajanje aplikacij Java in se imenuje virtualni stroj Java ali na kratko JVM.

Vrste hipervizorjev

Večina virtualnih strojev, s katerimi se ukvarjamo, uporablja hipervizor, saj emulirajo celoten računalniški sistem. Obstajata dve različni vrsti hipervizorjev: hipervizorji za golo kovino in gostiteljski hipervizorji. Na kratko si oglejmo oba.

Hipervizor Bare Metal

Hipervizorji BMH se lahko imenujejo tudi izvorni hipervizorji in delujejo neposredno na strojni opremi gostitelja, namesto da bi delovali v operacijskem sistemu gostitelja. Pravzaprav nadomestijo operacijski sistem gostitelja, načrtujejo in upravljajo uporabo strojne opreme vsakega navideznega stroja ter tako izločijo "posrednika" (operacijski sistem gostitelja) v postopku.

Nativni hipervizorji se običajno uporabljajo za virtualne računalnike velikih podjetij, ki jih podjetja uporabljajo za zagotavljanje strežniških virov zaposlenim. Microsoft Azure ali Amazon Web Services sta virtualna računalnika, ki gostujeta na tej vrsti arhitekture. Drugi primeri so KVM, Microsoft Hyper-V in VMware vSphere.

Gostujoči hipervizor

Gostiteljski hipervizorji delujejo v standardnih operacijskih sistemih - tako kot vse druge aplikacije, ki jih uporabljamo v svojih računalnikih. Za upravljanje in razdeljevanje virov uporabljajo operacijski sistem gostitelja. Ta vrsta hipervizorja je primernejša za posamezne uporabnike, ki morajo v svojih računalnikih uporabljati več operacijskih sistemov.

Med njimi so aplikacije, kot so Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop in številne druge. Podrobnejše informacije o gostovanih hipervizorjih lahko najdete v našem članku z naslovom Najboljša programska oprema za virtualne stroje.

Zakaj uporabljati virtualne stroje?

Zdaj, ko imate osnovno znanje o tem, kaj je virtualni stroj, si verjetno lahko zamislite nekaj odličnih aplikacij. Tukaj je nekaj glavnih razlogov, zakaj ljudje uporabljajo virtualne stroje.

1. Stroškovna učinkovitost

Virtualni stroji so stroškovno učinkoviti v številnih situacijah. Ena od najbolj očitnih je v poslovnem svetu. Uporaba fizičnih strežnikov za zagotavljanje virov za zaposlene je lahko zelo draga. Strojna oprema ni poceni, njeno vzdrževanje pa je še dražje.

Uporaba virtualnih strojev kot strežnikov v podjetjih je postala običajna. Z virtualnimi stroji ponudnika, kot je MS Azure, ni začetnega nakupa strojne opreme in vzdrževalnih stroškov. Te virtualne stroje je mogoče vzpostaviti, konfigurirati in uporabljati le za drobiž na uro. Ko jih ne uporabljate, jih lahko tudi izključite in ne povzročite nobenih stroškov.

Uporaba virtualnega stroja v računalniku je lahko tudi velik prihranek denarja. Če morate opravljati delo v več operacijskih sistemih ali različnih konfiguracijah strojne opreme, lahko

uporabite več navideznih računalnikov v enem gostitelju - za vsako nalogo vam ni treba kupiti ločenega računalnika.

2. Skalabilen in prilagodljiv

Virtualni stroji so razširljivi, ne glede na to, ali gre za strežnike podjetja ali virtualne stroje, ki tečejo na vašem prenosnem računalniku. Vire je enostavno prilagoditi svojim potrebam. Če potrebujete več pomnilnika ali prostora na trdem disku, preprosto vstopite v hipervizor in znova konfigurirajte virtualni stroj, da bo imel več. Ni treba kupiti nove strojne opreme, postopek pa se lahko hitro izvede.

3. Hitra nastavitev

Nov virtualni stroj je mogoče hitro nastaviti. Zgodilo se mi je že, da sem potreboval nastavitev novega virtualnega stroja, poklical sodelavca, ki jih upravlja, in ga pripravil za uporabo v manj kot eni uri.

4. Obnova po nesreči

Če poskušate preprečiti izgubo podatkov in se pripraviti na obnovitev po nesreči, so lahko virtualni stroji odlično orodje. Enostavno jih je varnostno kopirati in po potrebi jih lahko razporedite na različne lokacije. Če virtualne stroje gosti tretja stran, kot sta Microsoft ali Amazon, bodo ti na voljo zunaj spletnega mesta, kar pomeni, da so vaši podatki varni, če vaša pisarna zgoreva.

5. Enostavno razmnoževanje

Večina hipervizorjev omogoča izdelavo kopije ali slike virtualnega stroja. S slikanjem lahko preprosto pripravite natančne reprodukcije istega osnovnega virtualnega stroja za vsako situacijo.

V okolju, v katerem delam, vsakemu razvijalcu damo v uporabo virtualni računalnik za razvoj in testiranje. Ta postopek nam omogoča, da imamo sliko, ki je konfigurirana z vsemi potrebnimi orodji in programsko opremo. Ko se nov razvijalec vključi v delo, moramo le narediti kopijo te slike in že ima vse, kar potrebuje za začetek dela.

6. Odlično za Dev/Test

Ena najboljših prednosti uporabe virtualnih strojev je, da so odlično orodje za razvoj in testiranje programske opreme. Virtualni stroji omogočajo razvijalcem, da v enem stroju razvijajo na več platformah in okoljih. Če se virtualni stroj poškoduje ali uniči, je mogoče hitro ustvariti novega.

Omogočajo, da ima preizkuševalec za vsak testni cikel čisto novo okolje. Delal sem pri projektih, kjer smo nastavili samodejne testne skripte, ki ustvarijo nov VM, namestijo najnovejšo različico programske opreme, izvedejo vse zahtevane teste in nato izbrišejo VM, ko se testi končajo.

Virtualni stroji se odlično obnesejo pri preizkušanju izdelkov in pregledih, kot jih izvajamo v SoftwareHow.com. Aplikacije lahko namestim v virtualni stroj, ki teče v mojem računalniku, in jih preizkusim, ne da bi pri tem obremenil svoje primarno okolje.

Ko končam s testiranjem, lahko vedno izbrišem navidezni računalnik in ustvarim novega, ko ga potrebujem. Ta postopek mi omogoča tudi testiranje na več platformah, čeprav imam samo računalnik Windows.

Zadnje besede

Kot vidite, so virtualni stroji stroškovno učinkovito in vsestransko orodje, ki se lahko uporablja za številne aplikacije. Ni več treba kupovati, nastavljati in vzdrževati drage strojne opreme za zagotavljanje dostopa do strežnika za preizkuševalce, razvijalce in druge. Virtualni stroji nam omogočajo prilagodljivost, da kadar koli preprosto in hitro ustvarimo operacijske sisteme, strojno opremo in okolja, ki jih potrebujemo.

Sem Cathy Daniels, strokovnjakinja za Adobe Illustrator. Programsko opremo uporabljam od različice 2.0 in ustvarjam vadnice zanjo od leta 2003. Moj blog je ena najbolj priljubljenih destinacij v spletu za ljudi, ki se želijo naučiti Illustratorja. Poleg blogerskega dela sem tudi avtor in grafični oblikovalec.