Microsoft har åbnet koden for hypervisoren OpenVMM og para-virtualiseringsplatformen OpenHCL

Virksomheden Microsoft har annonceret åbningen af kildekoderne til laget til para-virtualisering OpenHCL og monitoren for virtuelle maskiner OpenVMM, som specifikt udvikles til at organisere arbejdet med OpenHCL. Koden til OpenVMM og OpenHCL er skrevet i Rust og distribueres under MIT-licensen. OpenVMM tilhører niveau 2 hypervisorer, der kører i samme beskyttelsesring som operativsystemets kerne, svarende til produkter som VirtualBox og VMware Workstation. Det understøtter drift på værtsystemer baseret på Linux (x86_64), Windows (x86_64, Aarch64) og macOS (x86_64, Aarch64) ved hjælp af de pågældende operativsystemers virtualiserings-API'er KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) og Hypervisor.framework.

Blandt de funktioner, der understøttes i OpenVMM:

  • Boot i UEFI- og BIOS-tilstande, direkte boot af Linux-kernen;
  • Understøttelse af para-virtualisering baseret på Virtio-drivere (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • Understøttelse af para-virtualisering baseret på VMBus (storvsp, netvsp, vpci, framebuffer);
  • Emulering af vTPM, NVMe, UART, chipset i440BX + PIIX4, IDE HDD, PCI og VGA;
  • Backends til videregivelse af grafik, input-enheder, konsol, lager og netværksadgang;
  • Administration via kommandolinjegrænseflade, interaktiv konsol, gRPC og ttrpc.

OpenHCL positioneres som et miljø med komponenter til para-virtualisering (para-hypervisor), der fungerer oven på hypervisoren OpenVMM. En nøglefunktion ved virtualiseringssystemer baseret på OpenVMM og OpenHCL er, at komponenterne til para-virtualisering kører ikke på værtsystemets side, men i én virtuel maskine med gæsteoperativsystemet. Isoleringen af para-virtualiseringslaget fra gæsteoperativsystemet sikres herved af den niveau 2 hypervisor OpenVMM. OpenHCL i denne anvendelse kan betragtes som virtuel firmware, der kører på et højere privilegieniveau end det gæsteoperativsystem, der kører i det gæstefunktionelle miljø.

Adskillelsen af gæstesystemet og OpenHCL-komponenterne sker ved hjælp af konceptet for virtuelle tillidsniveauer (VTL, Virtual Trust Level), som kan implementeres ved både softwaremekanismer og hardwareteknologier såsom Intel TDX (Trust Domain Extensions), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) og ARM CCA (Confidential Compute Architecture). For at køre OpenHCL-komponenter anvendes en beskåret version af Linux-kernen, som kun inkluderer de minimums komponenter, der er nødvendige for driften af OpenVMM.

Microsoft har åbnet koden for hypervisoren OpenVMM og para-virtualiseringsplatformen OpenHCL

OpenHCL kan køre på x86-64 og ARM64-platforme og understøtter Intel TDX, AMD SEV-SNP og ARM CCA-udvidelser for ekstra isolation. OpenHCL omfatter et sæt tjenester, drivere og emulatorer, der anvendes til at organisere adgangen til hardware, sørge for driften af virtuelle enheder på gæstesystemets side og emulere hardwareenheder (for eksempel kan en chip til opbevaring af kryptografiske nøgler — vTPM — emuleres).

For at oversætte adgangen til hardware på gæstesystemets side anvendes eksisterende drivere med støtte til paravirtualisering, eller der kan udføres direkte binding af enheder til den virtuelle maskine, hvilket gør det muligt at overføre eksisterende gæstesystemer til miljøet baseret på OpenHCL uden at foretage ændringer i dem. Desuden inkluderer OpenHCL komponenter til diagnostik og fejlfinding, virtual machines, der udføres ved hjælp af udvidelser til at sikre fortrolige beregninger.

I modsætning til det eksisterende åbne projekt COCONUT-SVSM (Secure VM Service Module), der leverer tjenester og emulerede enheder til gæstesystemer, der kører i fortrolige virtuelle maskiner (CVM, Confidential Virtual Machine), tillader OpenHCL brugen af standardgrænseflader i gæstesystemerne, mens COCONUT-SVSM kræver organisering af speciel interaktion med SVSM, ændringer i gæstesystemet og brugen af separate drivere.

Bland anvendelser af para-visoren OpenHCL nævnes scenarier som at migrere eksisterende systemer til brugen af hardwareacceleratorer Azure Boost uden behov for ændringer i gæstesystemets diskbillede; udførelse af eksisterende gæstesystemer i virtuelle maskiner, der sikrer fortrolige beregninger (f.eks. baseret på Intel TDX og AMD SEV-SNP); organisering af verifieret opstart af virtuelle maskiner ved hjælp af UEFI Secure Boot og vTPM.

Det bemærkes separat, at projektet OpenVMM er fokuseret på brug sammen med OpenHCL og er stadig ikke klar til selvstændig anvendelse på værtssystemer til arbejdsimplementeringer fra slutbrugere. Blandt problemerne med OpenVMM, der hindrer dets anvendelse i vært-miljøer i en traditionel kontekst, uden forbindelse til OpenHCL, nævnes: dårlig dokumentation af kontrolgrænsefladen; mangel på passende optimering af backend-ydeevne for lagring, netværk og grafik; manglende støtte til visse drivere (f.eks. IDE-disk og PS/2 mus); der er ingen garanti for stabilitet af API'et og funktionalitet. Samtidig er kombinationen af OpenVMM og OpenHCL allerede nået niveauet for industriel implementering og er involveret i Microsofts Azure-platform (Azure Boost SKU) for at understøtte mere end 1,5 millioner virtuelle maskiner.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster