Pil­vand­me­tööt­luse ajastul on hü­per­viiso­rid nagu KVM ja Xen muutunud olu­li­se­maks kui kunagi varem. Kuidas need kaks vir­tua­li­see­ri­mis­teh­no­loo­giat üks­tei­sest erinevad? Meie Xen vs. KVM võrdluses vaatame nende kahe teh­no­loo­gia sarnasusi ja erinevusi.

Xen ülevaade

Xen on avatud läh­te­koo­diga vir­tua­li­see­ri­mis­tark­vara, mis võimaldab ühel host-masinal sa­ma­aeg­selt käitada mitut kü­la­lisope­rat­sioo­ni­süs­teemi. Xen haldab host-masina riist­va­ra­res­surs­side jaotamist.

Milline tüüpi hü­per­vii­sor on Xen?

Xen on tüüp 1 (või bare metal) hü­per­vii­sor. Selline hü­per­vii­sor ins­tal­li­takse otse füü­si­li­sele süs­tee­mile ja suhtleb riist­va­raga oma drai­ve­rite kaudu. Host- ja kü­la­lis­ka­su­taja ope­rat­sioo­ni­süs­tee­mid ins­tal­li­takse Xen-hü­per­visori peale. Erinevate õiguste tasemete eris­ta­miseks liigitab Xen ins­tal­li­tud ope­rat­sioo­ni­süs­tee­mid kahte eri­ne­vasse domeeni: dom0 ja domU. Host-ope­rat­sioo­ni­süs­teem kuulub dom0 domeeni ja omab kõrgeimat õiguste taset, samas kui kõik kü­la­lis­ka­su­taja ope­rat­sioo­ni­süs­tee­mid on klas­si­fit­see­ri­tud õigusteta süs­teemi­deks ja kuuluvad domU domeeni.

Host-ope­rat­sioo­ni­süs­teem ei suhtle riist­va­raga otse drai­ve­rite kaudu, vaid spet­siaalse Xen API abil hü­per­visori kaudu. Selline sügav in­teg­rat­sioon tagab riistvara tõhusama ka­su­ta­mise, väiksema koormuse ja väiksema rün­na­ku­pinna.

Kuidas Xen kasutab pa­ra­vir­tua­li­see­ri­mist tõhususe suu­ren­da­miseks

Xen kasutab tõhususe suu­ren­da­miseks vir­tua­li­see­ri­mis­teh­ni­kat pa­ra­vir­tua­li­see­ri­mine. Selle tehnikaga hü­per­vii­sor ei emuleeri riist­va­ra­kom­po­nente ja kü­la­lis­süs­tee­mid teavad, et nad töötavad vir­tua­li­see­ri­tud kesk­kon­nas. See võimaldab palju kiiremat suhtlust külalise ope­rat­sioo­ni­süs­teemide ja Xeni vahel, mis suurendab jõudlust.

Selline lä­he­ne­mis­viis tugineb aga spet­siaal­se­tele drai­ve­ri­tele ja ope­rat­sioo­ni­süs­teemi tuumas si­sal­du­va­tele spet­sii­fi­lis­tele või­me­kus­tele. Paljud laial­da­selt ka­su­ta­ta­vad ope­rat­sioo­ni­süs­teemi tuumad, nagu Linux ja BSD, on juba aastaid toetanud pa­ra­vir­tua­li­see­ri­mist.

Kui kasutate ope­rat­sioo­ni­süs­teemi, kus pa­ra­vir­tua­li­see­ri­mine ei ole võimalik või soovitud, toetab Xen ka täielikku vir­tua­li­see­ri­mist (kus riist­va­ra­kom­po­nen­did emu­lee­ri­takse vir­tuaal­selt). Kuigi see aeglustab vir­tua­li­see­ri­mist, tagab see kõrge ühil­du­vuse, või­mal­da­des Xenis käivitada ope­rat­sioo­ni­süs­teeme, mis ei toeta pa­ra­vir­tua­li­see­ri­mist.

Millised on KVM-i peamised omadused?

Nagu Xen, on ka KVM (Kernel-based Virtual Machine) avatud läh­te­koo­diga hü­per­vii­sor, mis võimaldab ka­su­ta­ja­tel ühel füü­si­li­sel masinal mitut kü­la­lisope­rat­sioo­ni­süs­teemi käitada. Kuigi mõlemad hü­per­viiso­rid teenivad sama põ­hi­ees­märki, on nende ar­hi­tek­tuu­ri­line üles­ehi­tus erinev, mistõttu iga hü­per­vii­sor sobib erinevate ka­su­tus­juh­tude jaoks.

Milline tüüpi hü­per­vii­sor on KVM?

Varem nimetati KVM-i sageli tüüp 2 hü­per­viisoriks, kuna see suutis riist­va­raga suhelda ainult host-ope­rat­sioo­ni­süs­teemi drai­ve­rite kaudu. KVM pidi emu­lee­rima kõik kü­la­lis­süs­teemide riist­va­ra­kom­po­nen­did, mis tegi pa­ra­vir­tua­li­see­ri­mise võimatuks.

KVM on sellest ajast alates laien­da­tud, hõlmates ka pa­ra­vir­tua­li­see­ri­mist. Selle toimimise viis erineb siiski Xenist. Erinevalt Xenist ei ole KVM ins­tal­li­tud host-ope­rat­sioo­ni­süs­teemi alla, vaid in­teg­ree­ri­tud otse Linuxi tuumasse. KVM kasutab Linuxi süsteemi tark­va­ra­kom­po­nente vir­tua­li­see­ri­tud süs­teemide ja nende prot­ses­side hal­da­miseks.

KVM-i puhul on igal kü­la­lisope­rat­sioo­ni­süs­tee­mil oma vir­tua­li­see­ri­tud riist­va­ra­komp­lekt, seal­hul­gas võr­gu­lii­de­sed, kettamälu ja muud riist­va­ra­kom­po­nen­did. Täieliku vir­tua­li­see­ri­mise kii­ren­da­miseks kasutab KVM riist­va­ra­toega vir­tua­li­see­ri­mist, mis on juba olemas enamikus kaas­aeg­se­tes prot­ses­so­ri­tes.

KVM-is ei vir­tua­li­see­rita kõiki kom­po­nente täie­li­kult. Süs­teemide ja ra­ken­duste jõudluse pa­ran­da­miseks pakub KVM pa­ra­vir­tua­li­see­ri­tud liideseid, mis suudavad Virtio API kaudu otse suhelda hü­per­viisoriga. KVM kasutab pa­ra­vir­tua­li­see­ri­mist peamiselt sisend- ja väl­jund­sead­mete, näiteks võr­gu­lii­d­ese puhul. Seetõttu kir­jel­da­takse KVM-i sageli osalise pa­ra­vir­tua­li­see­ri­mise ka­su­ta­misena.

KVM vs. Xen, kuidas nende jõudlus võrdub

Kahe hü­per­visori peamine erinevus seisneb selles, kus nad tark­va­ra­komp­leksis töötavad. KVM on in­teg­ree­ri­tud Linuxi tuumasse ja kasutab riist­va­ra­toega vir­tua­li­see­ri­mist, et vir­tua­li­see­rida mitmeid riist­va­ra­kom­po­nente ilma oluliste jõudluse kao­tus­teta. Peamised IO-liidesed on pa­ra­vir­tua­li­see­ri­tud, mis on enamiku ser­ve­ri­ra­ken­duste jaoks tõe­näo­li­selt kõige olulisem aspekt.

Xen aga ins­tal­li­takse tra­dit­sioo­ni­li­selt ope­rat­sioo­ni­süs­teemi alla tüüp 1 hü­per­viisorina. See tähendab , et hü­per­vii­sor haldab ise riist­va­ra­res­surs­side jaotamist. Teo­ree­ti­li­selt võimaldab see Xenil pakkuda tõhusamat ja jõud­lus­li­ku­mat suhtlust riist­va­raga. KVM-i Virtio draiverid ja riist­va­ra­toega vir­tua­li­see­ri­mine viivad selle jõudluse taseme Xeniga võrdsele tasemele .

CPU kin­ni­ta­mine

Hoolimata sar­nas­test jõud­lus­näi­ta­ja­test, ei toimi need kaks hü­per­viisorit kõikides stse­naa­riu­mi­tes võrdselt. CPU pinning’u osas pakub KVM ka­su­ta­ja­tele rohkem võimsust. CPU pinning’u abil saab KVM määrata füüsilise prot­ses­sori (või prot­ses­sori tuuma) vir­tua­li­see­ri­tud prot­ses­so­rile, tagades selle eksklu­siivse ka­su­ta­mise vir­tuaal­süs­tee­mis. Neist kahest hü­per­viisorist pakub seda funkt­siooni ainult KVM, mis on eriti kasulik CPU-mahukate ra­ken­duste puhul.

Võrgu jõudlus

Võrgu jõudluse osas on Xen esikohal. Kuigi mõlemad hü­per­viiso­rid pakuvad pa­ra­vir­tua­li­see­ri­tud võr­gu­lii­de­seid, on igal KVM-i all vir­tua­li­see­ri­tud süsteemil oma võr­gu­seade. Xeniga jagavad kõik kü­la­lis­süs­tee­mid ühte vir­tuaal­set võr­gu­lii­dest, mis suurendab tõhusust.

Kokkuvõte

Küsimus, milline hü­per­vii­sor on parem, sõltub teie nõud­mis­test. Tu­ru­lii­der KVM on in­teg­ree­ri­tud Linuxi tuumasse ja pakub täieliku vir­tua­li­see­ri­mise võimalust. Need aspektid muudavad selle ka­su­ta­mise põ­hi­mõt­te­li­selt liht­sa­maks.

Kuid Xen’i täielikud pa­ra­vir­tua­li­see­ri­mise või­me­ku­sed tä­hen­da­vad, et teo­ree­ti­li­selt suudab see pakkuda paremat jõudlust. Hü­pe­re­visori valimisel tuleb arvesse võtta kahte olulist tegurit: vir­tua­li­see­ri­ta­vad ra­ken­dused ja teie kogemuste tase.

Tip

Otsite hü­per­visori al­ter­na­tiivi, et saaksite oma IT-inf­ra­struk­tuuri pilve üle viia? Kasutage IONOSi pilve mig­rat­sioo­ni­tee­nust ja nautige tas­ku­ko­ha­seid kva­li­teet­seid teenuseid ning kõrgeimat tur­va­li­sust.

Go to Main Menu