Microsoft atvērtā koda OpenVMM hipervizors un OpenHCL paravirtualizācijas platforma

Microsoft ir paziņojis par OpenHCL paravirtualizācijas slāņa atvērto avotu un virtuālās maŔīnas monitoru OpenVMM, kas Ä«paÅ”i izstrādāts OpenHCL darba organizēŔanai. OpenVMM un OpenHCL kods ir rakstÄ«ts Rust un tiek izplatÄ«ts saskaņā ar MIT licenci. OpenVMM attiecas uz otrā lÄ«meņa hipervizoriem, kas darbojas vienā droŔības lokā ar operētājsistēmas kodolu, lÄ«dzÄ«gi produktiem, piemēram, VirtualBox un VMware Workstation. Tā atbalsta darbÄ«bu virs resursdatora sistēmām, kuru pamatā ir Linux (x86_64), Windows (x86_64, Aarch64) un macOS (x86_64, Aarch64), izmantojot nodroÅ”inātās KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor platforma) un Hypervisor virtualizācijas API. pēc OS datiem.

Starp OpenVMM atbalstītajām funkcijām:

  • SāknēŔana UEFI un BIOS režīmos, tieÅ”a Linux kodola sāknēŔana;
  • Paravirtualizācijas atbalsts, kas balstÄ«ts uz Virtio draiveriem (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • Atbalsts paravirtualizācijai, kuras pamatā ir VMBus (storvsp, netvsp, vpci, framebuffer);
  • vTPM, NVMe, UART, i440BX + PIIX4 mikroshēmojuma, IDE HDD, PCI un VGA emulācija;
  • Aizmugursistēmas grafikas pārsÅ«tīŔanai, ievades ierÄ«ces, konsoles, krātuve un piekļuve tÄ«klam;
  • PārvaldÄ«ba, izmantojot komandrindas interfeisu, interaktÄ«vo konsoli, gRPC un ttrpc.

OpenHCL ir novietots kā vide ar paravirtualizācijas komponentiem (paravisor), kas darbojas virs OpenVMM hipervizora. Galvenā virtualizācijas sistēmu iezÄ«me, kuras pamatā ir OpenVMM un OpenHCL, ir tāda, ka paravirtualizācijas komponenti darbojas nevis resursdatora sistēmas pusē, bet gan vienā virtuālajā maŔīnā ar viesu sistēmu. Paravirtualizācijas slāņa izolāciju no viesu operētājsistēmas nodroÅ”ina otrā lÄ«meņa hipervizors OpenVMM. Šādā veidā OpenHCL var uzskatÄ«t par virtuālu programmaparatÅ«ru, kas darbojas augstākā privilēģiju lÄ«menÄ« nekā operētājsistēma, kas darbojas viesa vidē.

Viesu sistēmas un OpenHCL komponentu atdalīŔana tiek veikta, izmantojot virtuālo uzticÄ«bas lÄ«meņu (VTL, Virtual Trust Level) koncepciju, kuras ievieÅ”anai var izmantot gan programmatÅ«ras mehānismus, gan aparatÅ«ras tehnoloÄ£ijas, piemēram, Intel TDX (Trust Domain Extensions). ), AMD SEV-SNP (DroÅ”a Å”ifrēta virtualizācija-DroÅ”a ligzdoto peidžeru) un ARM CCA (konfidenciālā skaitļoÅ”anas arhitektÅ«ra). Lai palaistu OpenHCL komponentus, tiek izmantots atdalÄ«ts Linux kodola bÅ«vējums, kas ietver tikai minimālos komponentus, kas nepiecieÅ”ami OpenVMM palaiÅ”anai.

Microsoft atvērtā koda OpenVMM hipervizors un OpenHCL paravirtualizācijas platforma

OpenHCL var darboties x86-64 un ARM64 platformās, kā arÄ« atbalsta Intel TDX, AMD SEV-SNP un ARM CCA paplaÅ”inājumus papildu izolācijai. OpenHCL ietver pakalpojumu komplektu, draiverus un emulatorus, ko izmanto, lai organizētu piekļuvi aprÄ«kojumam, nodroÅ”inātu virtuālo ierīču darbÄ«bu viesu sistēmas pusē un emulētu aparatÅ«ras ierÄ«ces (piemēram, mikroshēmu kriptogrāfisko atslēgu glabāŔanai - vTPM).

Lai piekļuvi aparatÅ«rai viessistēmas pusē pārveidotu, tiek izmantoti esoÅ”ie paravirtualizāciju atbalstoÅ”ie draiveri vai arÄ« ierÄ«ces var tieÅ”i saistÄ«t ar virtuālo maŔīnu, ļaujot esoŔās viessistēmas migrēt uz OpenHCL balstÄ«tu vidi bez modifikācijām. OpenHCL ietver arÄ« diagnostikas un atkļūdoÅ”anas komponentus. virtuālās maŔīnas, kas tiek veikta, izmantojot paplaÅ”inājumus, lai nodroÅ”inātu konfidenciālu skaitļoÅ”anu.

AtŔķirÄ«bā no esoŔā atvērtā pirmkoda projekta COCONUT-SVSM (Secure VM Service Module), kas nodroÅ”ina pakalpojumus un emulētas ierÄ«ces viesu sistēmām, kas darbojas konfidenciālā vidē virtuālās maŔīnas (CVM, Konfidenciāla virtuālā maŔīna), OpenHCL ļauj viesu sistēmās izmantot standarta saskarnes, savukārt COCONUT-SVSM prasa Ä«paÅ”as mijiedarbÄ«bas organizēŔanu ar SVSM, veicot izmaiņas viesu sistēmā un izmantojot atseviŔķus draiverus.

Starp OpenHCL paravisor lietojumprogrammām ir minēti tādi scenāriji kā esoÅ”o sistēmu pāreja uz Azure Boost aparatÅ«ras paātrinātāju izmantoÅ”anu bez nepiecieÅ”amÄ«bas veikt izmaiņas viesu sistēmas diska attēlā; Palaist esoÅ”os viesus virtuālajās maŔīnās, kas nodroÅ”ina konfidenciālu skaitļoÅ”anu (piemēram, pamatojoties uz Intel TDX un AMD SEV-SNP); verificētas virtuālo maŔīnu sāknēŔanas organizēŔana, izmantojot UEFI Secure Boot un vTPM režīmu.

AtseviŔķi jāatzÄ«mē, ka OpenVMM projekts ir vērsts uz lietoÅ”anu kopā ar OpenHCL un vēl nav gatavs atseviŔķai lietoÅ”anai resursdatoros galalietotāju produkcijas ievieÅ”anai. Starp OpenVMM problēmām, kas neļauj to izmantot resursdatora vidēs tradicionālā kontekstā ārpus OpenHCL, tiek minētas: slikta vadÄ«bas saskarnes dokumentācija; nepietiekamas aizmugursistēmas veiktspējas optimizācijas trÅ«kums krātuvei, tÄ«klam un grafikai; atbalsta trÅ«kums dažiem draiveriem (piemēram, IDE diskdziņiem un PS/2 pelēm); API stabilitāte un funkcionalitāte netiek garantēta. Tajā paŔā laikā OpenVMM un OpenHCL kombinācija jau ir sasniegusi rÅ«pnieciskās ievieÅ”anas lÄ«meni, un Microsoft to izmanto Azure platformā (Azure Boost SKU), lai atbalstÄ«tu vairāk nekā 1.5 miljonu virtuālo maŔīnu darbÄ«bu.

Avots: opennet.ru

Pievieno komentāru