Die NetBSD-projek is besig om 'n nuwe NVMM-hipervisor te ontwikkel

NetBSD Projek Ontwikkelaars aangekondig oor die skepping van 'n nuwe hiperviseerder en die gepaardgaande virtualisasiestapel, wat reeds ingesluit is in die eksperimentele NetBSD-huidige tak en aangebied sal word in die stabiele vrystelling van NetBSD 9. NVMM is tans beperk tot die ondersteuning van die x86_64-argitektuur en bied twee backends vir wat hardeware-virtualiseringsmeganismes moontlik maak: x86-SVM met ondersteuning vir AMD en x86-VMX CPU-virtualiseringsuitbreidings vir Intel-SVE's. In sy huidige vorm is dit moontlik om tot 128 virtuele masjiene op een gasheer te laat loop, waarvan elkeen tot 256 virtuele verwerkerkerne (VCPU) en 128 GB RAM toegeken kan word.

NVMM sluit 'n drywer in wat op die stelselkernvlak loop en koördineer toegang tot hardeware-virtualiseringsmeganismes, en 'n Libnvmm-stapel wat in gebruikersruimte loop. Interaksie tussen kernkomponente en gebruikersruimte word deur IOCTL uitgevoer. 'n Kenmerk van NVMM wat dit onderskei van hiperviseerders soos KVM is HAXM en Bhyve, is dat op die kernvlak slegs die minimum vereiste stel bindings rondom hardeware-virtualiseringsmeganismes uitgevoer word, en alle hardeware-emulasiekode word uit die kern na gebruikersruimte geskuif. Hierdie benadering laat jou toe om die hoeveelheid kode wat uitgevoer word met verhoogde voorregte te verminder en die risiko te verminder om die hele stelsel in die gedrang te bring in die geval van aanvalle op kwesbaarhede in die hiperviser. Boonop word ontfouting en fuzzing-toetsing van die projek merkbaar vereenvoudig.

Libnvmm self bevat egter nie emulatorfunksies nie, maar bied slegs 'n API wat jou toelaat om NVMM-ondersteuning in bestaande emulators te integreer, byvoorbeeld QEMU. Die API dek funksies soos die skep en begin van 'n virtuele masjien, die toekenning van geheue aan die gasstelsel en die toekenning van VCPU's. Om sekuriteit te verbeter en moontlike aanvalvektore te verminder, verskaf libnvmm slegs funksies wat uitdruklik versoek word—by verstek word komplekse hanteerders nie outomaties geroep nie en mag glad nie gebruik word as dit vermy kan word nie. NVMM probeer dinge eenvoudig hou, sonder om te ingewikkeld te raak, en om jou toe te laat om soveel aspekte van jou werk as moontlik te beheer.

Die NetBSD-projek is besig om 'n nuwe NVMM-hipervisor te ontwikkel

Die kernvlak-deel van NVMM is redelik stewig geïntegreer met die NetBSD-kern, en maak voorsiening vir verbeterde werkverrigting deur die aantal konteksskakelaars tussen die gasbedryfstelsel en die gasheeromgewing te verminder. Aan die gebruikersruimtekant probeer libnvmm om algemene I/O-bewerkings saam te voeg en te verhoed dat stelseloproepe onnodig gemaak word. Die geheuetoewysingstelsel is gebaseer op die pmap-substelsel, wat jou toelaat om gasgeheuebladsye na die ruilpartisie uit te sit in geval van geheuetekort in die stelsel. NVMM is vry van globale slotte en skale goed, wat jou toelaat om gelyktydig verskillende SVE-kerns te gebruik om verskillende virtuele gasmasjiene te laat loop.

'n QEMU-gebaseerde oplossing is voorberei wat NVMM gebruik om hardeware-virtualiseringsmeganismes te aktiveer. Werk is aan die gang om die voorbereide kolle in die hoofstruktuur van QEMU in te sluit. Die QEMU+NVMM-kombinasie is reeds dit laat bestuur gastestelsels suksesvol met FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 en ander bedryfstelsels op x86_64-stelsels met AMD- en Intel-verwerkers (NVMM self is nie gekoppel aan 'n spesifieke argitektuur nie, byvoorbeeld as die toepaslike agterkant geskep word , sal dit op ARM64-stelsels kan werk). Onder die gebiede van verdere toepassing van NVMM, word sandbox-isolasie van individuele toepassings ook opgemerk.

Die NetBSD-projek is besig om 'n nuwe NVMM-hipervisor te ontwikkel

Bron: opennet.ru

Voeg 'n opmerking