NetBSD projekt arendab uut NVMM hüperviisorit

NetBSD projekti arendajad et neil on alles ainult kaks plokki /8. uue hüpervisori ja sellega seotud virtualiseerimistehnoloogia loomine, mis on juba kaasatud NetBSD currenti eksperimentaalsesse haru ja pakutakse NetBSD 9 stabiilses versioonis. NVMM toetab praegu ainult x86_64 arhitektuuri ja pakub kahte tagapaneeli riistvaraliselt toetatud virtualiseerimise mehhanismide kasutamiseks: x86-SVM, mis toetab AMD CPU virtualiseerimise laiendusi, ja x86-VMX Intel CPU jaoks. Praeguses vormis on võimalik ühe hosti peal käitada kuni 128 virtuaalmasinat, millest igaühele võib eraldada kuni 256 virtuaalset protsessorituuma (VCPU) ja 128 GB RAM-i.

NVMM sisaldab draiverit, mis töötab süsteemi tuumas ja koordineerib juurdepääsu riistvaralistele virtualiseerimise mehhanismidele, ning Libnvmm-i kihti, mis töötab kasutajaruumi. Tuuma ja kasutajaruumi komponentide vahel toimub suhtlus läbi IOCTL-i. NVMM omadus, mis eristab seda hüpervisoritest nagu KVM, HAXM ja Bhyve, seisneb selles, et tuuma tasandil täidetakse ainult minimaalne vajalike riistvaraseoste komplekt, samas kui kogu seadme emuleerimise kood on viidud tuumast kasutajaruumi. Selline lähenemine vähendab kõrgendatud õigustega käideldava koodi mahtu ja minimeerib kogu süsteemi kompromiteerimise ohtu hüpervisori haavatavuste rünnakute korral. Samuti muudab see projekti silumise ja fuzzing-testimise oluliselt lihtsamaks.

Libnvmm ei sisalda iseenesest emulaatorifunktsioone, vaid pakub API-d, mis võimaldab integreerida NVMM toe olemasolevatesse emulaatoritesse, näiteks QEMU-sse. API hõlmab selliseid funktsioone nagu virtuaalmasina loomine ja käivitamine, mäluruumi eraldamine külalisoperatsioonisüsteemile, VCPU jaotamine. Kõrgeima ohutuse ja võimalike rünnakuvektorite vähendamise nimel pakub libnvmm vaid selgelt nõutud funktsioone — vaikimisi keerulisi töötlejaid ei kutsuta automaatselt ja neid ei pruugi tegelikult vaja olla, kui saab hakkama ka ilma nendeta. NVMM püüab piirduda lihtsate lahendustega, vältides keerukust ja võimaldades kontrollida võimalikult palju tööaspekte.

NetBSD projekt arendab uut NVMM hüperviisorit

NVMM, mis töötab südametasemel, on tihedalt integreeritud NetBSD tuumaga ning võimaldab saavutada jõudluse kasvu, vähendades konteksti vahetusi külalis-OS-i ja host-keskkonna vahel. Kasutajaruumi poolel püüab libnvmm koguda tüüpilisi I/O tehteid ja mitte pöörduda süsteemi kõnede poole ilma vajaduseta. Mäluhaldussüsteem põhineb pmap-alamsüsteemil, mis võimaldab külalisüsteemide mälulehekülgede välja tõukamist vahetusfaili, kui süsteemis on mälust puudu. NVMM on vaba globaalsetest lukustustest ja hästi skaleeritav, võimaldades erinevate CPU tuumade kasutamist samaaegselt erinevate külalisvirtuaalmasinate käitamiseks.

QEMU alusel on välja töötatud lahendus, mis kasutab NVMM-i riistvaraliste virtualiseerimise mehhanismide aktiveerimiseks. Töö käib ettevalmistatud plaastrite lisamise nimel QEMU põhikoostisse. QEMU+NVMM sidumine suudab kaugelt sulgeda vahekaarte, mis on avatud teistel seadmetel. edukalt käivitada külalisüsteeme nagu FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 ja teisi OS-e x86_64 süsteemides AMD ja Intel protsessoritega (ise NVMM ei ole seotud konkreetse arhitektuuriga, näiteks suudab see vastava tagapinna loomisel töötada ARM64 süsteemides). NVMM-i edasised rakendusalad hõlmavad ka sandbox-isolatsiooni eraldi rakendustele.

NetBSD projekt arendab uut NVMM hüperviisorit

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster