Nach acht Monaten Entwicklung wurde die Veröffentlichung des freien Hypervisors Xen 4.16 bekannt gegeben. An der Entwicklung dieser Version waren Unternehmen wie Amazon, Arm, Bitdefender, Citrix und EPAM Systems beteiligt. Die Aktualisierungen für die Xen 4.16 Reihe werden bis zum 2. Juni 2023 fortgesetzt, während die Veröffentlichung von Sicherheitskorrekturen bis zum 2. Dezember 2024 geplant ist.
Hauptänderungen in Xen 4.16:
- Im TPM Manager, der den Betrieb von virtuellen Chips zur Speicherung kryptografischer Schlüssel (vTPM) ermöglicht, die auf einem gemeinsamen physischen TPM (Trusted Platform Module) basieren, wurden Anpassungen zur Unterstützung der TPM 2.0-Spezifikation vorgenommen.
- Die Abhängigkeit von der PV Shim-Schicht, die für den Betrieb unmodifizierter para-virtualisierter Gastbetriebssysteme (PV) in PVH- und HVM-Umgebungen verwendet wird, wurde erhöht. Zukünftig wird die Nutzung von 32-Bit-para-virtualisierten Gastbetriebssystemen nur im PV Shim-Modus möglich sein, was die Anzahl der potenziellen Schwachstellen im Hypervisor verringert.
- Die Möglichkeit, auf Geräten ohne programmierbaren Timer (PIT, Programmable Interval Timer) zu booten, wurde hinzugefügt.
- Die Veralteten Komponenten wurden entfernt, und die Standardkompilierung des Codes „qemu-xen-traditional“ sowie PV-Grub wurde eingestellt (die Notwendigkeit für spezifische Xen-Forks entfiel nach der Integration von Xen-kompatiblen Änderungen in die Hauptversion von QEMU und Grub).
- Für Gastsysteme mit ARM-Architektur wurde eine erste Unterstützung für virtualisierte Leistungsüberwachungszähler (Performance Monitor Counters) implementiert.
- Die Unterstützung des dom0less-Modus wurde verbessert, was das Starten des Servers ohne das Bereitstellen einer dom0-Umgebung ermöglicht. virtuellen Maschinen Die vorgenommenen Änderungen ermöglichen die Unterstützung von 64-Bit-ARM-Systemen mit EFI-Firmware bereits in der frühen Startphase des Servers.
- Die Unterstützung für heterogene 64-Bit-ARM-Systeme auf Basis der big.LITTLE-Architektur wurde verbessert, die leistungsstarke, aber energieintensive Kerne mit weniger leistungsstarken, aber energieeffizienten Kernen in einem Chip kombiniert.
Gleichzeitig hat Intel die Version 20.0 des Cloud Hypervisors veröffentlicht, der auf Komponenten des gemeinsamen Projekts Rust-VMM basiert, an dem neben Intel auch Unternehmen wie Alibaba, Amazon, Google und Red Hat beteiligt sind. Rust-VMM ist in der Programmiersprache Rust geschrieben und ermöglicht die Erstellung von hypervisor-spezifischen Lösungen für bestimmte Aufgaben. Cloud Hypervisor ist einer dieser Hypervisoren, der einen hochgradigen Virtual Machine Monitor (VMM) bereitstellt, der auf KVM basiert und für die spezifischen Anforderungen von Cloud-Systemen optimiert ist. Der Quellcode des Projekts ist unter der Apache 2.0-Lizenz verfügbar.
Der Cloud-Hypervisor konzentriert sich auf den Betrieb modernster Linux-Distributionen mithilfe von paravirtualisierten Geräten basierend auf Virtio. Zu den Hauptzielen gehören hohe Reaktionsgeschwindigkeit, geringer Speicherverbrauch, hohe Leistung, vereinfachte Konfiguration und die Reduzierung potenzieller Angriffsvektoren. Die Unterstützung von Emulation ist auf ein Minimum beschränkt, wobei der Schwerpunkt auf Paravirtualisierung liegt. Derzeit werden nur x86_64-Systeme unterstützt, aber es ist geplant, auch AArch64 zu integrieren. Momentan sind nur 64-Bit-Versionen von Linux als Gastsysteme verfügbar. Die Konfiguration von CPU, Speicher, PCI und NVDIMM erfolgt während des Setup-Prozesses. Die Möglichkeit zur Migration von virtuellen Maschinen ist vorgesehen zwischen Servern gearbeitet werden..
In der neuen Version:
- Für die Architekturen x86_64 und aarch64 ist jetzt die Erstellung von bis zu 16 PCI-Segmenten erlaubt, was die Gesamtzahl der zulässigen PCI-Geräte von 31 auf 496 erhöht.
- Die Unterstützung für die Bindung virtueller CPUs an physische CPU-Kerne (CPU Pinning) wurde implementiert. Für jede vCPU kann nun eine eingeschränkte Anzahl von Host-CPUs festgelegt werden, auf denen die Ausführung erlaubt ist. Dies kann nützlich sein, um Ressourcen zwischen Host und Gast-System direkt (1:1) abzubilden oder eine virtuelle Maschine auf einem bestimmten NUMA-Knoten zu starten.
- Die Unterstützung für die Virtualisierung von Ein- und Ausgaben wurde verbessert. Jeder VFIO-Bereich kann nun im Speicher abgebildet werden, was die Anzahl der VM-Ausgänge reduziert und die Leistung beim Durchreichen von Geräten in die virtuelle Maschine verbessert.
- Im Rust-Code wurden unsafe-Sektionen durch alternative Implementierungen im sicheren Modus ersetzt. Für die verbleibenden unsafe-Sektionen wurden detaillierte Kommentare hinzugefügt, die erklären, warum der verbleibende unsafe-Code als sicher angesehen werden kann.
Quelle: opennet.ru
