Intel heeft de release aangekondigd van een nieuwe versie van zijn "Cloud Hypervisor 0.3", een open-source monitor voor virtuele machines die bovenop KVM draait. Het project richt zich uitsluitend op het uitvoeren van moderne cloudworkloads, samen met een beperkt aantal hardwarearchitecturen en -platformen.
Cloudworkloads verwijzen naar workloads die doorgaans door klanten worden uitgevoerd binnen de omgeving van een cloudprovider. De hypervisor is gebaseerd op componenten van het gezamenlijke Rust-VMM-project, waaraan naast Intel ook Alibaba, Amazon, Google en Red Hat deelnemen.
Rust-VMM is geschreven in Rust en stelt je in staat hypervisors te creëren die specifiek zijn ontworpen voor bepaalde taken. Cloud Hypervisor is zo'n hypervisor, die een geavanceerde virtuele machine monitor (VMM) biedt en is geoptimaliseerd om te voldoen aan de uitdagingen van cloud computing.
Cloud Hypervisor richt zich op het lanceren van moderne Linux-distributies met behulp van paravirtio-apparaten.
Belangrijkste kenmerken zijn: hoge reactiesnelheid, laag geheugenverbruik, hoge prestaties, vereenvoudigde configuratie en minder aanvalsvectoren.
Emulatieondersteuning is geminimaliseerd, met de nadruk op paravirtualisatie. Momenteel worden alleen x86_64-systemen ondersteund, maar er zijn plannen om ook AArch64 te ondersteunen. Van de gastsystemen worden momenteel alleen 64-bits Linux-builds ondersteund. CPU, geheugen, PCI en NVDIMM worden geconfigureerd tijdens de buildfase, en virtuele machines kunnen ook tussen servers worden gemigreerd.
De projectcode is beschikbaar onder de Apache 2.0-licentie.
Belangrijkste nieuwe features van Cloud Hypervisor 0.3
Deze nieuwe versie van Cloud Hypervisor 0.3 elimineert opvallend genoeg paravirtualiseerde I/O in individuele processen . Voor interactie met block devices is de mogelijkheid toegevoegd om vhost-user-blk backends te gebruiken.
De wijziging maakt het mogelijk om op basis van de vhost-user-module, zoals SPDK, blokapparaten aan de cloudhypervisor te koppelen als backends voor paravirtualiseerde opslag.
De ondersteuning voor het verwijderen van netwerkbewerkingen in de vhost-user-net-backends , die in de vorige versie aanwezig was, is uitgebreid met een nieuwe backend gebaseerd op de TAP virtuele netwerkcontroller. Deze backend is geschreven in Rust en wordt nu door Cloud Hypervisor gebruikt als de primaire paravirtualiseerde netwerkarchitectuur.
Om de efficiëntie en veiligheid van de communicatie tussen de hostomgeving en het gastsysteem te verhogen, wordt een hybride socketimplementatie met AF_VSOCK-adressering (virtuele netwerksockets) voorgesteld, die werkt via virtio.
De implementatie is gebaseerd op de ervaring van het Firecracker-project, ontwikkeld door Amazon. VSOCK maakt het gebruik van de standaard POSIX-socket-API mogelijk voor interactie tussen applicaties op het gastbesturingssysteem en de host, waardoor het eenvoudiger wordt om reguliere netwerkprogramma's aan te passen voor deze interactie en interactie tussen meerdere clientprogramma's en een serverapplicatie te implementeren.
Een andere opvallende verandering is de introductie van initiële ondersteuning voor de management-API via het HTTP-protocol . In de toekomst zal deze API asynchrone bewerkingen op gastsystemen mogelijk maken, zoals het hot-connecten van resources en het migreren van omgevingen.
Ook gemarkeerd is de toevoeging van een laag met de virtio MMIO (virtio memory mapped) -gebaseerde transportimplementatie, die kan worden gebruikt om minimalistische gastsystemen te creëren die geen PCI-bus-emulatie vereisen.
Als onderdeel van een initiatief om de ondersteuning voor ingebedde gastlanceringen uit te breiden, heeft Cloud Hypervisor de mogelijkheid toegevoegd om geparavirtualiseerde IOMMU-apparaten door te sturen via virtio, wat de beveiliging van ingebedde en directe apparaatdoorsturing kan verhogen.
Tot slot worden in de aankondiging ook andere nieuwe functies genoemd, zoals de ondersteuning voor Ubuntu 19.10 en de mogelijkheid om gastsystemen met meer dan 64 GB RAM te draaien.
Als u er meer over wilt weten en met deze hypervisor wilt werken, vindt u de details via de volgende link.