Mikrosofto malfermfonte la OpenVMM hiperviziero kaj la OpenHCL-paravirtualiza platformo

Mikrosofto anoncis la malferman fonton de la tavolo por paravirtualigo de OpenHCL kaj la virtuala maŝina monitoro OpenVMM, speciale evoluigita por organizi la laboron de OpenHCL. La OpenVMM kaj OpenHCL-kodo estas skribita en Rust kaj estas distribuita sub la MIT-licenco. OpenVMM rilatas al dunivelaj hiperviziiloj, kiuj funkcias en la sama sekureca ringo kun la operaciuma kerno, simile al produktoj kiel VirtualBox kaj VMware Workstation. Ĝi subtenas funkciadon aldone al gastigaj sistemoj bazitaj sur Linukso (x86_64), Vindozo (x86_64, Aarch64) kaj macOS (x86_64, Aarch64), uzante la KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) kaj Hypervisor-virtualigo-APIojn provizitajn. per la OS-datumoj.

Inter la funkcioj subtenataj en OpenVMM:

  • Lanĉu en UEFI kaj BIOS-reĝimoj, rekta ekŝargo de la Linukso-kerno;
  • Paravirtualigosubteno bazita sur Virtio-ŝoforoj (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • VMBus-bazita paravirtualiga subteno (storvsp, netvsp, vpci, framebuffer);
  • Emulado de vTPM, NVMe, UART, i440BX + PIIX4 pecetaro, IDE HDD, PCI kaj VGA;
  • Backends por plusendi grafikaĵojn, enigajn aparatojn, konzolojn, stokadon kaj retan aliron;
  • Administrado per komandlinia interfaco, interaga konzolo, gRPC kaj ttrpc.

OpenHCL estas poziciigita kiel medio kun paravirtualigaj komponentoj (paravisor) funkcianta sur la OpenVMM-hiperviziero. Ĉefa trajto de virtualigsistemoj bazitaj sur OpenVMM kaj OpenHCL estas ke la paravirtualigaj komponentoj funkcias ne sur la mastro-sistemflanko, sed en la sama virtuala maŝino kun la gastsistemo. Izoliĝo de la paravirtualiza tavolo de la gasta operaciumo estas certigita de la duanivela hiperviziero OpenVMM. Se uzite tiamaniere, OpenHCL povas esti konsiderata kiel virtuala firmvaro kuranta sur pli alta privilegia nivelo ol la operaciumo funkcianta en la gastmedio.

La disiĝo de la gastsistemo kaj OpenHCL-komponentoj estas efektivigita uzante la koncepton de virtualaj fidniveloj (VTL, Virtual Trust Level), por kies efektivigo kaj softvarmekanismoj kaj hardvarteknologioj povas esti uzitaj, kiel ekzemple Intel TDX (Trust Domain Extensions). ), AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) kaj ARM CCA (Konfidenca Komputila Arkitekturo). Por ruli OpenHCL-komponentojn, nudigita konstruo de la Linukso-kerno estas uzata, kiu inkluzivas nur la nurajn minimumajn komponentojn necesajn por ruli OpenVMM.

Mikrosofto malfermfonte la OpenVMM hiperviziero kaj la OpenHCL-paravirtualiza platformo

OpenHCL povas funkcii sur platformoj x86-64 kaj ARM64, kaj subtenas Intel TDX, AMD SEV-SNP kaj ARM CCA-etendaĵojn por plia izolado. OpenHCL inkluzivas aron de servoj, ŝoforoj kaj emuliloj uzataj por organizi aliron al ekipaĵo, certigi la funkciadon de virtualaj aparatoj ĉe la gastsistema flanko kaj emuli aparataĵojn (ekzemple, blato por stoki kriptografajn ŝlosilojn - vTPM) povas esti emulita.

Por traduki aliron al aparataro ĉe la flanko de la gastsistemo, oni uzas ekzistantajn pelilojn ebligitajn por paravirtualigo, aŭ aparatoj povas esti rekte ligitaj al la virtuala maŝino, permesante al ekzistantaj gastsistemoj migri al OpenHCL-bazita medio sen modifo. OpenHCL ankaŭ inkluzivas diagnozajn kaj sencimigajn komponantojn. virtualaj maŝinoj, plenumita per etendaĵoj por certigi konfidencan komputadon.

Male al la ekzistanta malfermitkoda projekto COCONUT-SVSM (Secure VM Service Module), kiu provizas servojn kaj imititajn aparatojn por gastaj sistemoj funkciantaj konfidence virtualaj maŝinoj (CVM, Konfidenca Virtuala Maŝino), OpenHCL permesas la uzon de normaj interfacoj en gastaj sistemoj, dum COCONUT-SVSM postulas la organizadon de speciala interagado kun SVSM, farante ŝanĝojn al la gasta sistemo kaj la uzon de apartaj peliloj.

Inter la aplikoj de la OpenHCL-paravisor, tiaj scenaroj kiel la transiro de ekzistantaj sistemoj por uzi Azure Boost-hardvarakceliloj sen la bezono fari ŝanĝojn al la gastsistema diskobildo estas menciitaj; Kuru ekzistantajn gastojn en virtualaj maŝinoj, kiuj provizas konfidencan komputadon (ekzemple, bazita sur Intel TDX kaj AMD SEV-SNP); organizo de kontrolita lanĉo de virtualaj maŝinoj uzante UEFI Secure Boot kaj vTPM-reĝimon.

Estas aparte notite ke la OpenVMM-projekto estas temigis uzo kun OpenHCL kaj ankoraŭ ne estas preta por memstara uzo sur gastigaj sistemoj por produktado-efektivigoj de finuzantoj. Inter la problemoj de OpenVMM, kiuj malhelpas ĝian uzon en gastigaj medioj en tradicia kunteksto, ekster OpenHCL, estas menciitaj jenaj: malbona dokumentado de la kontrolinterfaco; manko de taŭga optimumigo de backend-agado por stokado, reto kaj grafikaĵoj; manko de subteno por iuj ŝoforoj (ekzemple, IDE-diskoj kaj musoj PS/2); ne estas garantio de API-stabileco kaj funkcieco. Samtempe, la kombinaĵo de OpenVMM kaj OpenHCL jam atingis la nivelon de industria efektivigo kaj estas uzata de Microsoft en la platformo Azure (Azure Boost SKU) por subteni la funkciadon de pli ol 1.5 milionoj da virtualaj maŝinoj.

fonto: opennet.ru

Aldoni komenton