A Microsoft nyílt forráskódú az OpenVMM hipervizort és az OpenHCL paravirtualizációs platformot

A Microsoft bejelentette az OpenHCL paravirtualizálására szolgáló réteg nyílt forráskódját és az OpenVMM virtuálisgép-monitort, amelyet kifejezetten az OpenHCL munkájának szervezésére fejlesztettek ki. Az OpenVMM és az OpenHCL kódja Rust nyelven íródott, és az MIT licenc alatt van licencelve. Az OpenVMM olyan második szintű hipervizorokra utal, amelyek ugyanabban a biztonsági körben működnek az operációs rendszer kernellel, hasonlóan az olyan termékekhez, mint a VirtualBox és a VMware Workstation. Támogatja a működést a Linux (x86_64), Windows (x86_64, Aarch64) és macOS (x86_64, Aarch64) alapú gazdagépeken a KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) és Hypervisor virtualizációs API-k használatával. az operációs rendszer adatai alapján.

Az OpenVMM által támogatott szolgáltatások közül:

  • Indítás UEFI és BIOS módban, a Linux kernel közvetlen indítása;
  • Virtio illesztőprogramokon alapuló paravirtualizációs támogatás (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • VMBus alapú paravirtualizáció támogatása (storvsp, netvsp, vpci, framebuffer);
  • vTPM, NVMe, UART, i440BX + PIIX4 lapkakészlet, IDE HDD, PCI és VGA emulációja;
  • Háttérrendszerek grafika, beviteli eszközök, konzolok, tárolási és hálózati hozzáférés továbbításához;
  • Kezelés parancssori felületen, interaktív konzolon, gRPC-n és ttrpc-n keresztül.

Az OpenHCL olyan környezetként van elhelyezve, amelyben paravirtualizációs összetevők (paravisor) futnak az OpenVMM hipervizor tetején. Az OpenVMM és OpenHCL alapú virtualizációs rendszerek egyik legfontosabb jellemzője, hogy a paravirtualizációs komponensek nem a gazdarendszer oldalán futnak, hanem a vendégrendszerrel egy virtuális gépben. A paravirtualizációs réteg elválasztását a vendég operációs rendszertől a második szintű OpenVMM hipervizor biztosítja. Ilyen módon használva az OpenHCL virtuális firmware-nek tekinthető, amely magasabb jogosultsági szinten fut, mint a vendégkörnyezetben futó operációs rendszer.

A vendégrendszer és az OpenHCL komponensek szétválasztása a virtuális megbízhatósági szintek (VTL, Virtual Trust Level) koncepciójával történik, melynek megvalósításához szoftvermechanizmusok és hardvertechnológiák egyaránt használhatók, mint például az Intel TDX (Trust Domain Extensions). ), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) és ARM CCA (Confidential Compute Architecture). Az OpenHCL-összetevők futtatásához a Linux kernel egy lecsupaszított buildjét használják, amely csak az OpenVMM futtatásához szükséges minimális összetevőket tartalmazza.

A Microsoft nyílt forráskódú az OpenVMM hipervizort és az OpenHCL paravirtualizációs platformot

Az OpenHCL x86-64 és ARM64 platformokon futhat, és támogatja az Intel TDX, AMD SEV-SNP és ARM CCA kiterjesztéseket a további elkülönítés érdekében. Az OpenHCL egy sor szolgáltatást, illesztőprogramot és emulátort tartalmaz, amelyek a berendezésekhez való hozzáférés megszervezésére, a virtuális eszközök működésének biztosítására a vendégrendszer oldalon, valamint a hardvereszközök emulálására (például egy kriptográfiai kulcsok tárolására szolgáló chip - vTPM) emulálhatók.

A vendégrendszer oldalán a hardverekhez való hozzáférés lefordításához meglévő paravirtualizációra alkalmas illesztőprogramokat használnak, vagy az eszközök közvetlenül a virtuális géphez köthetők, lehetővé téve a meglévő vendégrendszerek módosítás nélküli migrálását egy OpenHCL-alapú környezetbe. Az OpenHCL diagnosztikai és hibakeresési komponenseket is tartalmaz. virtuális gépek, a bizalmas számítástechnika biztosítása érdekében kiterjesztések használatával végrehajtva.

A meglévő, nyílt forráskódú COCONUT-SVSM (Secure VM Service Module) projekttel ellentétben, amely bizalmas környezetben futó vendégrendszerekhez biztosít szolgáltatásokat és emulált eszközöket, virtuális gépek (CVM, Confidential Virtual Machine), az OpenHCL lehetővé teszi a standard interfészek használatát a vendégrendszerekben, míg a COCONUT-SVSM speciális interakció megszervezését igényli az SVSM-mel, a vendégrendszer módosítását és különálló illesztőprogramok használatát.

Az OpenHCL-paravisor alkalmazásai között megemlítenek olyan forgatókönyveket, mint például a meglévő rendszerek átállítása Azure Boost hardvergyorsítók használatára anélkül, hogy módosítani kellene a vendégrendszer lemezképet; Futtasson meglévő vendégeket olyan virtuális gépeken, amelyek bizalmas számítástechnikát biztosítanak (például Intel TDX és AMD SEV-SNP alapján); virtuális gépek ellenőrzött rendszerindításának megszervezése UEFI Secure Boot és vTPM mód használatával.

Külön meg kell jegyezni, hogy az OpenVMM projekt az OpenHCL-lel való használatra összpontosít, és még nem áll készen arra, hogy a végfelhasználók éles megvalósításához gazdarendszereken önállóan használják. Az OpenVMM azon problémái között, amelyek megakadályozzák a hagyományos környezetben, az OpenHCL-n kívüli hosztkörnyezetekben való használatát, a következőket említik: a vezérlőfelület rossz dokumentációja; a háttér-teljesítmény megfelelő optimalizálásának hiánya a tárolás, a hálózat és a grafika számára; bizonyos illesztőprogramok támogatásának hiánya (például IDE meghajtók és PS/2 egerek); nincs garancia az API stabilitására és funkcionalitására. Ugyanakkor az OpenVMM és az OpenHCL kombinációja már elérte az ipari megvalósítás szintjét, és a Microsoft az Azure platformon (Azure Boost SKU) használja több mint 1.5 millió virtuális gép működésének támogatására.

Forrás: opennet.ru

Hozzászólás