La NetBSD-projekto evoluigas novan NVMM-hipervizion

NetBSD-Projektaj Programistoj anoncita pri la kreado de nova hiperviziero kaj la rilata virtualiga stako, kiuj jam estas inkluditaj en la eksperimenta NetBSD-nuna branĉo kaj estos ofertitaj en la stabila eldono de NetBSD 9. NVMM estas nuntempe limigita al subteno de la x86_64-arkitekturo kaj provizas du backends por ebligante aparatarajn virtualigmekanismojn: x86-SVM kun subteno por AMD kaj x86-VMX CPU-virtualigaj etendaĵoj por Intel-CPUoj. En ĝia nuna formo, eblas funkciigi ĝis 128 virtualajn maŝinojn sur unu gastiganto, ĉiu el kiuj povas esti asignita ĝis 256 virtualaj procesoraj kernoj (VCPU) kaj 128 GB da RAM.

NVMM inkluzivas ŝoforon kiu funkcias ĉe la sistema kerno-nivelo kaj kunordigas aliron al aparataj virtualigmekanismoj, kaj Libnvmm-stako kiu funkcias en uzantspaco. Interagado inter kernkomponentoj kaj uzantspaco estas aranĝita tra IOCTL. Trajto de NVMM kiu distingas ĝin de hiperviziiloj kiel ekzemple KVM estas HAXM kaj Bhyve, estas ke sur la kernnivelo nur la minimuma bezonata aro de ligadoj ĉirkaŭ aparataj virtualigmekanismoj estas farita, kaj ĉiu hardvara emuladkodo estas movita for el la kerno en uzantspacon. Ĉi tiu aliro permesas redukti la kvanton de kodo ekzekutita kun altigitaj privilegioj kaj redukti la riskon kompromiti la tutan sistemon en la okazo de atakoj kontraŭ vundeblecoj en la hiperviziero. Krome, sencimiga kaj fuziga testado de la projekto estas rimarkeble simpligita.

Tamen, Libnvmm mem ne enhavas emuligajn funkciojn, sed nur provizas API, kiu permesas vin integri NVMM-subtenon en ekzistantajn emulilojn, ekzemple QEMU. La API kovras funkciojn kiel kreado kaj lanĉo de virtuala maŝino, asignado de memoro al la gastsistemo kaj asignado de VCPUoj. Por plibonigi sekurecon kaj redukti eblajn atakvektorojn, libnvmm disponigas nur funkciojn kiuj estas eksplicite petitaj—defaŭlte, kompleksaj pritraktiloj ne estas nomitaj aŭtomate kaj eble ne estas uzataj se ili povas esti evititaj. NVMM provas konservi aferojn simplaj, sen tro kompliki, kaj permesante al vi kontroli kiel eble plej multajn aspektojn de via laboro.

La NetBSD-projekto evoluigas novan NVMM-hipervizion

La kern-nivela parto de NVMM estas sufiĉe malloze integrita kun la NetBSD-kerno, kaj ebligas plibonigitan efikecon reduktante la nombron da kuntekstoŝanĝoj inter la gasto OS kaj la gastiga medio. Sur la uzantspaco, libnvmm provas kunigi komunajn I/O operaciojn kaj eviti fari sistemajn vokojn nenecese. La memora asignosistemo baziĝas sur la subsistemo pmap, kiu ebligas al vi elpeli gastmemorpaĝojn al la interŝanĝa sekcio en kazo de memormanko en la sistemo. NVMM estas libera de tutmondaj seruroj kaj skvamoj bone, permesante al vi samtempe uzi malsamajn CPU-kernojn por ruli malsamajn gastajn virtualajn maŝinojn.

QEMU-bazita solvo estis preparita kiu uzas NVMM por ebligi aparatajn virtualigmekanismojn. Laboras por inkludi la pretajn diakilojn en la ĉefa strukturo de QEMU. La kombinaĵo QEMU+NVMM jam estas permesas al sukcese ruli gastsistemojn kun FreeBSD, OpenBSD, Linukso, Windows XP/7/8.1/10 kaj aliaj OS sur x86_64-sistemoj kun AMD kaj Intel-procesoroj (NVMM mem ne estas ligita al specifa arkitekturo, ekzemple, se la taŭga backend estas kreita. , ĝi povos funkcii sur ARM64-sistemoj). Inter la areoj de plia apliko de NVMM, sablokesto-izolado de individuaj aplikoj ankaŭ notiĝas.

La NetBSD-projekto evoluigas novan NVMM-hipervizion

fonto: opennet.ru

Aldoni komenton