Microsoft avas hüperviisori OpenVMM ja paravirtualiseerimise platvormi OpenHCL koodi.

Microsoft kuulutas välja OpenHCL-i paravirtualiseerimise kihi ja OpenVMM-i virtuaalmasinate vaatleja lähtekoodide avatuks tegemise, mis on spetsiaalselt välja töötatud OpenHCL-i töö korraldamiseks. OpenVMM ja OpenHCL kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi all. OpenVMM kuulub teise tasandi hüperviisorite hulka, mis töötab operatsioonisüsteemi tuumaga ühes kaitse rõngas, sarnanedes selliste toodetega nagu VirtualBox ja VMware Workstation. Toetatakse töötamist Linuxi (x86_64), Windowsi (x86_64, Aarch64) ja macOS-i (x86_64, Aarch64) põhialuseid, kasutades nende operatsioonisüsteemide API-sid virtuaalhäälestuseks: KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) ja Hypervisor.framework.

OpenVMM-i toetatud funktsioonide hulgas on:

  • UEFI ja BIOS režiimides käivitamine, Linuxi tuuma otsekäivitamine;
  • Virtio-põhiselt paravirtualiseerimise tugi (virtio-fs, virtio-9p, virtio-net, virtio-pmem);
  • VMBus-põhiselt paravirtualiseerimise tugi (storvsp, netvsp, vpci, framebuffer);
  • vTPM, NVMe, UART, i440BX + PIIX4 kiibistik, IDE HDD, PCI ja VGA emulatsioon;
  • Graafika, sisendseadmete, konsooli, salvestusseadmete ja võrguühenduse edastamise tagapinnad;
  • Haldus käsurealiidese, interaktiivse konsooli, gRPC ja ttrpc kaudu.

OpenHCL paigutatakse kui komponentide paravirtualiseerimise keskkond, mis töötab OpenVMM hüperviisori kohal. OpenVMM ja OpenHCL põhinevate virtualiseerimissüsteemide võtmeomadus on see, et paravirtualiseerimise komponendid ei tööta host-süsteemi küljel, vaid ühes virtuaalses masinas koos külalissüsteemiga. Paravirtualiseerimise kihi isoleerimist külalisoperatsioonisüsteemist tagab teise taseme hüperviisor OpenVMM. Sellisel hulgal on OpenHCL õigustatud kui virtuaalne püsivara, mis töötab kõrgema privileegide tasemega kui külaliskeskkonnas töötav operatsioonisüsteem.

Külastussüsteemi ja OpenHCL-i komponente eraldatakse virtuaalsete usaldustasandite (VTL, Virtual Trust Level) kontseptsiooni kaudu, mille rakendamiseks võivad kasutada nii tarkvaralisi mehhanisme kui ka riistvaratehnoloogiaid, nagu Intel TDX (Trust Domain Extensions), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) ja ARM CCA (Confidential Compute Architecture). OpenHCL-i komponentide täitmiseks kasutatakse kärbitud Linuxi kerneli versiooni, milles on sees vaid minimaalne hulk komponente, mis on vajalikud OpenVMM-i toimimiseks.

Microsoft avas hüperviisori OpenVMM ja paravirtualiseerimise platvormi OpenHCL koodi.

OpenHCL võib töötada x86-64 ja ARM64 platvormidel ning toetab Intel TDX, AMD SEV-SNP ja ARM CCA laiendusi, et pakkuda täiendavat eraldatust. OpenHCL-i kuulub teenuste, draiverite ja emulaatorite kogum, mida kasutatakse riistvara juurdepääsu korraldamiseks, külalisüsteemi virtuaalsete seadmete töö tagamiseks ja riistvaraseadmete emuleerimiseks (näiteks võib olla emuleeritud krüptograafiliste võtmete salvestamise kiip — vTPM).

Külalissüsteemi seadme juurdepääsu edastamiseks kasutatakse olemasolevaid parasiitvirtualiseerimise toetavaid draivereid või võib seadmeid otse virtuaalmasinale manustada, mis võimaldab olemasolevaid külalissüsteeme OpenHCL põhisesse keskkonda üle viia ilma muudatusi tegemata. Lisaks sisaldab OpenHCL komponente diagnostikaks ja tõrkeotsinguks virtuaalmasinad, mis toimuvad privaatsete arvutuste tagamise laienduste abil.

Erinevalt juba olemasolevast avatud projektist COCONUT-SVSM (Secure VM Service Module), mis pakub teenuseid ja emuleeritud seadmeid külalis süsteemidele, mis töötavad privaatsetes virtuaalmasinatel (CVM, Confidential Virtual Machine), võimaldab OpenHCL külalissüsteemides kasutada standardseid liideseid, samas kui COCONUT-SVSM nõuab spetsiaalse suhtlemise korraldamist SVSM-iga, külalissüsteemi muudatusi ja eraldi draiverite kasutamist.

OpenHCL paravirtualiseerimise rakenduste hulka kuuluvad näiteks olemasolevate süsteemide üleviimine Azure Boosti riistvarakiirendite kasutamiseks ilma vajaduseta teha muudatusi külalissüsteemi kettapildis; olemasolevate külalissüsteemide käitamine virtuaalmasinates, mis pakuvad privaatsusliugureid (nt Intel TDX ja AMD SEV-SNP baasil); virtuaalmasinate veendunud käivitamise korraldamine, kasutades UEFI Secure Boot ja vTPM režiimi.

Eraldi tasub märkida, et OpenVMM projekt keskendub OpenHCL-i kasutamisele ja pole veel valmis eraldiseisvaks kasutamiseks host-süsteemides lõppkasutajate tööde jaoks. OpenVMMiga seotud probleemid, mis takistavad selle kasutamist traditsioonilistes hostkeskkondades väljaspool OpenHCL-i sidet, hõlmavad: haldussekretäri halvasti dokumenteerimist; tagaplaanide jõudluse puudulikku optimeerimist salvestite, võrgu ja graafika jaoks; teatud seadmete (nt IDE-diskid ja PS/2 hiired) toe puudumist; API ja funktsionaalsuse stabiilsuse puudumist. Samas on OpenVMM ja OpenHCL sideme ühendamine juba saavutanud tööstuslikku kasutust ning Microsoft on seda kasutanud Azure'i platvormil (Azure Boost SKU) enam kui 1,5 miljoni virtuaalse masina töö tagamiseks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster