Het NetBSD-project ontwikkelt een nieuwe hypervisor NVMM

Ontwikkelaars van het NetBSD-project de aanvang aan van de distributie van het laatste blok /8. Vanaf dat moment kon elke klant van de registrar slechts 1024 adressen verkrijgen, wat de uitputting van de voorraad enigszins vertraagde. Maar in 2015 had RIPE nog 16 miljoen beschikbare IP-adressen, en in de zomer van 2019 was dit aantal gedaald over de creatie van een nieuwe hypervisor en de bijbehorende virtualisatie-stack, die al zijn opgenomen in de experimentele tak van NetBSD-current en zullen worden aangeboden in de stabiele release van NetBSD 9. NVMM is momenteel beperkt tot ondersteuning van de x86_64-architectuur en biedt twee backends voor het benutten van hardwarematige virtualisatiemechanismen: x86-SVM met ondersteuning voor CPU-virtualisatie-uitbreidingen van AMD en x86-VMX voor Intel-CPU's. In zijn huidige vorm is het mogelijk om tot 128 virtuele machines op ƩƩn host uit te voeren, waarvoor elk tot 256 virtuele CPU-kernen (VCPU) en 128 GB RAM kunnen worden toegewezen.

NVMM omvat een stuurprogramma dat op het niveau van de systeemkernel werkt en de toegang tot hardwarematige virtualisatimechanismen coƶrdineert, evenals de Libnvmm-stack die in de gebruikersruimte wordt uitgevoerd. De interactie tussen de kernelcomponenten en de gebruikersruimte vindt plaats via IOCTL. Een kenmerk van NVMM, dat het onderscheidt van hypervisors zoals KVM, HAXM en Bhyve, is dat er op het niveau van de kernel alleen de minimaal noodzakelijke set wrappers rondom de hardwarematige virtualisatiemechanismen wordt uitgevoerd, terwijl alle code voor hardware-emulatie uit de kernel naar de gebruikersruimte is verplaatst. Deze aanpak vermindert het volume code dat met verhoogde privileges wordt uitgevoerd, waardoor het risico op compromittering van het hele systeem in het geval van aanvallen op kwetsbaarheden in de hypervisor wordt verlaagd. Bovendien wordt het debuggen en fuzzing-testen van het project aanzienlijk eenvoudiger.

Libnvmm zelf bevat op zich geen emulatorfunctie, maar biedt enkel een API die het mogelijk maakt om de ondersteuning van NVMM in bestaande emulators te integreren, zoals QEMU. De API dekt functies zoals het aanmaken en uitvoeren van een virtuele machine, het toewijzen van geheugen aan het gast-systeem en het verdelen van VCPU. Ter verhoging van de veiligheid en ter vermindering van mogelijke aanvalsvectoren biedt libnvmm alleen expliciet gevraagde functies aan — complexe handlers worden standaard niet automatisch aangeroepen en kunnen in het algemeen mogelijk niet worden toegepast als dat kan worden vermeden. NVMM probeert zoveel mogelijk gebruik te maken van eenvoudige oplossingen en vermijdt complicaties, zodat het zoveel mogelijk aspecten van de werking kan controleren.

Het NetBSD-project ontwikkelt een nieuwe hypervisor NVMM

De op kernniveau functionerende NVMM-component is stevig geĆÆntegreerd met de kernel van NetBSD en maakt prestatieverbeteringen mogelijk door het aantal contextwisselingen tussen de gast-OS en de host-omgeving te verminderen. Aan de gebruikerszijde probeert libnvmm gangbare invoer-/uitvoeroperaties te aggregeren en roept het zonder noodzaak geen systeemoproepen aan. Het geheugenbeheer is gebaseerd op de pmap-subsysteem, waardoor pagina's van gastsystemen naar de swap worden geduwd in geval van een gebrek aan geheugen in het systeem. NVMM is vrij van globale locks en schaalt goed, waardoor verschillende CPU-kernen tegelijkertijd kunnen worden gebruikt voor de uitvoering van verschillende gastvirtuele machines.

Op basis van QEMU is een oplossing ontwikkeld die NVMM gebruikt om hardwarevirtalisatiemechanismen in te schakelen. Er wordt gewerkt aan het opnemen van de voorbereide patches in de hoofdversie van QEMU. De combinatie QEMU+NVMM kan al toe met succes gastsystemen starten met FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 en andere OS op x86_64-systemen met AMD- en Intel-processors (NVMM zelf is niet gebonden aan een bepaalde architectuur; bij het creƫren van een overeenkomstige backend kan het op ARM64-systemen werken). Voor verdere toepassingen van NVMM wordt ook sandbox-isolatie van afzonderlijke applicaties genoemd.

Het NetBSD-project ontwikkelt een nieuwe hypervisor NVMM

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster