Kapitel 9. Virtualisierung
9.1. Kernelbasierte Virtualisierung
Verbesserte Block-I/O-Leistung mittels virtio-blk-data-plane
In Red Hat Enterprise Linux 7.0 ist die
virtio-blk-data-plane
I/O-Virtualisierungsfunktionalität als Technologievorschau enthalten. Diese Funktionalität erweitert QEMU, um Platten-I/O in einem dedizierten Thread durchzuführen, der für I/O-Leistung optimiert ist.
PCI Bridge
QEMU unterstützte bislang nur maximal 32 PCI-Slots. Red Hat Enterprise Linux 7.0 bietet eine PCI Bridge, die es Benutzern ermöglicht, mehr als 32 PCI-Geräte zu konfigurieren. Beachten Sie, dass Hot-Plugging von Geräten hinter der Bridge nicht unterstützt wird.
QEMU Sandboxing
Red Hat Enterprise Linux 7.0 bietet verbesserte Sicherheit der KVM Virtualisierung mithilfe von Kernel-Systemaufruffilterung, das die Isolation von Host- und Gastsystem verbessert.
Unterstützung von QEMU Virtual CPU Hot Add
QEMU bietet in Red Hat Enterprise Linux 7.0 Unterstützung für "Hot Adding" virtueller CPUs (vCPUs). Virtuelle CPUs (vCPUS) können zu einer laufenden virtuellen Maschine hinzugefügt werden, um die Arbeitslast zu bewältigen oder um das Service Level Agreement (SLA) einzuhalten. Beachten Sie, dass vCPU Hot Plug nur auf virtuellen Maschinen unterstützt wird, die den
pc-i440fx-rhel7.0.0
Maschinentyp nutzen, den standardmäßigen Maschinentyp unter Red Hat Enterprise Linux 7.0.
Netzwerkkarten mit mehreren Warteschlangen
virtio_net mit mehreren Warteschlangen bietet bessere Skalierbarkeit. Jede virtuelle CPU kann eine separate Warteschlange zum Senden oder zum Empfang haben sowie separate Interrupts, die es ohne Auswirkungen auf andere virtuelle CPUs verwenden kann.
virtio_scsi mit mehreren Warteschlangen
virtio_scsi mit mehreren Warteschlangen bietet bessere Skalierbarkeit. Jede virtuelle CPU kann eine separate Warteschlange sowie separate Interrupts haben, die es ohne Auswirkungen auf andere virtuelle CPUs verwenden kann.
Deltakompression von Speicherseiten für Live-Migration
Das Live-Migrations-Feature von KVM wurde verbessert, indem die Gast-Speicherseiten komprimiert werden und die Größe der übertragenen Migrationsdaten verringert wird. Dieses Feature ermöglicht eine schnellere Migration.
HyperV-Funktionalität in KVM
KVM wurde aktualisiert mit mehreren Microsoft Hyper-V Funktionen, z.B. wurde Unterstützung für Memory Management Unit (MMU) und Virtual Interrupt Controller hinzugefügt. Microsoft stellt eine paravirtualisierte API zwischen dem Gast und dem Host bereit. Indem Teile dieser Features auf dem Host implementiert werden und diese gemäß der Microsoft-Spezifikationen bereitgestellt werden, können Microsoft-Windows-Gäste ihre Leistung verbessern.
EOI-Beschleunigung für hohe I/O
Red Hat Enterprise Linux 7.0 nutzt Intel- und AMD-Verbesserungen am Advanced Programmable Interrupt Controller (APIC), um die Verarbeitung von End-of-Interrupt (EOI) zu beschleunigen. Für ältere Chipsets bietet Red Hat Enterprise Linux 7.0 Paravirtualisierungsoptionen für EOI-Beschleunigung.
USB 3.0 Unterstützung für KVM-Gäste
Red Hat Enterprise Linux 7.0 bietet verbesserte USB-Unterstützung, indem USB 3.0 Hostadapter (xHCI) Emulation als Technologievorschau hinzugefügt wird.
Windows 8 und Windows Server 2012 Gastunterstützung
Red Hat Enterprise Linux 7.0 unterstützt Microsoft Windows 8 und Windows Server 2012 Gäste, die innerhalb von KVM virtuellen Maschinen laufen.
I/O Throttling für QEMU-Gäste
Dieses Feature bietet I/O Throttling, oder Drosselung, für QEMU-Gast-Blockgeräte. I/O Throttling verlangsamt die Verarbeitung von I/O-Speicheranfragen. Dies verlangsamt zwar das System, verhindert jedoch Abstürze. Beachten Sie, dass es nicht möglich ist, Throttling auf Datenebenen anzuwenden.
Integration von Ballooning und Transparent Huge Pages
Ballooning und Transparent Huge Pages sind nun besser integriert in Red Hat Enterprise Linux 7.0. Balloon Pages können verlegt und komprimiert werden, um Huge Pages zu bilden.
Beziehen der Systementropie vom Host
Ein neues Gerät namens
virtio-rng
kann für Gäste konfiguriert werden, um die Entropie für Gäste verfügbar zu machen vom Host. Standardmäßig wird diese Information der /dev/random
Datei des Hosts entnommen, doch auch Hardware-Zufallszahlengeneratoren können als Quelle verwendet werden.
Bridge "Zero-Copy"-Übertragung
Bridge "Zero-Copy"-Übertragung ist ein Performance Feature zur Verbesserung der CPU-Verarbeitung von großen Nachrichten. Die Bridge "Zero-Copy"-Übertragung verbessert die Leistung bei der Übertragung von Gast-Datenverkehr auf externen Datenverkehr mittels einer Bridge.
Unterstützung der Live-Migration
Die Live-Migration eines Gasts von einem Red Hat Enterprise Linux 6.5 Host auf einen Red Hat Enterprise Linux 7.0 Host wird unterstützt.
Discard-Unterstützung in qemu-kvm
Discard-Unterstützung mithilfe des
fstrim
oder mount -o discard
Befehls funktioniert auf einem Gast, nachdem discard='unmap'
zum <driver>
Element in der XML-Definition der Domain hinzugefügt wurde. Zum Beispiel:
<disk type='file' device='disk'> <driver name='qemu' type='raw' discard='unmap'/> <source file='/var/lib/libvirt/images/vm1.img'> ... </disk>
NVIDIA GPU Gerätezuordnung
Red Hat Enterprise Linux 7.0 unterstützt die Gerätezuordnung von NVIDIA Professional Series Grafikgeräten (GRID und Quadro) als ein sekundäres Grafikgerät für emuliertes VGA.
Paravirtualisierte Ticketlocks
Red Hat Enterprise Linux 7.0 unterstützt paravirtualisierte Ticketlocks (pvticketlocks), die die Leistung von Red Hat Enterprise Linux 7.0 Gästen auf Red Hat Enterprise Linux 7.0 Hosts mit überzeichneten CPUs verbessern.
Fehlerhandhabung auf zugewiesenen PCIe-Geräten
Falls auf einem PCIe-Gerät mit Advanced Error Reporting (AER) ein Fehler auftritt, während es einem Gast zugewiesen ist, so wird der betroffene Gast heruntergefahren ohne Auswirkungen auf andere laufende Gäste oder den Host. Der Gast kann wieder gestartet werden, nachdem der Fehler auf dem Host-Treiber für das Gerät behoben wurde.
Q35-Chipsatz, PCI Express Bus und AHCI-Bus-Emulation
Der Q35-Typ, erforderlich für PCI-Express-Bus-Unterstützung in KVM-Gästen, steht als Technologievorschau in Red Hat Enterprise Linux 7.0 zur Verfügung. Ein AHCI-Bus wird nur unterstützt zusammen mit dem Q35-Typ und steht ebenfalls als Technologievorschau in Red Hat Enterprise Linux 7.0 zur Verfügung.
VFIO-basierte PCI-Gerätezuordnung
Die Virtual Function I/O (VFIO) User-Space-Treiberschnittstelle bietet KVM-Gästen eine verbesserte Lösung zur PCI-Gerätezuordnung. VFIO erzwingt die Geräteisolation auf Kernelebene, verbessert die Sicherheit des Gerätezugriffs und ist kompatibel mit Features wie z.B. sicherem Boot. VFIO ersetzt das KVM-Gerätezuordnungsverfahren, das in Red Hat Enterprise Linux 6 verwendet wurde.
Intel VT-d Large Pages
Beim Einsatz der Virtual Function I/O (VFIO) Gerätezuordnung mit einem KVM-Gast auf Red Hat Enterprise Linux 7.0 werden 2 MB Seiten vom Input/Output Memory Management Unit (IOMMU) verwendet, wodurch der Overhead des Translation Lookaside Buffers (TLB) für I/O-Operationen verringert wird. Unterstützung für 1 GB Seiten ist für Red Hat Enterprise Linux 7.0 geplant. Das VT-d Large Pages Feature wird nur unterstützt auf bestimmten, aktuellen Intel-basierten Plattformen.
Leistung beim Ablesen der KVM-Systemuhr
In Red Hat Enterprise Linux 7.0 wurde der
vsyscall
Mechanismus verbessert, um ein schnelles Lesen der Systemuhr vom User Space für KVM-Gäste zu unterstützen. Ein Red Hat Enterprise Linux 7.0 Gast auf einem Red Hat Enterprise Linux 7.0 Host wird verbesserte Leistung feststellen für Anwendungen, die häufig die Tageszeit abfragen.
QCOW2 Version 3 Image-Format
Red Hat Enterprise Linux 7.0 fügt Unterstützung für das QCOW2 Version 3 Image-Format hinzu.
Verbesserte Statistiken zur Live-Migration
Es stehen nun Informationen über die Live-Migration zur Verfügung, um die Leistung zu analysieren und zu optimieren. Die verbesserten Statistiken umfassen u.a. Informationen über die erwartete Betriebsunterbrechung, tatsächliche Betriebsunterbrechung und der Anteil an Dirty Pages.
Threads in Live-Migration
Das Feature zur KVM-Live-Migration wurde erweitert, um nun Threading zu unterstützen.
Hot Plugging von Zeichengeräten und seriellen Ports
Hot Plugging von neuen seriellen Ports mit neuen Zeichengeräten wird nun unterstützt in Red Hat Enterprise Linux 7.0.
Emulation von AMD Opteron G5
KVM ist nun dazu in der Lage, AMD Opteron G5 Prozessoren zu emulieren.
Unterstützung für neue Intel-Instruktionen auf KVM-Gästen
KVM-Gäste können die neuen Instruktionen verwenden, die von Intel 22nm Prozessoren unterstützt werden, darunter:
- Fused Multiply-Add für Gleitkommawerte,
- 256-Bit-Ganzzahlvektoren,
- Unterstützung für Big-Endian-Move-Instruktionen (MOVBE),
- oder HLE/HLE+.
VPC- und VHDX-Dateiformate
KVM in Red Hat Enterprise Linux 7.0 enthält Unterstützung für die Microsoft Virtual PC (VPC) und Microsoft Hyper-V Virtual Hard Disk (VHDX) Dateiformate.
Neue Features in libguestfs
libguestfs ist eine Gruppe von Werkzeugen zum Zugriff und Bearbeiten von Festplattenimages virtueller Maschinen. libguestfs in Red Hat Enterprise Linux 7.0 enthält eine Reihe von Verbesserungen, insbesondere:
- Sichere Virtualisierung mittels SELinux, oder sVirt-Schutz, gewährleistet verbesserten Schutz gegen schädliche und fehlerhafte Festplattenimages.
- Entfernte Festplatten können untersucht und bearbeitet werden, zunächst über Network Block Device (NBD).
- Festplatten können im laufenden Betrieb hinzugefügt, entfernt oder verändert werden (Hot Plugging) für bessere Leistung in bestimmten Applikationen.
WHQL-zertifizierte virtio-win-Treiber
Red Hat Enterprise Linux 7.0 enthält durch Windows Hardware Quality Labs (WHQL) zertifizierte
virtio-win
Treiber für die neuesten Microsoft-Windows-Gäste Microsoft Window 8, 8.1, 2012 und 2012 R2.