Capitolo 9. Virtualizzazione

9.1. Virtualizzazione basata sul kernel

Prestazioni I/O del blocco migliorate utilizzando virtio-blk-data-plane

In Red Hat Enterprise Linux 7.0, la funzionalità virtio-blk-data-plane è disponibile come Anteprima di tecnologia. Con questa funzionalità QEMU esegue il disk I/O in un thread specifico ottimizzato per le prestazioni I/O.

PCI Bridge

In precedenza QEMU supportava solo fino a 32 slot PCI. Red Hat Enterprise Linux 7.0 introduce il PCI Bridge, il quale permette agli utenti di configurare più di 32 dispositivi PCI. Da notare che l'operazione di "hot plugging" dei dispositivi oltre il bridge non è supportata.

QEMU Sandboxing

Red Hat Enterprise Linux 7.0 KVM ora incorpora funzioni di sicurezza migliorate tramite il filtro delle chiamate del sistema kernel, il quale migliora l'isolamento tra il sistema host e quello guest.

Supporto per l'aggiunta in esecuzione della CPU virtuale di QEMU

QEMU in Red Hat Enterprise Linux 7.0 introduce il supporto per il virtual CPU (vCPU) hot add. Le Virtual CPU (vCPU) possono essere aggiunte ad una macchina virtuale in esecuzione per soddisfare i requisiti di carico di lavoro, o per mantenere il Service Level Agreement (SLA) associato. Da notare che il vCPU hot plug è supportato solo su macchine virtuali che utilizzano un tipo di macchina pc-i440fx-rhel7.0.0, il tipo di macchina predefinita su Red Hat Enterprise Linux 7.0.

NIC multipli per la coda

Il virtio_net di code multiple fornisce una migliore scalabilità; ogni virtual CPU può avere una coda di ricezione o trasmissione e interruzioni separate utilizzabili senza interessare altre virtual CPU.

virtio_scsi di code multiple

Il virtio_net di code multiple fornisce una migliore scalabilità; ogni virtual CPU può avere una coda e interruzioni separate utilizzabili senza interessare altre virtual CPU.

Compressione Delta della pagina per una migrazione Live

La funzione di migrazione live di KVM è stata migliorata grazie alla compressione delle pagine di memoria del guest, e la riduzione della dimensione dei dati trasferiti. Questa funzione permette di avere una migrazione più veloce.

HyperV Enlightenment in KVM

KVM è stato aggiornato con diverse funzioni Microsoft Hyper-V; per esempio, il supporto per il Memory Management Unit (MMU) e il Virtual Interrupt Controller. Microsoft fornisce una API para-virtualizzata tra il guest e l'host, e tramite l'implementazione di parte di questa funzione sull'host e la sua esposizione in base alle specifiche di Microsoft, i guest Windows di Microsoft possono migliorare le proprie prestazioni.

Accelerazione EOI per l'I/O della Banda larga

Red Hat Enterprise Linux 7.0 utilizza i miglioramenti Intel e AMD per l'Advanced Programmable Interrupt Controller (APIC) per accelerare la processazione degli end of interrupt (EOI). Per chipset più vecchi, Red Hat Enterprise Linux 7.0 fornisce le opzioni para-virtualization per l'accelerazione EOI.

Supporto USB 3.0 per guest KVM

Red Hat Enterprise Linux 7.0 introduce un supporto USB migliorato attraverso l'emulazione USB 3.0 hostadapter (xHCI) come Anteprima di tecnologia.

Supporto guest Windows 8 e Windows Server 2012

Red Hat Enterprise Linux 7.0 supporta i guest Microsoft Windows 8 e Windows Server 2012 in esecuzione nelle macchine virtuali KVM.

I/O Throttling per i guest QEMU

Questa funzione fornisce una regolazione I/O, o limiti, per dispositivi a blocchi dei guest QEMU. La regolazione I/O rallenta la processazione delle richieste di memoria I/O. Ciò rallenterà le prestazioni del sistema impedendo il verificarsi di un crash. Da notare che è impossibile regolare il piano dati.

Integrazione di Ballooning e delle Transparent Huge Pages

Migliore integrazione del Ballooning e delle transparent huge pages in Red Hat Enterprise Linux 7.0. Le pagine Balloon possono essere spostate e compresse in modo da diventare hugepages.

Estrazione Entropia del sistema da un host

Un nuovo dispositivo, virtio-rng, può essere configurato per i guest ed è in grado di rendere disponibile l'entropia ai guest dall'host. Per impostazione predefinita queste informazioni sono disponibili nel file /dev/random dell'host, ma è possibile usare anche i generatori di numeri randomici hardware (RNG) disponibili sugli host.

Bridge Zero Copy Transmit

Bridge zero-copy transmit è una funzione relativa alle prestazioni per il miglioramento della processazione della CPU per messaggi molto grandi. Questa funzione migliora le prestazioni dal guest al traffico esterno quando si utilizza un bridge.

Supporto migrazione live

È supportata la migrazione live di un guest da un host Red Hat Enterprise Linux 6.5 a un host Red Hat Enterprise Linux 7.0.

Supporto Discard in qemu-kvm

Il supporto Discard, utilizzando il comando fstrim o mount -o discard, funziona correttamente su un guest dopo aver aggiunto discard='unmap' all'elemento <driver> nella definizione XML del dominio. Per esempio:
<disk type='file' device='disk'>
	<driver name='qemu' type='raw' discard='unmap'/>
  <source file='/var/lib/libvirt/images/vm1.img'>
  ...
</disk>

Assegnazione dispositivo GPU di NVIDIA

Red Hat Enterprise Linux 7.0 supporta l'assegnazione del dispositivo grafico NVIDIA professional series (GRID e Quadro) come dispositivo grafico secondario per il VGA emulato.

Ticketlocks para-virtualizzato

Red Hat Enterprise Linux 7.0 supporta i para-virtualized ticketlocks (pvticketlocks), essi sono in grado di migliorare le prestazioni delle macchine virtuali guest di Red Hat Enterprise Linux 7.0 in esecuzione su host Red Hat Enterprise Linux 7.0 con CPU in condizioni di oversubscription.

Gestione degli errori su dispositivi PCIe assegnati

Se un dispositivo PCIe con un Advanced Error Reporting (AER) incontra un errore durante l'assegnazione ad un guest, il guest interessato viene arrestato in modo da non interessare qualsiasi altro guest o host in esecuzione. È possibile riattivare i guest dopo il ripristino dall'errore del driver host del dispositivo.

Q35 Chipset, PCI Express Bus e AHCI Bus Emulation

Il Q35, necessario per il supporto del bus per il PCI express nelle macchine guest virtuali di KVM, è disponibile come Anteprima di Tecnologia in Red Hat Enterprise Linux 7.0. Un bus AHCI viene supportato solo per inclusione con il tipo di macchina Q35 ed è disponibile come Anteprima di Tecnologia in Red Hat Enterprise Linux 7.0.

Assegnazione dispositivo PCI basata su VFIO

L'interfaccia del driver dell'area utente Virtual Function I/O (VFIO) fornisce alle macchine virtuali del guest di KVM una soluzione di assegnazione del dispositivo PCI migliorata. VFIO fornisce una implementazione a livello kernel per l'isolamento del dispositivo, migliora la sicurezza sull'accesso ed è compatibile con le funzioni come ad esempio il processo d'avvio sicuro. VFIO sostituisce il maccanismo di assegnazione del dispositivo KVM usato in Red Hat Enterprise Linux 6.

Intel VT-d Large Pages

Quando si utilizza l'assegnazione del dispositivo Virtual Function I/O (VFIO) con una macchina virtuale guest di KVM su Red Hat Enterprise Linux 7.0, vengono utilizzate pagine di 2MB dall'input/output memory management unit (IOMMU), così facendo verrà ridotto l'overhead per il translation lookaside buffer (TLB) per operazione di I/O. Con Red Hat Enterprise Linux 7.0 è previsto un supporto per pagine di 1GB. La funzione VT-d large pages è supportata solo su piattaforme basate su Intel più recenti.

Prestazioni KVM Clock Get Time

Con Red Hat Enterprise Linux 7.0 il meccanismo vsyscall è stato imgliorato per supportare le operazioni di lettura veloce dell'orologio dell'area utente per i guest KVM. Una macchina virtuale guest che esegue Red Hat Enterprise Linux 7.0 su un host Red Hat Enterprise Linux 7.0, potrà avere migliori prestazioni per le applicazioni che leggono frequentemente l'ora del giorno.

Formato immagine QCOW2 Versione 3

Red Hat Enterprise Linux 7.0 introduce il supporto per il Formato immagine QCOW2 versione 3.

Migliorate le statistiche per la migrazione live

Sono ora disponibili le informazioni sulla migrazione live per l'analisi e la regolazione delle prestazioni. Queste statistiche includono ora le informazioni relative al tempo di inattività, percentuale tempo di inattività o pagine irregolari.

Thread migrazione live

La funzione di migrazione live KVM è stata migliorata per supportare il threading.

Hot Plugging delle porte seriali e dispositivi a caratteri

È ora supportato in Red Hat Enterprise Linux 7.0 il processo di hot plugging per le nuove porte seriali e dispositivi a caratteri.

Emulazione di AMD Opteron G5

KVM è ora in grado di emulare i processori AMD Opteron G5.

Supporto delle nuove istruzioni Intel su guest KVM

I guest KVM possono ora usare le nuove istruzioni supportate dai processori Intel 22nm. Ciò include:
  • Floating-Point Fused Multiply-Add,
  • Vettori numero intero 256-bit
  • Supporto big-endian move instruction (MOVBE)
  • o HLE/HLE+.

Formati file VPC e VHDX

KVM in Red Hat Enterprise Linux 7.0 introduce il supporto per i formati del file Microsoft Virtual PC (VPC) e Microsoft Hyper-V virtual hard disk (VHDX).

Nuove funzioni in libguestfs

libguestfs è un insieme di strumenti per l'accesso e la modifica delle immagini del disco delle macchine virtuali. Con Red Hat Enterprise Linux 7.0, libguestfs introduce un certo numero di miglioramenti, i più importanti sono:
  • Secure Virtualization Using SELinux, o protezione sVirt; assicura una maggiore sicurezza contro le immagini del disco malizione o errate.
  • I dischi remoti possono essere esaminati e modificati inizialmente tramite il Network Block Device (NBD).
  • È possibile collegare direttamente i dischi (hot plug) in certe applicazioni per migliori prestazioni.

Driver WHQL-Certified virtio-win

Red Hat Enterprise Linux 7.0 introduce i driver virtio-win certificati con Windows Hardware Quality Labs (WHQL) per gli ultimissimi guest Windows di Microsoft, Microsoft Window 8, 8.1, 2012 e 2012 R2.