Sadržaj
Ako radite u ili oko softverske industrije, vjerovatno ste čuli za virtuelne mašine. Ako ne, možda se pitate šta su i čemu služe.
Kao softverski inženjer, svakodnevno koristim virtuelne mašine. Oni su moćni alati u razvoju softvera, ali imaju i druge namjene. Poznate i kao VM, mnoge kompanije ih koriste zbog njihove fleksibilnosti, pouzdanosti i isplativosti; oni takođe sprečavaju katastrofe od odbeglog testiranja softvera.
Hajde da pogledamo šta su virtuelne mašine i zašto se koriste.
Šta je virtuelna mašina?
Virtuelna mašina je instanca operativnog sistema (OS) kao što je Windows, Mac OS ili Linux koji radi unutar glavnog operativnog sistema računara.
Uobičajeno, radi u prozoru aplikacije na radnoj površini. Virtuelna mašina ima punu funkcionalnost i ponaša se kao poseban računar ili mašina. U suštini, virtuelna mašina je virtuelni računar koji radi unutar drugog računara poznatog kao host mašina.
Slika 1: Virtuelna mašina radi na laptopu.
Virtuelna mašina ne t imati hardver (memoriju, čvrsti disk, tastaturu ili monitor). Koristi simulirani hardver sa glavnog računala. Zbog toga se više VM-ova, koji se također nazivaju "gosti", može pokrenuti na jednom hostu.
Slika 2: Mašina domaćina koja radi više VM-ova.
Host također može pokrenuti više VM-ova s različitim operacijamasisteme, uključujući Linux, Mac OS i Windows. Ova mogućnost zavisi od softvera koji se zove hipervizor (vidi sliku 1 iznad). Hipervizor radi na glavnoj mašini i omogućava vam da kreirate, konfigurišete, pokrećete i upravljate virtuelnim mašinama.
Hipervizor dodeljuje prostor na disku, planira vreme obrade i upravlja upotrebom memorije za svaku VM. To rade aplikacije kao što su Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V i mnoge druge: oni su hipervizori.
Hipervizor može raditi na laptopu, PC-u ili serveru. On čini virtuelne mašine dostupnim lokalnom računaru ili korisnicima distribuiranim preko mreže.
Različiti tipovi virtuelnih mašina i okruženja zahtevaju različite tipove hipervizora. Pogledajmo neke od njih.
Vrste virtuelnih mašina
Sistemske virtuelne mašine
Sistemske VM, koje se ponekad nazivaju i potpuna virtuelizacija, pokreću hipervizor i pružaju funkcionalnost stvarnog kompjuterskog sistema. Oni koriste izvorni operativni sistem domaćina za upravljanje i dijeljenje sistemskih resursa.
Sistemske virtuelne mašine često zahtijevaju moćan host sa brzim ili više CPU-a, velikim količinama memorije i tonama prostora na disku. Neki, koji rade na ličnim ili laptop računarima, možda neće zahtevati računarsku snagu koja je potrebna virtuelnim serverima velikih preduzeća; međutim, oni će raditi sporo ako host sistem nije adekvatan.
Virtualni procesMašine
Proces Virtuelne mašine se prilično razlikuju od SVM-ova—možda ih imate da rade na vašoj mašini, a da to čak i ne znate. Oni su također poznati kao aplikacijske virtualne mašine ili okruženja upravljanog vremena izvršavanja (MRE). Ove virtuelne mašine rade unutar glavnog operativnog sistema i podržavaju aplikacije ili sistemske procese.
Zašto koristiti PVM? Oni obavljaju usluge bez da zavise od specifičnih operativnih sistema ili hardvera. Oni imaju svoj mali OS sa samo resursima koji su im potrebni. UM je u odvojenom okruženju; nije bitno da li radi na Windows, Mac OS, Linux ili bilo kojoj drugoj host mašini.
Jedna od najčešćih procesnih virtuelnih mašina je ona za koju ste verovatno čuli i možda ste videli da radi na vaš računar. Koristi se za pokretanje Java aplikacija i naziva se Java virtuelna mašina ili skraćeno JVM.
Tipovi hipervizora
Većina virtuelnih mašina koje nas zanimaju koriste hipervizor jer emuliraju čitav kompjuterski sistem. Postoje dvije različite vrste hipervizora: goli metalni hipervizori i hostirani hipervizori. Hajde da ih brzo pogledamo.
Bare Metal Hypervisor
BMH-ovi se također mogu nazvati izvornim hipervizorima, i oni rade direktno na hardveru hosta umjesto da rade unutar operativnog sistema hosta. U stvari, oni zauzimaju mjesto operativnog sistema domaćina, raspoređivanja iupravljanje upotrebom hardvera od strane svake virtuelne mašine, čime se izbacuje „srednji čovek“ (OS hosta) u procesu.
Nativni hipervizori se obično koriste za velike poslovne VM-ove, koje kompanije koriste da obezbede zaposlenima resursi servera. Microsoft Azure ili Amazon Web Services su VM hostirani na ovoj vrsti arhitekture. Drugi primjeri su KVM, Microsoft Hyper-V i VMware vSphere.
Hostovani hipervizor
Hostovani hipervizori rade na standardnim operativnim sistemima—baš kao i svaka druga aplikacija koju pokrećemo na našim mašinama. Oni koriste OS domaćina za upravljanje i distribuciju resursa. Ovaj tip hipervizora je prikladniji za pojedinačne korisnike koji trebaju pokrenuti više operativnih sistema na svojim mašinama.
Ovo uključuje aplikacije kao što su Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop i mnoge druge. Detaljnije informacije o hostovanim hipervizorima možete pronaći u našem članku, Najbolji softver za virtuelne mašine.
Zašto koristiti virtuelne mašine?
Sada kada imate osnovno razumijevanje o tome što je virtuelna mašina, vjerovatno se možete sjetiti nekih odličnih aplikacija. Evo nekih od glavnih razloga zašto ljudi koriste virtuelne mašine.
1. Isplativo
Virtuelne mašine su isplative u brojnim situacijama. Jedan od najistaknutijih je u korporativnom svijetu. Korišćenje fizičkih servera za obezbeđivanje resursa za zaposlene možebiti veoma skupo. Hardver nije jeftin, a njegovo održavanje je još skuplje.
Upotreba virtuelnih mašina kao servera preduzeća je sada postala norma. Sa VM-ovima dobavljača kao što je MS Azure, nema početne kupovine hardvera niti troškova održavanja. Ovi VM-ovi se mogu postaviti, konfigurirati i koristiti za samo peni na sat. Takođe se mogu ugasiti kada se ne koriste i nemaju nikakve troškove.
Korišćenje VM-a na vašoj mašini takođe može biti velika ušteda novca. Ako trebate raditi u više operativnih sistema ili različitim hardverskim konfiguracijama, možete
koristiti više virtuelnih mašina na jednom hostu – nema potrebe da izlazite i kupujete poseban računar za svaki zadatak.
2. Skalabilni i fleksibilni
Bilo da se radi o serverima preduzeća ili VM-ovima koji rade na vašem laptopu, virtuelne mašine su skalabilne. Lako je prilagoditi resurse vašim potrebama. Ako vam treba više memorije ili prostora na tvrdom disku, samo uđite u hipervizor i ponovo konfigurirajte VM da ima više. Nema potrebe za kupovinom novog hardvera, a proces se može brzo završiti.
3. Brzo podešavanje
Novi VM se može brzo postaviti. Imao sam slučajeve kada mi je trebalo novo podešavanje VM-a, pozvao sam svog kolegu koji njima upravlja i imao ih spreman za upotrebu za manje od sat vremena.
4. Disaster Recovery
Ako pokušavate spriječiti gubitak podataka i pripremiti se za oporavak od katastrofe, VM-ovi mogu bitiodličan alat. Lako ih je napraviti sigurnosnu kopiju i mogu se distribuirati na različitim lokacijama ako je potrebno. Ako treća strana poput Microsofta ili Amazona hostuje virtuelne mašine, one će biti van lokacije—što znači da su vaši podaci sigurni ako vam kancelarija izgori.
5. Lako za reprodukciju
Većina hipervizora vam omogućava da napravite kopiju ili sliku VM-a. Imaging vam omogućava da lako napravite tačne reprodukcije iste osnovne VM za svaku situaciju.
U okruženju u kojem radim, svakom programeru dajemo VM za korištenje za razvoj i testiranje. Ovaj proces nam omogućava da konfiguriramo sliku sa svim potrebnim alatima i softverom. Kada se uključi novi programer, sve što treba da uradimo je da napravimo kopiju te slike, a oni će imati ono što im je potrebno za rad.
6. Savršeno za Dev/Test
Jedna od najboljih prednosti korištenja virtuelnih mašina je to što su savršen alat za razvoj i testiranje softvera. VM omogućavaju programerima da razvijaju na više platformi i okruženja na jednoj mašini. Ako se taj VM ošteti ili uništi, novi se može brzo kreirati.
One omogućavaju testeru da ima čisto novo okruženje za svaki ciklus testiranja. Radio sam na projektima u kojima smo postavljali automatizirane skripte za testiranje koje kreiraju novu VM, instaliraju najnoviju verziju softvera, izvršavaju sve potrebne testove, a zatim brišemo VM nakon što se testovi završe.
VM-ovi rade sjajno zatestiranje proizvoda i recenzije poput onih koje radimo ovdje na SoftwareHow.com. Mogu instalirati aplikacije u VM koji radi na mom stroju i testirati ih bez zatrpavanja primarnog okruženja.
Kada završim testiranje, uvijek mogu izbrisati virtuelnu mašinu, a zatim kreirati novu kada mi zatreba. Ovaj proces mi također omogućava testiranje na više platformi iako imam samo Windows mašinu.
Završne riječi
Kao što vidite, virtuelne mašine su isplativ, svestran alat koji može koristiti za mnoge aplikacije. Više ne moramo kupovati, postavljati i održavati skupi hardver da bismo omogućili pristup serveru za testere, programere i druge. VM-ovi nam daju fleksibilnost da jednostavno i brzo kreiramo operativne sisteme, hardver i okruženja koja su nam potrebna—u bilo kojem trenutku.