It NetBSD-projekt ûntwikkelet in nije NVMM-hypervisor

NetBSD projektûntwikkelders oankundige oer it oanmeitsjen fan in nije hypervisor en de byhearrende virtualisaasjestapel, dy't al binne opnommen yn 'e eksperimintele NetBSD-aktuele tûke en wurde oanbean yn' e stabile release fan NetBSD 9. NVMM is op it stuit beheind ta it stypjen fan de x86_64-arsjitektuer en biedt twa backends foar ynskeakelje hardware virtualization meganismen: x86-SVM mei stipe foar AMD en x86-VMX CPU virtualization útwreidings foar Intel CPUs. Yn syn hjoeddeistige foarm is it mooglik om oant 128 firtuele masines op ien host te rinnen, elk fan dat kin wurde tawiisd oant 256 firtuele prosessorkearnen (VCPU) en 128 GB RAM.

NVMM befettet in stjoerprogramma dat rint op it systeem kernel nivo en koördinearret tagong ta hardware virtualization meganismen, en in Libnvmm stack dat rint yn brûkersromte. Ynteraksje tusken kernelkomponinten en brûkersromte wurdt útfierd fia IOCTL. In skaaimerk fan NVMM dat ûnderskiedt it fan hypervisors lykas KVM is HAXM en Bhyve, is dat op 'e kearnnivo allinich de minimale fereaske set bindingen om hardware-virtualisaasjemeganismen wurdt útfierd, en alle hardware-emulaasjekoade wurdt út 'e kearn ferpleatst yn brûkersromte. Dizze oanpak lit jo de hoemannichte koade útfiere mei ferhege privileezjes ferminderje en it risiko ferminderje fan it kompromittearjen fan it heule systeem yn gefal fan oanfallen op kwetsberens yn 'e hypervisor. Derneist wurdt debuggen en fuzzing testen fan it projekt merkber ferienfâldige.

Libnvmm sels befettet lykwols gjin emulatorfunksjes, mar jout allinich in API wêrmei jo NVMM-stipe kinne yntegrearje yn besteande emulators, bygelyks QEMU. De API beslacht funksjes lykas it meitsjen en lansearjen fan in firtuele masine, it tawizen fan ûnthâld oan it gastsysteem en it tawizen fan VCPU's. Om feiligens te ferbetterjen en mooglike oanfalfektors te ferminderjen, leveret libnvmm allinich funksjes dy't eksplisyt oanfrege wurde - standert wurde komplekse handlers net automatysk oanroppen en meie hielendal net brûkt wurde as se kinne wurde foarkommen. NVMM besiket dingen ienfâldich te hâlden, sûnder te yngewikkeld te wurden, en jo kinne safolle mooglik aspekten fan jo wurk kontrolearje.

It NetBSD-projekt ûntwikkelet in nije NVMM-hypervisor

It kernel-nivo diel fan NVMM is frij strak yntegrearre mei de NetBSD kernel, en soarget foar ferbettere prestaasjes troch it ferminderjen fan it oantal kontekst skeakels tusken de gast OS en de host omjouwing. Oan 'e kant fan' e brûkersromte besiket libnvmm mienskiplike I / O-operaasjes te aggregearjen en te foarkommen dat systeemoproppen ûnnedich meitsje. It ûnthâld tawizing systeem is basearre op de pmap subsysteem, wêrmei jo te evict gast ûnthâld siden nei de swap partition yn gefal fan ûnthâld tekoart yn it systeem. NVMM is frij fan globale slûzen en skalen goed, wêrtroch jo tagelyk ferskate CPU-kearnen kinne brûke om ferskate firtuele gastmasines út te fieren.

In QEMU-basearre oplossing is taret dy't NVMM brûkt om hardware-virtualisaasjemeganismen yn te skeakeljen. Der wurdt wurke om de tariede patches op te nimmen yn 'e haadstruktuer fan QEMU. De kombinaasje QEMU + NVMM is al stiet ta mei súkses útfiere gastsystemen mei FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 en oare OS op x86_64-systemen mei AMD- en Intel-processors (NVMM sels is net bûn oan in spesifike arsjitektuer, bygelyks as de passende backend wurdt makke , sil it kinne wurkje op ARM64-systemen). Under de gebieten fan fierdere tapassing fan NVMM, wurdt sânbox-isolaasje fan yndividuele applikaasjes ek opmurken.

It NetBSD-projekt ûntwikkelet in nije NVMM-hypervisor

Boarne: opennet.ru

Add a comment