Mi az a virtuális gép? (Miért és mikor érdemes használni)

  • Ossza Meg Ezt
Cathy Daniels

Ha a szoftveriparban vagy annak környékén dolgozik, valószínűleg hallott már a virtuális gépekről. Ha nem, akkor talán kíváncsi, hogy mik azok, és mire használják őket.

Szoftvermérnökként naponta használok virtuális gépeket. Ezek hatékony eszközök a szoftverfejlesztésben, de más felhasználási területeik is vannak. A VM-ek néven is ismert virtuális gépeket sok vállalkozás használja rugalmasságuk, megbízhatóságuk és költséghatékonyságuk miatt; emellett megelőzik az elszabadult szoftvertesztelésből adódó katasztrófákat.

Vessünk egy pillantást arra, hogy mik azok a virtuális gépek és miért használják őket.

Mi az a virtuális gép?

A virtuális gép egy operációs rendszer (OS), például a Windows, Mac OS vagy Linux egy példánya, amely egy számítógép fő operációs rendszerén belül fut.

A virtuális gép teljes funkcionalitással rendelkezik, és úgy viselkedik, mint egy különálló számítógép vagy gép. A virtuális gép lényegében egy virtuális számítógép, amely egy másik számítógépen, az úgynevezett gazdaszámítógépen belül fut.

1. kép: Egy laptopon futó virtuális gép.

A virtuális gép nem rendelkezik hardverrel (memória, merevlemez, billentyűzet vagy monitor). A virtuális gép a gazdagép szimulált hardverét használja. Emiatt több VM, más néven "vendég" is futtatható egyetlen gazdagépen.

2. kép: Több VM-et futtató gazdaszámítógép.

A gazdaszámítógép több VM-et is futtathat különböző operációs rendszerekkel, beleértve a Linuxot, a Mac OS-t és a Windows-t. Ez a képesség a hypervisornak nevezett szoftvertől függ (lásd a fenti 1. képet). A hypervisor a gazdaszámítógépen fut, és lehetővé teszi a virtuális gépek létrehozását, konfigurálását, futtatását és kezelését.

A hipervizor osztja ki a lemezterületet, ütemezi a feldolgozási időt és kezeli a memóriahasználatot az egyes VM-ek számára. Ezt teszik az olyan alkalmazások, mint az Oracle VirtualBox, a VMware, a Parallels, a Xen, a Microsoft Hyper-V és sok más: ezek hipervizorok.

A hipervizor futhat laptopon, számítógépen vagy szerveren, és virtuális gépeket tesz elérhetővé a helyi számítógép vagy a hálózaton keresztül elosztott felhasználók számára.

A különböző típusú virtuális gépek és környezetek különböző típusú hypervisorokat igényelnek. Nézzünk meg néhányat közülük.

A virtuális gépek típusai

Rendszer virtuális gépek

A rendszer VM-eket, amelyeket néha teljes virtualizációnak is neveznek, egy hipervizor futtatja, és egy tényleges számítógépes rendszer funkcionalitását biztosítják. A rendszer erőforrásainak kezeléséhez és megosztásához a gazda natív operációs rendszerét használják.

A rendszer virtuális gépei gyakran igényelnek nagy teljesítményű, gyors vagy több CPU-val, nagy mennyiségű memóriával és rengeteg lemezterületet. Néhány, személyi vagy hordozható számítógépen futó gépnek nincs szüksége olyan számítási teljesítményre, mint a nagyvállalati virtuális szervereknek; azonban lassan fognak futni, ha a gazdarendszer nem megfelelő.

Virtuális gépek feldolgozása

A folyamat virtuális gépek teljesen különböznek az SVM-ektől - lehet, hogy Ön is futtatja őket a gépén, és nem is tud róla. Alkalmazás virtuális gépeknek vagy menedzselt futásidejű környezeteknek (MRE-k) is nevezik őket. Ezek a virtuális gépek egy gazdavezérlő operációs rendszeren belül futnak, és alkalmazásokat vagy rendszerfolyamatokat támogatnak.

Miért érdemes PVM-et használni? Úgy végeznek szolgáltatásokat, hogy nem függnek konkrét operációs rendszertől vagy hardvertől. Saját kis operációs rendszerük van, csak a szükséges erőforrásokkal. Az MRE külön környezetben van; nem számít, hogy Windows, Mac OS, Linux vagy bármilyen más host gépen fut.

Az egyik legelterjedtebb Process Virtual Machine az, amelyről valószínűleg már hallottál, és talán láttad is futni a számítógépeden. Java alkalmazások futtatására használják, és Java Virtual Machine-nek vagy röviden JVM-nek hívják.

A Hypervisorok típusai

A legtöbb virtuális gép, amellyel foglalkozunk, hipervizort használ, mert egy teljes számítógépes rendszert emulál. Két különböző típusú hipervizor létezik: Bare Metal Hypervisor és Hosted Hypervisor. Vessünk egy gyors pillantást mindkettőre.

Bare Metal Hypervisor

A BMH-kat natív hipervizoroknak is nevezhetjük, és közvetlenül a gazda hardverén futnak ahelyett, hogy a gazda operációs rendszerén belül futnának. Valójában a gazda operációs rendszerének helyét veszik át, ütemezik és kezelik a hardverhasználatot az egyes virtuális gépek által, így a folyamatból kivágják a "közvetítő embert" (a gazda operációs rendszerét).

A natív hipervizorokat általában nagyvállalati VM-ekhez használják, amelyeket a vállalatok arra használnak, hogy a munkavállalóknak szervererőforrásokat biztosítsanak. A Microsoft Azure vagy az Amazon Web Services ilyen típusú architektúrán hosztolt VM-ek. További példák a KVM, a Microsoft Hyper-V és a VMware vSphere.

Hostolt Hypervisor

A hosztolt hipervizorok szabványos operációs rendszereken futnak - ugyanúgy, mint bármely más alkalmazás, amelyet a gépeinken futtatunk. Az erőforrások kezelésére és elosztására a hoszt operációs rendszerét használják. Ez a típusú hipervizor jobban megfelel az olyan egyéni felhasználók számára, akiknek több operációs rendszert kell futtatniuk a gépeiken.

Ezek közé tartoznak az olyan alkalmazások, mint az Oracle VirtualBox, a VMware Workstations, a VMware Fusion, a Parallels Desktop és sok más. A hosztolt hipervizorokról részletesebb információt a Legjobb virtuális gép szoftverek című cikkünkben talál.

Miért érdemes virtuális gépeket használni?

Most, hogy már alapvetően érti, mi is az a virtuális gép, valószínűleg néhány kiváló alkalmazás is eszébe jut. Íme néhány a legfontosabb okok közül, amiért az emberek virtuális gépeket használnak.

1. Költséghatékony

A virtuális gépek számos helyzetben költséghatékonyak. Az egyik legjelentősebb a vállalati világban. A fizikai szerverek használata az alkalmazottak erőforrásainak biztosítására nagyon költséges lehet. A hardver nem olcsó, a karbantartás pedig még költségesebb.

A virtuális gépek vállalati szerverként való használata mára normává vált. Az olyan szolgáltatótól, mint az MS Azure, származó VM-ek esetében nincs kezdeti hardvervásárlás és nincsenek karbantartási díjak. Ezeket a VM-eket óránként mindössze fillérekért lehet beállítani, konfigurálni és használni. Ha nem használják őket, le is lehet őket állítani, és egyáltalán nem keletkeznek költségek.

A VM használata a gépén szintén hatalmas pénzmegtakarítást jelenthet. Ha több operációs rendszerben vagy különböző hardverkonfigurációkban kell munkát végeznie, akkor a

több virtuális gépet használhat egy állomáson - nem kell minden feladathoz külön számítógépet vásárolnia.

2. Skálázható és rugalmas

Legyen szó akár vállalati szerverekről, akár a laptopon futó VM-ekről, a virtuális gépek skálázhatók. Az erőforrásokat könnyen az igényeihez igazíthatja. Ha több memóriára vagy merevlemezre van szüksége, csak lépjen be a hipervizorba, és konfigurálja át a VM-et, hogy több legyen. Nem kell új hardvert vásárolni, és a folyamat gyorsan elvégezhető.

3. Gyors beállítás

Egy új VM gyorsan beállítható. Voltak olyan esetek, amikor új VM beállítására volt szükségem, felhívtam a munkatársamat, aki kezeli őket, és kevesebb mint egy óra alatt használatra készen állt.

4. Katasztrófa utáni helyreállítás

Ha megpróbálja megelőzni az adatvesztést és felkészülni a katasztrófa utáni helyreállításra, a VM-ek kiváló eszköznek bizonyulhatnak. Könnyű biztonsági mentést készíteni róluk, és szükség esetén különböző helyszíneken is eloszthatók. Ha egy harmadik fél, például a Microsoft vagy az Amazon üzemelteti a virtuális gépeket, akkor azok a helyszínen kívül lesznek - ami azt jelenti, hogy az adatai biztonságban vannak, ha az irodája leég.

5. Könnyen reprodukálható

A legtöbb hypervisor lehetővé teszi, hogy egy VM-ről másolatot vagy képet készítsen. A képalkotás lehetővé teszi, hogy bármilyen helyzetben könnyedén létrehozza ugyanazon alap VM pontos másolatait.

Abban a környezetben, ahol én dolgozom, minden fejlesztőnek adunk egy VM-et, amelyet fejlesztésre és tesztelésre használnak. Ez a folyamat lehetővé teszi, hogy az összes szükséges eszközzel és szoftverrel konfigurált képünk legyen. Amikor egy új fejlesztőt veszünk fel, csak egy másolatot kell készítenünk erről a képről, és máris megvan minden, amire szükségük van a munkához.

6. Tökéletes a Dev/Test számára

A virtuális gépek használatának egyik legnagyobb előnye, hogy tökéletes eszköz a szoftverfejlesztéshez és -teszteléshez. A VM-ek lehetővé teszik a fejlesztők számára, hogy egy gépen több platformon és környezetben fejlesszenek. Ha a VM megsérül vagy megsemmisül, gyorsan létrehozható egy új.

Lehetővé teszik a tesztelő számára, hogy minden egyes tesztciklushoz tiszta, új környezetet kapjon. Dolgoztam olyan projekteken, ahol olyan automatizált tesztelési szkripteket állítottunk be, amelyek létrehoznak egy új VM-et, telepítik a szoftver legújabb verzióját, lefuttatják az összes szükséges tesztet, majd a tesztek befejezése után törlik a VM-et.

A VM-ek nagyszerűen működnek a termékteszteléshez és az olyan értékelésekhez, mint amilyeneket itt a SoftwareHow.com-on végzünk. Alkalmazásokat telepíthetek egy VM-en futó gépre, és tesztelhetem őket anélkül, hogy az elsődleges környezetemet megzavarnám.

Ha befejeztem a tesztelést, bármikor törölhetem a virtuális gépet, majd létrehozhatok egy újat, ha szükségem van rá. Ez az eljárás azt is lehetővé teszi, hogy több platformon is tesztelhessek, annak ellenére, hogy csak egy Windows gépem van.

Utolsó szavak

Amint láthatja, a virtuális gépek költséghatékony, sokoldalú eszköz, amely számos alkalmazáshoz használható. Többé nem kell drága hardvert vásárolnunk, beállítanunk és karbantartanunk ahhoz, hogy szerver-hozzáférést biztosítsunk a tesztelők, fejlesztők és mások számára. A VM-ek lehetővé teszik számunkra a rugalmasságot, hogy egyszerűen és gyorsan létrehozzuk a szükséges operációs rendszereket, hardvereket és környezeteket - bármikor.

Cathy Daniels vagyok, az Adobe Illustrator szakértője. A szoftvert a 2.0-s verzió óta használom, és 2003 óta készítek hozzá oktatóanyagokat. A blogom az egyik legnépszerűbb célpont a weben azoknak, akik szeretnék megtanulni az Illustratort. A bloggeri munkám mellett íróként és grafikusként is dolgozom.