După opt luni de dezvoltare, a fost lansată versiunea liberă a hipervizorului Xen 4.16. La dezvoltarea acestei versii au participat companii precum Amazon, Arm, Bitdefender, Citrix și EPAM Systems. Actualizările pentru ramura Xen 4.16 vor continua până pe 2 iunie 2023, iar publicarea corecțiilor de vulnerabilitate va dura până pe 2 decembrie 2024.
Schimbări majore în Xen 4.16:
- În TPM Manager, care asigură funcționarea chip-urilor virtuale pentru stocarea cheilor criptografice (vTPM), implementate pe baza unui TPM fizic comun (Trusted Platform Module), au fost făcute corecții pentru implementarea ulterioară a suportului specificației TPM 2.0.
- A crescut dependența de stratul PV Shim, utilizat pentru a rula sistemele de operare guest paravirtualizate nemodificate (PV) în medii PVH și HVM. În continuare, utilizarea sistemelor de operare guest paravirtualizate de 32 de biți va fi posibilă doar în modul PV Shim, ceea ce va reduce numărul de locuri din hipervizor unde pot apărea potențiale vulnerabilități.
- A fost adăugată capacitatea de boot pe dispozitive Intel fără timer programabil (PIT, Programmable Interval Timer).
- Au fost curățate componentele învechite, reconstrucția implicită a codului „qemu-xen-traditional” și PV-Grub a fost oprită (nevoia de fork-uri specifice Xen a dispărut după integrarea modificărilor cu suport pentru Xen în distribuția principală a QEMU și Grub).
- Pentru sistemele guest cu arhitectură ARM a fost implementat un suport inițial pentru contoare virtualizate pentru monitorizarea performanței (Performance Monitor Counters).
- Suportul pentru modul dom0less a fost îmbunătățit, permițând evitarea desfășurării unui mediu dom0 la pornire mașini virtuale în timpul fazei timpurii de boot a serverului. Modificările făcute au permis implementarea suportului pentru sisteme ARM pe 64 de biți cu firmware EFI.
- Suportul pentru sistemele heterogene ARM pe 64 de biți bazate pe arhitectura big.LITTLE a fost îmbunătățit, combinând în același chip nucleele puternice, dar consumatoare de energie, cu nucleele mai puțin performante, dar mai eficiente energetic.
În același timp, compania Intel a publicat versiunea 20.0 a hypervisorului Cloud Hypervisor, construit pe baza componentelor unui proiect comun Rust-VMM, la care participă, pe lângă Intel, și companiile Alibaba, Amazon, Google și Red Hat. Rust-VMM este scris în limbajul Rust și permite crearea de hypervisori specifici pentru anumite sarcini. Cloud Hypervisor este unul dintre acești hypervisori, care oferă un monitor de mașini virtuale (VMM) de înalt nivel, funcționând pe deasupra KVM și optimizat pentru a rezolva sarcini caracteristice sistemelor cloud. Codul proiectului este disponibil sub licența Apache 2.0.
Cloud Hypervisor se concentrează pe rularea distribuțiilor moderne de Linux utilizând dispozitive paravirtualizate bazate pe virtio. Printre sarcinile cheie se numără: reacție rapidă, consum scăzut de memorie, performanță ridicată, simplificarea configurării și reducerea vectorilor posibili pentru atacuri. Suportul pentru emulare este redus la minimum, iar accentul este pus pe paravirtualizare. În prezent, sunt acceptate doar sistemele x86_64, dar este în plan și suportul pentru AArch64. Din sistemele gazdă, momentan sunt acceptate doar versiunile de 64 de biți ale Linux. Configurarea CPU, memoriei, PCI și NVDIMM se face în timpul construirii. Este prevăzută posibilitatea migrației mașinilor virtuale între. servers.
În noua versiune:
- Pentru arhitecturile x86_64 și aarch64, acum se permite crearea a până la 16 segmente PCI, ceea ce crește numărul total de dispozitive PCI permise de la 31 la 496.
- A fost implementat suportul pentru legarea virtual CPU la nuclee fizice CPU (CPU pinning). Pentru fiecare vCPU acum se poate defini un set limitat de CPU gazdă pe care se permite execuția, ceea ce poate fi util pentru reflecția directă (1:1) a resurselor gazdelor și sistemului gazdă sau pentru rularea unei mașini virtuale pe un anumit nod NUMA.
- Suportul pentru virtualizarea intrării/ieșirii a fost îmbunătățit. Fiecare regiune VFIO poate acum fi reflectată în memorie, ceea ce reduce numărul de operațiuni de ieșire din mașina virtuală și permite obținerea unei performanțe mai bune în direcția dispozitivelor în mașina virtuală.
- În codul scris în limbajul Rust, a fost realizată o muncă de înlocuire a secțiunilor unsafe cu implementări alternative care sunt executate în mod safe. Pentru secțiunile unsafe rămase, au fost adăugate comentarii detaliate care explică de ce codul unsafe lăsat poate fi considerat sigur.
Sursa: opennet.ro
