Kas yra hipervizorius?
Hipervizorius – tai programinė įranga arba įrangos programinė įranga, kuri palengvina virtualių mašinų kūrimą ir valdymą, abstrahuodama fizinio kompiuterio aparatinės įrangos išteklius ir leidžianti vienu metu veikti kelioms operacinėms sistemoms. Vietoj to, kad būtų kuriama visa sistema su aparatine įranga ir operacine sistema, hipervizorius sukuria virtualizuotą versiją, iš esmės imituojančią visą kompiuterio aplinką.
Kaip veikia hipervizorius?
Kuriant virtualią mašiną (VM), ji veikia remdamasi nevirtualia, realia mašina, pavyzdžiui, asmeniniu kompiuteriu. VM priklauso nuo fizinės aparatinės įrangos. Todėl tarp dviejų lygmenų, atsakingų už valdymą, yra tarpinis sluoksnis – hipervizorius. Hipervizorius yra programinė įranga, kuri perima reikiamų išteklių valdymą. Ši programa, dar vadinama virtualios mašinos monitoriumi (VMM), paskirsto išteklius sistemoje. Tokiu būdu pagrindinėje sistemoje gali veikti kelios skirtingos virtualios mašinos, nes hipervizorius užtikrina, kad jos netrukdytų viena kitai ir kad visos turėtų reikiamus pajėgumus.
Taigi hipervizorius sukuria abstrakcijos sluoksnį tarp aparatinės įrangos ir joje veikiančių operacinių sistemų. Tai daroma suskirstant aparatinės įrangos išteklius į loginius vienetus ir kiekvienai VM imituojant atskirą aplinką. VM atrodo, tarsi jos veiktų tiesiogiai ant tikros aparatinės įrangos, nors iš tikrųjų jos dalijasi ištekliais su kitomis VM.
Griežtas skirtingų virtualių mašinų atskyrimas ne tik užtikrina tinkamą išteklių paskirstymą, bet ir padidina saugumą. Hipervizorius užtikrina, kad svečio sistema negalėtų pasiekti kitos svečio sistemos failų. Tai ypač svarbu atliekant bandymus, kad sugedusi programa nepadarytų žalos kitoms bandymo aplinkoms.
Atminties valdymas
Vykdant procesoriaus virtualizaciją, hipervizorius naudoja tokias technologijas kaip laiko paskirstymas, kad apdoravimo pajėgumus teisingai paskirstytų tarp virtualių mašinų. Šiuolaikiniai procesoriai turi specialias virtualizacijos funkcijas (pvz., „Intel VT-x“ arba „AMD-V“), kurios palaiko hipervizorių ir sumažina papildomą apkrovą.
Atmintis (RAM) valdoma naudojant puslapiavimo ir atvaizdavimo metodus. Hipervizorius fiziniams atminties blokams priskiria virtualiosios atminties adresus, todėl kiekviena VM mato tik savo atminties erdvę. Kai atminties trūksta, ji gali naudoti tokius mechanizmus kaip atminties perviršio skyrimas arba „ballooning“, kad atmintį efektyviai paskirstytų tarp VM.
Įvesties/išvesties ir įrenginių valdymas
Virtualių mašinų prieiga prie aparatinės įrangos, pavyzdžiui, kietųjų diskų, tinklo plokščių ar vaizdo plokščių, vyksta per virtualias sąsajas. Hipervizorius imituoja šiuos įrenginius arba tiesiogiai perduoda užklausas fizinei aparatinei įrangai (naudodamas „Direct-I/O“ arba „pass-through“ technologijas). Tai užtikrina suderinamumo ir našumo pusiausvyrą.
Izoliacija ir saugumas
Vienas iš pagrindinių virtualizacijos privalumų – virtualių mašinų tarpusavio izoliacija. Kiekviena virtuali mašina veikia savo aplinkoje, todėl vienoje virtualioje mašinoje įvykusios klaidos ar atakos neturi tiesioginio poveikio kitoms virtualioms mašinoms ar pagrindinei sistemai. Hipervizorius naudoja įvairius saugumo mechanizmus, kad užtikrintų griežtą atskyrimą, įskaitant atminties apsaugą, prieigos kontrolę ir „sandboxing“ metodus.
Įvairių tipų virtualių mašinų monitoriai
Yra dviejų skirtingų tipų virtualių mašinų stebėtojai: 1 tipo ir 2 tipo hipervizoriai. Kiekvienas iš jų pasižymi labai konkrečiais privalumais. Pirmasis tipas yra ir senesnė versija. Virtualizacija naudojant šią technologiją buvo pradėta taikyti dar 1960-aisiais.
1 tipo hipervizorius
Pirmasis hipervizoriaus tipas vadinamas „bare-metal“ hipervizoriumi arba „native“ hipervizoriumi. Šis VMM įdiegiamas tiesiogiai ant fizinės aparatinės įrangos, apeinant pagrindinės kompiuterio operacinę sistemą. Dėl to jame turi būti įtraukti visi reikalingi įrenginių tvarkyklės. Išteklių suvartojimas naudojant 1 tipo hipervizorių yra palyginti mažas, nes skaičiavimo galia neturi eiti per pagrindinio kompiuterio operacinę sistemą. Šis hipervizoriaus tipas yra skirtas pirmiausia vartotojams, norintiems įdiegti virtualizacijos serverį. Tačiau mažesniems namų projektams 1 tipo hipervizorius dažnai būna pernelyg sudėtingas.

2 tipo hipervizorius
Antrasis variantas (dar vadinamas „hosted“ hipervizoriumi) reikalauja esamos operacinės sistemos, įdiegtos fizinėje aparatinėje įrangoje. 2 tipo hipervizorius įdiegiamas kaip ir bet kuri kita programa. Tada VMM valdo virtualizaciją. Į hipervizorių nereikia įdiegti įrenginių tvarkyklių, nes tikroji operacinė sistema gali jas tiesiog perduoti programinei įrangai. Tačiau šis patogumas pasiekiamas našumo sąskaita. Didžiąją dalį išteklių jau sunaudoja šeimininko operacinė sistema. Dėl paprastos įdiegos ir konfigūracijos 2 tipo hipervizoriai puikiai tinka mažesniems projektams.
