Den NetBSD Projet entwéckelt en neien NVMM Hypervisor

NetBSD Projet Entwéckler ugekënnegt iwwer d'Schafung vun engem neien Hypervisor an den assoziéierten Virtualiséierungsstack, déi schonn an der experimenteller NetBSD-aktueller Branche abegraff sinn an an der stabiler Verëffentlechung vun NetBSD 9 ugebuede ginn. NVMM ass momentan limitéiert op d'Ënnerstëtzung vun der x86_64 Architektur a bitt zwee Backends fir Erlaabt Hardwarevirtualiséierungsmechanismen: x86-SVM mat Ënnerstëtzung fir AMD an x86-VMX CPU Virtualiséierungserweiterungen fir Intel CPUs. A senger aktueller Form ass et méiglech bis zu 128 virtuelle Maschinnen op engem Host ze lafen, jidderee kann bis zu 256 virtuelle Prozessorkären (VCPU) an 128 GB RAM zougewisen ginn.

NVMM enthält e Chauffer deen um Systemkärnniveau leeft an den Zougang zu Hardwarevirtualiséierungsmechanismen koordinéiert, an e Libnvmm Stack deen am Benotzerraum leeft. Interaktioun tëscht Kernel Komponenten a Benotzerraum gëtt duerch IOCTL duerchgefouert. Eng Fonktioun vun NVMM datt et aus hypervisors wéi KVM ënnerscheet ass HAXM an Bhyve, ass, datt um Kär Niveau nëmmen de Minimum néideg Formatioun vun Bindungen ronderëm Hardware Virtualiséierung Mechanismen duerchgefouert gëtt, an all Hardware Emulatioun Code gëtt aus dem Kär an Benotzer Raum geplënnert. Dës Approche erlaabt Iech d'Quantitéit vum Code ze reduzéieren, deen mat erhöhte Privilegien ausgefouert gëtt an de Risiko reduzéiert fir de ganze System am Fall vun Attacken op Schwachstelle am Hypervisor ze kompromittéieren. Zousätzlech ass Debugging a Fuzzing Testen vum Projet merkbar vereinfacht.

Wéi och ëmmer, Libnvmm selwer enthält keng Emulatorfunktiounen, awer stellt nëmmen eng API déi Iech erlaabt NVMM Ënnerstëtzung an existent Emulatoren z'integréieren, zum Beispill QEMU. D'API deckt Funktiounen wéi d'Erstelle an d'Start vun enger virtueller Maschinn, d'Erënnerung vum Gedächtnis un de Gaaschtsystem an d'Verdeelung vun VCPUs. Fir d'Sécherheet ze verbesseren a méiglech Attackvektoren ze reduzéieren, bitt libnvmm nëmme Funktiounen déi explizit ugefrot sinn - Par défaut ginn komplex Handler net automatesch opgeruff a kënne guer net benotzt ginn wa se vermeide kënnen. NVMM probéiert d'Saachen einfach ze halen, ouni ze komplizéiert ze ginn, an erlaabt Iech esou vill Aspekter vun Ärer Aarbecht wéi méiglech ze kontrolléieren.

Den NetBSD Projet entwéckelt en neien NVMM Hypervisor

De Kernel-Niveau Deel vun NVMM ass zimmlech enk mam NetBSD Kernel integréiert, an erlaabt eng verbessert Leeschtung andeems d'Zuel vu Kontextschalter tëscht dem Gaascht OS an dem Hostëmfeld reduzéiert gëtt. Op der Säit vum Benotzerraum probéiert libnvmm gemeinsam I / O Operatiounen ze aggregéieren an onnéideg Systemruffen ze vermeiden. De Memory Allocation System baséiert op dem pmap Subsystem, wat Iech erlaabt Gaascht Erënnerung Säiten op d'Swap Partition am Fall vun Erënnerung Mangel am System ze evict. NVMM ass fräi vu globale Spären a Skala gutt, wat Iech erlaabt gläichzäiteg verschidde CPU Cores ze benotzen fir verschidde Gaascht virtuell Maschinnen ze lafen.

Eng QEMU-baséiert Léisung gouf virbereet déi NVMM benotzt fir Hardwarevirtualiséierungsmechanismen z'erméiglechen. D'Aarbecht ass amgaang fir déi preparéiert Patches an der Haaptstruktur vum QEMU opzehuelen. D'QEMU + NVMM Kombinatioun ass scho et erlaabt erfollegräich Gaaschtsystemer mat FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 an aner OS op x86_64 Systemer mat AMD an Intel Prozessoren lafen (NVMM selwer ass net mat enger spezifescher Architektur gebonnen, zum Beispill, wann de passenden Backend erstallt gëtt , et wäert fäeg sinn op ARM64 Systemer ze schaffen). Ënnert de Beräicher vun der weiderer Uwendung vun NVMM, Sandkëscht Isolatioun vun eenzelne Uwendungen gëtt och bemierkt.

Den NetBSD Projet entwéckelt en neien NVMM Hypervisor

Source: opennet.ru

Setzt e Commentaire