NetBSD proiektua NVMM hipervisor berri bat garatzen ari da

NetBSD Proiektuen Garatzaileak iragarri du hipervisor berri bat eta lotutako birtualizazio pila sortzeari buruz, NetBSD-uneko adar esperimentalean sartuta daudenak eta NetBSD 9-ren bertsio egonkorrean eskainiko direnak. Gaur egun, NVMM x86_64 arkitektura onartzera mugatzen da eta bi backend eskaintzen ditu. hardware birtualizazio mekanismoak gaitzea: x86-SVM AMD eta x86-VMX CPU birtualizazio luzapenekin Intel CPUetarako. Gaur egungo forman, 128 makina birtual exekutatu daitezke ostalari batean, eta horietako bakoitzari 256 prozesadore birtualeko nukleo (VCPU) eta 128 GB RAM esleitu daitezke.

NVMM-k sistema-kernel mailan exekutatzen den eta hardwarearen birtualizazio-mekanismoetarako sarbidea koordinatzen duen kontrolatzaile bat eta erabiltzailearen espazioan exekutatzen den Libnvmm pila bat ditu. Nukleoaren osagaien eta erabiltzailearen espazioaren arteko elkarrekintza IOCTL bidez egiten da. KVM bezalako hipervisoreetatik bereizten duen NVMMren ezaugarri bat da HAXM eta Bhyve, zera da, nukleo mailan hardwarearen birtualizazio-mekanismoen inguruko behar den gutxieneko lotura-multzoa bakarrik egiten dela, eta hardwarearen emulazio-kode guztia nukleotik kanpo erabiltzailearen espaziora eramaten dela. Ikuspegi honek pribilegio handiekin exekutatutako kode kopurua murrizten du eta sistema osoa arriskuan jartzeko arriskua murrizten du hipervisorearen ahultasunen aurkako erasoak gertatuz gero. Horrez gain, proiektuaren arazketa eta fuzzing probak nabarmen errazten dira.

Hala ere, Libnvmm-k berak ez ditu emulatzaile-funtziorik, baina NVMM laguntza lehendik dauden emuladoreetan integratzeko aukera ematen duen API bat baino ez du eskaintzen, adibidez, QEMU. APIak makina birtual bat sortzea eta abiaraztea, memoria gonbidatu sistemari eta VCPUak esleitzea bezalako funtzioak hartzen ditu. Segurtasuna hobetzeko eta balizko eraso-bektoreak murrizteko, libnvmm-k esplizituki eskatutako funtzioak baino ez ditu eskaintzen; lehenespenez, kudeatzaile konplexuak ez dira automatikoki deitzen eta baliteke inola ere ez erabiltzea saihestu badaiteke. NVMM gauzak sinpleak izaten saiatzen da, gehiegi konplikatu gabe, eta zure lanaren ahalik eta alderdi gehien kontrolatzeko aukera ematen dizu.

NetBSD proiektua NVMM hipervisor berri bat garatzen ari da

NVMM-ren nukleo-mailako zatia nahiko ondo integratuta dago NetBSD nukleoarekin, eta errendimendua hobetzea ahalbidetzen du, gonbidatu sistema eragilearen eta ostalari-ingurunearen arteko testuinguru-aldaketa kopurua murriztuz. Erabiltzaileen espazioaren aldetik, libnvmm I/O eragiketa arruntak biltzen saiatzen da eta sistema deiak beharrik gabe egitea ekiditen du. Memoria esleitzeko sistema pmap azpisisteman oinarritzen da, eta sisteman memoria eskasia izanez gero gonbidatuen memoria-orriak trukatze partiziora bota ditzakezu. NVMM ez dago blokeo eta eskala globalik, eta aldi berean CPU nukleo desberdinak erabil ditzakezu gonbidatutako makina birtual desberdinak exekutatzeko.

QEMUn oinarritutako soluzio bat prestatu da, NVMM erabiltzen duena hardware birtualizazio mekanismoak gaitzeko. Prestatutako adabakiak QEMUren egitura nagusian sartzeko lanak egiten ari dira. QEMU+NVMM konbinazioa dagoeneko dago aukera ematen du arrakastaz exekutatu gonbidatu sistemak FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 eta beste OS batzuekin x86_64 sistemetan AMD eta Intel prozesadoreekin (NVMM bera ez dago arkitektura zehatz bati lotuta, adibidez, backend egokia sortzen bada). , ARM64 sistemetan lan egiteko gai izango da). NVMM gehiago aplikatzeko eremuen artean, aplikazio indibidualen sandbox isolamendua ere nabarmentzen da.

NetBSD proiektua NVMM hipervisor berri bat garatzen ari da

Iturria: opennet.ru

Gehitu iruzkin berria