Efter otte måneders udvikling er den frie hypervisor Xen 4.16 blevet offentliggjort. Virksomheder som Amazon, Arm, Bitdefender, Citrix og EPAM Systems har deltaget i udviklingen af den nye version. Opdateringer til Xen 4.16-grenen vil fortsætte indtil 2. juni 2023, og publisering af sikkerhedsrettelser vil fortsætte indtil 2. december 2024.
Nøgleændringer i Xen 4.16:
- I TPM Manager, der understøtter driften af virtuelle chips til opbevaring af kryptografiske nøgler (vTPM), som implementeres på baggrund af en fælles fysisk TPM (Trusted Platform Module), er der foretaget rettelser for efterfølgende at muliggøre understøttelse af TPM 2.0-specifikationen.
- Afhængigheden af PV Shim-laget, der bruges til at køre uændrede paravirtualiserede gæstesystemer (PV) i PVH- og HVM-miljøer, er blevet hævet. Fremover vil brugen af 32-bit paravirtualiserede gæstesystemer kun være muligt i PV Shim-tilstand, hvilket vil mindske antallet af steder i hypervisoren, hvor der potentielt kan være sårbarheder.
- Muligheden for opstart på Intel-enheder uden en programmerbar tidsur (PIT, Programmable Interval Timer) er tilføjet.
- Forældede komponenter er blevet renset, og standardkoden 'qemu-xen-traditional' og PV-Grub er ikke længere bygget, da behovet for Xen-specifikke forks er forsvundet efter overførslen af ændringerne med Xen-understøttelse til den primære kodebase for QEMU og Grub.
- Der er implementeret en indledende støtte til virtualiserede tællere til overvågning af ydeevne (Performance Monitor Counters) for gæstesystemer med ARM-arkitektur.
- Støtten til dom0less-tilstanden er forbedret, hvilket muliggør drift uden implementering af dom0-miljøet ved opstart virtual machines i den tidlige serverboot-fase. De foretagne ændringer har muliggjort understøttelse af 64-bit ARM-systemer med EFI-firmware.
- Støtten til heterogene 64-bit ARM-systemer baseret på big.LITTLE-arkitekturen er forbedret, hvilket kombinerer kraftige, men energikrævende kerner i én chip med mindre kraftfulde, men mere energieffektive kerner.
Samtidig offentliggjorde Intel udgivelsen af hypervisoren Cloud Hypervisor 20.0, bygget på komponenter fra et samarbejdsprojekt mellem Rust-VMM, som også involverer virksomheder som Alibaba, Amazon, Google og Red Hat. Rust-VMM er skrevet i Rust-programmeringssproget og muliggør oprettelsen af hypervisorer, der er specifikke for bestemte opgaver. Cloud Hypervisor er en af disse hypervisorer, der leverer en høj-niveau monitor for virtuelle maskiner (VMM), der kører oven på KVM og er optimeret til at løse opgaver, der er typiske for skybaserede systemer. Koden til projektet er tilgængelig under Apache 2.0 licensen.
Cloud Hypervisor fokuserer på at køre moderne Linux-distributioner ved hjælp af para-virtualiserede enheder baseret på virtio. Blandt de centrale opgaver nævnes: høj responsivitet, lavt hukommelsesforbrug, høj ydeevne, forenklet opsætning og reduktion af mulige angrebsvectorer. Understøttelse af emulering er begrænset til et minimum, og der satses på paravirtualisering. I øjeblikket understøttes kun x86_64-systemer, men der er planer om også at understøtte AArch64. Af gæstelys understøttes kun 64-bit versioner af Linux. Opsætning af CPU, hukommelse, PCI og NVDIMM foretages under byggestadiet. Der er mulighed for at migrere virtuelle maskiner mellem servere.
I den nye version:
- For x86_64 og aarch64-arkitekturer er det nu tilladt at oprette op til 16 PCI-segmenter, hvilket øger det samlede antal tilladte PCI-enheder fra 31 til 496.
- Understøttelsen af binding af virtuelle CPU'er til fysiske CPU-kerner (CPU pinning) er blevet implementeret. For hver vCPU kan der nu defineres et begrænset sæt af værts-CPU'er, hvor udførelse er tilladt, hvilket kan være nyttigt ved direkte afspejling (1:1) af værtsressourcerne og gæstefysik eller ved kørsel af en virtuel maskine på en bestemt NUMA-node.
- Understøttelsen af virtualisering af input/output er blevet forbedret. Hver VFIO-region kan nu spejles i hukommelsen, hvilket reducerer antallet af udtrædninger fra den virtuelle maskine og hjælper med at øge ydeevnen af enheds-passthrough til den virtuelle maskine.
- I koden skrevet i Rust er der arbejdet på at erstatte unsafe-sektioner med alternative implementeringer, der kører i safe-tilstand. For de resterende unsafe-sektioner er der tilføjet detaljerede kommentarer, der forklarer, hvorfor den efterladte unsafe-kode kan betragtes som sikker.
Kilde: opennet.ru
