„Microsoft“ sukūrė atvirojo kodo „OpenVMM“ hipervizorių ir „OpenHCL“ paravirtualizacijos platformą

„Microsoft“ paskelbė apie OpenHCL paravirtualizavimo sluoksnio atvirąjį kodą ir virtualios mašinos monitorių OpenVMM, specialiai sukurtą OpenHCL darbui organizuoti. OpenVMM ir OpenHCL kodai parašyti Rust ir platinami pagal MIT licenciją. „OpenVMM“ reiškia antrojo lygio hipervizorius, kurie veikia tame pačiame saugos žiede su operacinės sistemos branduoliu, panašiai kaip produktai, tokie kaip „VirtualBox“ ir „VMware Workstation“. Jis palaiko veikimą ant pagrindinių sistemų, pagrįstų Linux (x86_64), Windows (x86_64, Aarch64) ir macOS (x86_64, Aarch64), naudojant pateiktas KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor platforma) ir Hypervisor virtualizacijos API pagal OS duomenis.

Tarp „OpenVMM“ palaikomų funkcijų:

  • Įkrovimas UEFI ir BIOS režimais, tiesioginis Linux branduolio paleidimas;
  • Paravirtualizacijos palaikymas, pagrįstas Virtio tvarkyklėmis (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • VMBus pagrįstas paravirtualizacijos palaikymas (storvsp, netvsp, vpci, framebuffer);
  • vTPM, NVMe, UART, i440BX + PIIX4 mikroschemų rinkinio, IDE HDD, PCI ir VGA emuliacija;
  • Užpakalinės programos, skirtos grafikos persiuntimui, įvesties įrenginiams, konsolėms, saugyklai ir prieigai prie tinklo;
  • Valdymas per komandinės eilutės sąsają, interaktyvią konsolę, gRPC ir ttrpc.

OpenHCL yra kaip aplinka, kurioje paravirtualizacijos komponentai (paravisor) veikia OpenVMM hipervizoriaus viršuje. Pagrindinė virtualizacijos sistemų, pagrįstų OpenVMM ir OpenHCL, ypatybė yra ta, kad paravirtualizacijos komponentai veikia ne pagrindinės sistemos pusėje, o toje pačioje virtualioje mašinoje su svečių sistema. Paravirtualizacijos sluoksnio izoliavimą nuo svečio operacinės sistemos užtikrina antrojo lygio hipervizorius OpenVMM. Tokiu būdu naudojant OpenHCL galima laikyti virtualia programine įranga, veikiančia aukštesniu privilegijų lygiu nei operacinė sistema, veikianti svečio aplinkoje.

Svečių sistemos ir OpenHCL komponentų atskyrimas atliekamas naudojant virtualių pasitikėjimo lygių (VTL, Virtual Trust Level) koncepciją, kurios įgyvendinimui gali būti naudojami tiek programiniai mechanizmai, tiek techninės įrangos technologijos, tokios kaip Intel TDX (Trust Domain Extensions). ), AMD SEV-SNP (saugi šifruota virtualizacija-saugus įdėtas ieškos paieška) ir ARM CCA (konfidenciali skaičiavimo architektūra). Norint paleisti „OpenHCL“ komponentus, naudojamas „Linux“ branduolio kūrinys, kuriame yra tik minimalūs komponentai, reikalingi „OpenVMM“ paleidimui.

„Microsoft“ sukūrė atvirojo kodo „OpenVMM“ hipervizorių ir „OpenHCL“ paravirtualizacijos platformą

OpenHCL gali veikti x86-64 ir ARM64 platformose ir palaiko Intel TDX, AMD SEV-SNP ir ARM CCA plėtinius, kad būtų galima papildomai izoliuoti. OpenHCL apima paslaugų rinkinį, tvarkykles ir emuliatorius, naudojamus organizuoti prieigą prie įrangos, užtikrinti virtualių įrenginių veikimą svečių sistemos pusėje ir emuliuoti aparatūros įrenginius (pavyzdžiui, lustą kriptografiniams raktams saugoti – vTPM).

Norint perkelti prieigą prie aparatinės įrangos svečio sistemos pusėje, naudojamos esamos paravirtualizacijos tvarkyklės arba įrenginiai gali būti tiesiogiai susieti su virtualia mašina, leidžiant esamas svečių sistemas perkelti į OpenHCL pagrindu veikiančią aplinką be pakeitimų. OpenHCL taip pat apima diagnostikos ir derinimo komponentus. virtualios mašinos, atliekamas naudojant plėtinius, siekiant užtikrinti konfidencialų skaičiavimą.

Kitaip nei esamas atvirojo kodo projektas COCONUT-SVSM (Secure VM Service Module), kuris teikia paslaugas ir emuliuojamus įrenginius svečių sistemoms, veikiančioms konfidencialioje aplinkoje virtualios mašinos (CVM, konfidenciali virtuali mašina), „OpenHCL“ leidžia svečių sistemose naudoti standartines sąsajas, o COCONUT-SVSM reikalauja organizuoti specialią sąveiką su SVSM, atlikti pakeitimus svečių sistemoje ir naudoti atskiras tvarkykles.

Tarp „OpenHCL paravisor“ programų paminėti tokie scenarijai, kaip esamų sistemų perėjimas prie „Azure Boost“ aparatinės įrangos greitintuvų, nekeičiant svečio sistemos disko vaizdo; Vykdykite esamus svečius virtualiose mašinose, kurios teikia konfidencialų skaičiavimą (pavyzdžiui, remiantis Intel TDX ir AMD SEV-SNP); Patvirtintos virtualių mašinų įkrovos organizavimas naudojant UEFI saugaus įkrovos ir vTPM režimą.

Atskirai pažymėtina, kad OpenVMM projektas yra orientuotas į naudojimą su OpenHCL ir dar nėra paruoštas savarankiškam naudojimui pagrindinėse sistemose galutinių vartotojų gamybiniam diegimui. Tarp OpenVMM problemų, trukdančių jį naudoti pagrindinio kompiuterio aplinkoje tradiciniame kontekste, už OpenHCL ribų, paminėtos: bloga valdymo sąsajos dokumentacija; nepakankamas saugyklos, tinklo ir grafikos sistemos našumo optimizavimas; kai kurių tvarkyklių (pavyzdžiui, IDE diskų ir PS/2 pelių) palaikymo trūkumas; API stabilumo ir funkcionalumo garantijos nėra. Tuo pačiu metu „OpenVMM“ ir „OpenHCL“ derinys jau pasiekė pramoninio diegimo lygį ir „Microsoft“ jį naudoja „Azure“ platformoje („Azure Boost SKU“, kad palaikytų daugiau nei 1.5 mln. virtualių mašinų).

Šaltinis: opennet.ru

Добавить комментарий