Microsoft je otvorio OpenVMM hipervizor i platformu za paravirtualizaciju OpenHCL

Microsoft je najavio open source sloja za paravirtualizaciju OpenHCL-a i monitor virtualnog stroja OpenVMM, posebno razvijen za organizaciju rada OpenHCL-a. Kod OpenVMM i OpenHCL napisan je u Rustu i distribuira se pod licencom MIT-a. OpenVMM se odnosi na hipervizore druge razine koji rade u istom sigurnosnom prstenu s jezgrom operativnog sustava, slično proizvodima kao što su VirtualBox i VMware Workstation. Podržava rad na vrhu host sustava temeljenih na Linuxu (x86_64), Windows (x86_64, Aarch64) i macOS (x86_64, Aarch64), koristeći KVM, SHV (Microsoft Hypervisor), WHP (Windows Hypervisor Platform) i Hypervisor virtualizacijske API-je koji se nude prema OS podacima.

Među značajkama podržanim u OpenVMM-u:

  • Pokretanje u UEFI i BIOS modovima, izravno pokretanje Linux kernela;
  • Podrška za paravirtualizaciju temeljena na Virtio upravljačkim programima (virtio-fs, virtio-9p, virtio-net, virtio-pmem)
  • Podrška za paravirtualizaciju temeljena na VMBus (storvsp, netvsp, vpci, framebuffer);
  • Emulacija vTPM, NVMe, UART, i440BX + PIIX4 čipset, IDE HDD, PCI i VGA;
  • Pozadine za prosljeđivanje grafike, ulazne uređaje, konzole, pohranu i pristup mreži;
  • Upravljanje preko sučelja naredbenog retka, interaktivne konzole, gRPC i ttrpc.

OpenHCL je pozicioniran kao okruženje s paravirtualizacijskim komponentama (paravisor) koje se izvode na vrhu OpenVMM hipervizora. Ključna značajka virtualizacijskih sustava temeljenih na OpenVMM-u i OpenHCL-u je da se paravirtualizacijske komponente ne pokreću na strani glavnog sustava, već na istom virtualnom stroju s gostujućim sustavom. Izolaciju paravirtualizacijskog sloja od gostujućeg operativnog sustava osigurava hipervizor druge razine OpenVMM. Kada se koristi na ovaj način, OpenHCL se može smatrati virtualnim firmverom koji radi na višoj razini privilegija od operativnog sustava koji radi u okruženju za goste.

Razdvajanje gostujućeg sustava i OpenHCL komponenti provodi se pomoću koncepta virtualnih razina povjerenja (VTL, Virtual Trust Level), za čiju implementaciju se mogu koristiti i softverski mehanizmi i hardverske tehnologije, poput Intel TDX (Trust Domain Extensions ), AMD SEV-SNP (sigurna šifrirana virtualizacija-sigurno ugniježđeno straničenje) i ARM CCA (povjerljiva računalna arhitektura). Za pokretanje OpenHCL komponenti koristi se skraćena verzija Linux kernela, koja uključuje samo minimalne komponente potrebne za pokretanje OpenVMM-a.

Microsoft je otvorio OpenVMM hipervizor i platformu za paravirtualizaciju OpenHCL

OpenHCL može raditi na x86-64 i ARM64 platformama i podržava Intel TDX, AMD SEV-SNP i ARM CCA proširenja za dodatnu izolaciju. OpenHCL uključuje skup usluga, upravljačkih programa i emulatora koji se koriste za organiziranje pristupa opremi, osiguranje rada virtualnih uređaja na strani gostujućeg sustava i emulaciju hardverskih uređaja (primjerice, čip za pohranu kriptografskih ključeva - vTPM) koji se mogu emulirati.

Za prevođenje pristupa hardveru na strani gostujućeg sustava koriste se postojeći upravljački programi s omogućenom paravirtualizacijom ili se uređaji mogu izravno povezati s virtualnim strojem, što omogućuje migraciju postojećih gostujućih sustava u okruženje temeljeno na OpenHCL-u bez modifikacija. OpenHCL također uključuje dijagnostičke i debugging komponente. virtualni strojevi, izvedeno pomoću proširenja kako bi se osiguralo povjerljivo računanje.

Za razliku od postojećeg projekta otvorenog koda COCONUT-SVSM (Secure VM Service Module), koji pruža usluge i emulirane uređaje za gostujuće sustave koji rade u povjerljivim virtualni strojevi (CVM, Confidential Virtual Machine), OpenHCL omogućuje korištenje standardnih sučelja u gostujućim sustavima, dok COCONUT-SVSM zahtijeva organizaciju posebne interakcije sa SVSM-om, unošenje promjena u gostujući sustav i korištenje zasebnih upravljačkih programa.

Među primjenama OpenHCL paravisora ​​spominju se scenariji poput prijelaza postojećih sustava na korištenje hardverskih akceleratora Azure Boost bez potrebe za izmjenama na slici diska gostujućeg sustava; Pokretanje postojećih gostiju u virtualnim strojevima koji pružaju povjerljivo računalstvo (na primjer, temeljeno na Intel TDX i AMD SEV-SNP); organizacija verificiranog pokretanja virtualnih strojeva pomoću UEFI Secure Boot i vTPM moda.

Posebno se napominje da je projekt OpenVMM fokusiran na korištenje s OpenHCL-om i još nije spreman za samostalnu upotrebu na host sustavima za proizvodne implementacije krajnjih korisnika. Među problemima OpenVMM-a koji sprječavaju njegovu upotrebu u host okruženjima u tradicionalnom kontekstu, izvan OpenHCL-a, spominju se: loša dokumentacija kontrolnog sučelja; nedostatak odgovarajuće optimizacije pozadinskih performansi za pohranu, mrežu i grafiku; nedostatak podrške za neke upravljačke programe (na primjer, IDE pogone i PS/2 miševe); ne postoji jamstvo stabilnosti i funkcionalnosti API-ja. Istodobno, kombinacija OpenVMM-a i OpenHCL-a već je dosegla razinu industrijske implementacije te je koristi Microsoft u platformi Azure (Azure Boost SKU) za podršku radu više od 1.5 milijuna virtualnih strojeva.

Izvor: opennet.ru

Dodajte komentar