Kas ir virtuālā mašīna? (Kāpēc un kad to izmantot)

  • Dalīties Ar Šo
Cathy Daniels

Ja strādājat programmatūras nozarē vai ap to, iespējams, esat dzirdējuši par virtuālajām mašīnām. Ja nē, iespējams, jūs interesē, kas tās ir un kam tās tiek izmantotas.

Kā programmatūras inženieris es ikdienā izmantoju virtuālās mašīnas. Tās ir spēcīgi rīki programmatūras izstrādē, taču tām ir arī citi izmantošanas veidi. Daudzos uzņēmumos tās izmanto arī kā virtuālās mašīnas, jo tās ir elastīgas, uzticamas un rentablas; tās arī novērš katastrofas, ko izraisa programmatūras testēšanas bēgšana.

Apskatīsim, kas ir virtuālās mašīnas un kāpēc tās tiek izmantotas.

Kas ir virtuālā mašīna?

Virtuālā mašīna ir operētājsistēmas (OS), piemēram, Windows, Mac OS vai Linux, instance, kas darbojas datora galvenajā OS.

Parasti tā darbojas lietojumprogrammas logā darbvirsmā. Virtuālajai mašīnai ir pilnīga funkcionalitāte, un tā darbojas kā atsevišķs dators vai mašīna. Būtībā virtuālā mašīna ir virtuāls dators, kas darbojas citā datorā, ko sauc par galveno mašīnu.

1. attēls: Virtuālā mašīna, kas darbojas klēpjdatorā.

Virtuālajai mašīnai nav aparatūras (atmiņas, cietā diska, tastatūras vai monitora). Tā izmanto imitētu aparatūru no resursdatora. Tāpēc vienā resursdatorā var darbināt vairākas virtuālās mašīnas, ko dēvē arī par "viesiem".

2. attēls: Uzņemošā mašīna, kurā darbojas vairāki virtuālie datori.

Uz resursdatora var darbināt arī vairākas virtuālās mašīnas ar dažādām operētājsistēmām, tostarp Linux, Mac OS un Windows. Šī iespēja ir atkarīga no programmatūras, ko sauc par hipervizoru (skatīt 1. attēlu iepriekš). Hipervizors darbojas resursdatorā un ļauj izveidot, konfigurēt, palaist un pārvaldīt virtuālās mašīnas.

Hipervizors piešķir diska vietu, plāno apstrādes laiku un pārvalda atmiņas izmantošanu katrai virtuālajai mašīnai. To dara tādas lietojumprogrammas kā Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V un daudzas citas - tās ir hipervizori.

Hipervizors var darboties klēpjdatorā, personālajā datorā vai serverī. Tas nodrošina virtuālo mašīnu pieejamību lokālajam datoram vai lietotājiem, kas izkliedēti tīklā.

Dažādu veidu virtuālajām mašīnām un vidēm ir nepieciešami dažāda veida hipervizori. Apskatīsim dažus no tiem.

Virtuālo mašīnu veidi

Sistēmas virtuālās mašīnas

Sistēmas VM, ko dažkārt dēvē par pilnīgu virtualizāciju, darbina hipervizors, un tie nodrošina reālas datorsistēmas funkcionalitāti. Lai pārvaldītu un koplietotu sistēmas resursus, tie izmanto resursdatora operētājsistēmu.

Sistēmas virtuālajām mašīnām bieži vien ir nepieciešams jaudīgs resursdators ar ātru vai vairākiem CPU, lielu atmiņas apjomu un daudz vietas uz diska. Dažām, kas darbojas uz personālajiem vai klēpjdatoriem, var nebūt nepieciešama tāda skaitļošanas jauda, kāda nepieciešama lielajiem uzņēmumu virtuālajiem serveriem; tomēr tās darbosies lēni, ja resursdatora sistēma nebūs piemērota.

Procesa virtuālās mašīnas

Procesu virtuālās mašīnas ir diezgan atšķirīgas no SVM - iespējams, tās darbojas jūsu datorā un jūs par to pat nezināt. Tās sauc arī par lietojumprogrammu virtuālajām mašīnām vai pārvaldītām izpildes laika vidēm (MRE). Šīs virtuālās mašīnas darbojas uzņēmējas operētājsistēmas iekšpusē un atbalsta lietojumprogrammas vai sistēmas procesus.

Kāpēc izmantot PVM? Tie veic pakalpojumus, nebūdami atkarīgi no konkrētām operētājsistēmām vai aparatūras. Tiem ir sava neliela operētājsistēma tikai ar tiem resursiem, kas tiem nepieciešami. MRE atrodas atsevišķā vidē; nav svarīgi, vai tas darbojas Windows, Mac OS, Linux vai jebkurā citā datorā.

Viena no izplatītākajām procesu virtuālajām mašīnām ir tā, par kuru jūs, iespējams, esat dzirdējuši un, iespējams, redzējuši darbināmu savā datorā. To izmanto Java lietojumprogrammu darbināšanai, un to sauc par Java virtuālo mašīnu jeb saīsinājumā JVM.

Hipervizoru veidi

Lielākā daļa virtuālo mašīnu, ar kurām mēs nodarbojamies, izmanto hipervizoru, jo tās emulē veselu datorsistēmu. Ir divu veidu hipervizori: Bare Metal Hypervisors un Hosted Hypervisors. Apskatīsim abus šos veidus.

Bare Metal Hypervisor

BMH var saukt arī par vietējiem hipervizoriem, un tie darbojas tieši uz resursdatora aparatūras, nevis resursdatora operētājsistēmā. Faktiski tie aizvieto resursdatora operētājsistēmu, plānojot un pārvaldot aparatūras izmantošanu katrā virtuālajā mašīnā, tādējādi šajā procesā izslēdzot "starpnieku" (resursdatora OS).

Vietējos hipervizorus parasti izmanto liela mēroga uzņēmumu virtuālajiem datoriem, kurus uzņēmumi izmanto, lai nodrošinātu darbiniekus ar serveru resursiem. Microsoft Azure vai Amazon Web Services ir virtuālie datori, kas tiek izvietoti šāda veida arhitektūrā. Citi piemēri ir KVM, Microsoft Hyper-V un VMware vSphere.

Izmitinātais hipervizors

Uzturētie hipervizori darbojas standarta operētājsistēmās - tāpat kā jebkura cita lietojumprogramma, ko mēs darbinām savos datoros. Tie izmanto resursus pārvaldībai un sadalei uzņēmēja operētājsistēmā. Šis hipervizoru veids ir labāk piemērots individuāliem lietotājiem, kuriem savos datoros nepieciešams izmantot vairākas operētājsistēmas.

To vidū ir tādas lietojumprogrammas kā Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop un daudzas citas. Sīkāku informāciju par izmitinātajiem hipervizoriem varat atrast mūsu rakstā Labākā virtuālo mašīnu programmatūra.

Kāpēc izmantot virtuālās mašīnas?

Tagad, kad jums ir pamata izpratne par to, kas ir virtuālā mašīna, jūs, iespējams, varat iedomāties dažus lieliskus lietojumus. Šeit ir daži no galvenajiem iemesliem, kāpēc cilvēki izmanto virtuālās mašīnas.

1. Rentabilitāte

Virtuālās mašīnas ir rentablas daudzās situācijās. Viena no ievērojamākajām ir korporatīvajā pasaulē. Fizisku serveru izmantošana, lai nodrošinātu resursus darbiniekiem, var būt ļoti dārga. Aparatūra nav lēta, un tās uzturēšana ir vēl dārgāka.

Virtuālo mašīnu izmantošana par uzņēmuma serveriem tagad ir kļuvusi par normu. Izmantojot virtuālās mašīnas no tāda pakalpojumu sniedzēja kā MS Azure, nav nepieciešams sākotnēji iegādāties aparatūru un nav jāmaksā uzturēšanas maksa. Šīs virtuālās mašīnas var iestatīt, konfigurēt un izmantot tikai par dažiem centiem stundā. Tās var arī izslēgt, kad tās netiek izmantotas, un nerodas nekādas izmaksas.

VM izmantošana jūsu datorā var būt arī liels naudas ietaupījums. Ja jums ir nepieciešams veikt darbu vairākās operētājsistēmās vai dažādās aparatūras konfigurācijās, jūs varat

izmantot vairākas virtuālās mašīnas vienā datorā - nav nepieciešams iegādāties atsevišķu datoru katram uzdevumam.

2. Maināms un elastīgs

Neatkarīgi no tā, vai tie ir uzņēmuma serveri vai virtuālās mašīnas, kas darbojas jūsu klēpjdatorā, virtuālās mašīnas ir mērogojamas. Resursus ir viegli pielāgot savām vajadzībām. Ja nepieciešams vairāk atmiņas vai cietā diska vietas, vienkārši ieejiet hipervizorā un pārkonfigurējiet virtuālo mašīnu, lai tās būtu vairāk. Nav nepieciešams iegādāties jaunu aparatūru, un šo procesu var veikt ātri.

3. Ātra iestatīšana

Jaunu virtuālo mašīnu var izveidot ātri. Ir bijuši gadījumi, kad man vajadzēja izveidot jaunu virtuālo mašīnu, es piezvanīju savam kolēģim, kurš tos pārvalda, un tie bija gatavi lietošanai mazāk nekā stundas laikā.

4. Atjaunošana pēc katastrofas

Ja cenšaties novērst datu zudumu un sagatavoties avārijas atjaunošanai, virtuālās mašīnas var būt lielisks rīks. Tās ir viegli dublēt, un vajadzības gadījumā tās var izvietot dažādās vietās. Ja virtuālās mašīnas mitina trešā puse, piemēram, Microsoft vai Amazon, tās atradīsies ārpus vietnes - tas nozīmē, ka jūsu dati būs drošībā, ja jūsu birojs nodegs.

5. Viegli reproducējams

Lielākā daļa hipervīrusu ļauj izveidot VM kopiju jeb tēlu. Attēlu veidošana ļauj viegli izveidot tās pašas bāzes VM precīzu kopiju jebkurā situācijā.

Vide, kurā es strādāju, katram izstrādātājam dod VM, ko izmantot izstrādes un testēšanas vajadzībām. Šis process ļauj mums izveidot attēlu, kurā ir konfigurēti visi nepieciešamie rīki un programmatūra. Kad tiek uzņemts jauns izstrādātājs, mums tikai jāizveido šī attēla kopija, un viņam ir viss nepieciešamais, lai sāktu strādāt.

6. Ideāli piemērots Dev/Test

Viena no labākajām virtuālo mašīnu izmantošanas priekšrocībām ir tā, ka tās ir lielisks rīks programmatūras izstrādei un testēšanai. Virtuālās mašīnas ļauj izstrādātājiem vienā datorā izstrādāt vairākās platformās un vidēs. Ja šī virtuālā mašīna tiek bojāta vai iznīcināta, var ātri izveidot jaunu.

Tie ļauj testētājam katrā testēšanas ciklā izmantot jaunu, tīru vidi. Esmu strādājis pie projektiem, kuros mēs izveidojām automatizētus testēšanas skriptus, kas izveido jaunu VM, instalē jaunāko programmatūras versiju, palaiž visus nepieciešamos testus un pēc testu pabeigšanas dzēš VM.

VM lieliski noder produktu testēšanai un pārskatiem, piemēram, tādiem, kādus mēs veicam šeit, SoftwareHow.com. Es varu instalēt lietojumprogrammas VM, kas darbojas manā datorā, un testēt tās, netraucējot manu primāro vidi.

Kad esmu pabeidzis testēšanu, vienmēr varu dzēst virtuālo mašīnu un pēc tam izveidot jaunu, kad tā man būs nepieciešama. Šis process ļauj arī testēt uz vairākām platformām, lai gan man ir tikai Windows mašīna.

Nobeiguma vārdi

Kā redzat, virtuālās mašīnas ir rentabls, daudzpusīgs rīks, ko var izmantot daudzām lietojumprogrammām. Mums vairs nav jāiegādājas, jākonfigurē un jāuztur dārga aparatūra, lai nodrošinātu piekļuvi serverim testētājiem, izstrādātājiem un citiem lietotājiem. Virtuālās mašīnas nodrošina mums elastību, ļaujot viegli un ātri izveidot vajadzīgās operētājsistēmas, aparatūru un vidi - jebkurā laikā.

Es esmu Ketija Danielsa, Adobe Illustrator eksperte. Es izmantoju programmatūru kopš versijas 2.0 un veidoju tai apmācības kopš 2003. gada. Mans emuārs ir viens no populārākajiem galamērķiem tīmeklī cilvēkiem, kuri vēlas apgūt Illustrator. Papildus savam emuāra darbam es esmu arī autors un grafiskais dizainers.