Capitolo 8. Virtualizzazione
8.1. KVM
virtio-SCSI
Lo storage stack di KVM Virtualization è stato migliorato con l'aggiunta di capacità virtio-SCSI (una architettura storage per KVM basato sullo SCSI). Contrariamente a virtio-blk, virtio-SCSI permette di collegarsi direttamente alle SCSI LUN e migliorare significativamente la scalabilità. A differenza di virtio-blk, il quale è in grado di gestire circa 25 dispositivi ed esaurisce gli slot PCI, il vantaggio offerto da virtio-SCSI è quello di saper gestire centinaia di dispositivi.
Virtio-SCSI è in grado di ereditare il set di capacità del dispositivo di destinazione con la possibilità di:
- collegare un disco fisso virtuale o CD attraverso il controllore di virtio-scsi,
- passare attraverso un dispositivo SCSI fisico dall'host al guest tramite il dispositivo blocchi-scsi QEMU,
- permettere l'uso di centinaia di dispositivi per il guest; un miglioramento rispetto al limite di 25 dispositivi offerto da virtio-blk.
virtio-scsi è stato introdotto con Red Hat Enterprise Linux 6.3 come Anteprima di tecnologia ed ora è completamente supportato in Red Hat Enterprise Linux 6.4. I guest di Windows (ad eccezione di Windows XP) sono supportati con gli ultimissimi driver virtio-win.
Supporto per il Core Processor di prossima generazione di Intel
Red Hat Enterprise Linux 6.4 rende disponibile il supporto per il Core processor di prossima generazione di Intel su qemu-kvm, in questo modo i guest KVM saranno in grado di usare le nuovi funzioni fornite da questo processore, le più importanti sono: Advanced Vector Extensions 2 (AVX2), Bit-Manipulation Instructions 1 (BMI1), Bit-Manipulation Instructions 2 (BMI2), Hardware Lock Elision (HLE), Restricted Transactional Memory (RTM), Process-Context Identifier (PCID), Invalidate Process-Context Identifier (INVPCID), Fused Multiply-Add (FMA), Big-Endian Move instruction (MOVBE), F Segment and G Segment BASE instruction (FSGSBASE), Supervisor Mode Execution Prevention (SMEP), Enhanced REP MOVSB/STOSB (ERMS).
Supporto per la CPU AMD Opteron 4xxx Series
Il processore AMD Opteron 4xxx series è ora completamente supportato da qemu-kvm. Ciò permette l'esposizione di nuove funzioni ai guest KVM, ad esempio: il set di istruzioni F16C, Trailing Bit Manipulation, funzioni Bit-Manipulation Instructions 1 (BMI1), ed il set di istruzioni Fused Multiply-Add (FMA).
Migrazione live dei guest utilizzando l'USB Forwarding via SPICE
Con Red Hat Enterprise Linux 6.4, KVM supporta la migrazione live dei guest utilizzando l'USB forwarding via SPICE, conservando il ridirezionamento del dispositivo USB esistente per tutti i dispositivi configurati.
Migrazione live dei guest utilizzando i dispositivi USB
Con Red Hat Enterprise Linux 6.4, KVM supporta la migrazione live dei guest con dispositivi USB. Vengono supportati i seguenti dispositivi: frasi d'accesso locali Enhanced Host Controller Interface (EHCI) e Universal Host Controller Interface (UHCI) e dispositivi emulati come i dispositivi di storage, mice, tastiere, hubs e altro.
QEMU Guest Agent aggiornato
Il QEMU guest agent (reso disponibile da qemu-guest-agent) è ora completamente supportato con Red Hat Enterprise Linux 6.4. È stato aggiornato alla aversione 1.1 ed include le seguenti correzioni e miglioramenti:
- I comandi
guest-suspend-disk
eguest-suspend-ram
possono essere usati per la sospensione con la RAM o sul disco con un sistema Windows. - È possibile usare il comando
guest-network-get-interfaces
per ottenere le informazioni sull'interfaccia di rete in Linux. - Questo aggiornamento fornisce le correzioni ed i miglioramenti per il supporto della sospensione del file system.
- Questo aggiornamento include varie correzioni e piccoli migliormaenti.
Paravirtualized End-of-Interrupt Indication (PV-EOI)
Gli host ed i guest che eseguono Red Hat Enterprise Linux 6.3 e versioni più vecchie, hanno bisogno di due uscite VM (selettori del contesto da una VM ad un Hypervisor) per ogni interruzione: una per inserire l'interruzione e l'altra per indicare la fine dell'interruzione stessa. Dopo aver aggiornato i sistemi host e guest a Red Hat Enterprise Linux 6.4, o versione più recente, essi potranno negoziare una funzione di tipo end-of-interrupt paravirtualizzata e usare solo un selettore per interruzione. Di conseguenza con l'uso di Red Hat Enterprise Linux 6.4 o di una versione più recente come host o guest, il numero di uscite viene ridotto a metà per carichi di lavoro con un numero di interruzioni elevato, ad esempio il traffico di rete in ingresso con un dispositivo di rete virtio. Ciò comporta una riduzione significativa dell'utilizzo della CPU dell'host per carichi di lavoro simili. Da notare che solo le interruzioni edge sono state migliorate: per esempio il networking e1000 utilizza una tipologia diversa di interruzioni (level interrupt) per questo motivo non è stato migliorato.
Audio pass-through configurabile
È possibile ora rilevare un dispositivo audio come
microfono
o speaker
nel sistema guest (in aggiunta al rilevamento come line-in
e line-out
). I dispositivi audio ora possono operare correttamente nelle applicazioni guest che accettano determinati tipi di input per la registrazione della voce e audio.
8.2. Hyper-V
Inclusione di, e supporto installazione del guest per, i driver Microsoft Hyper-V
L'installazione del guest Red Hat Enterprise Linux integrata ed il supporto per il dispositivo para-virtualizzato Hyper-V con Red Hat Enterprise Linux 6.4 su Microsoft Hyper-V permette agli utenti una esecuzione di Red Hat Enterprise Linux 6.4 come guest con gli hypervisor Microsoft Hyper-V. I seguenti driver Hyper-V ed il sorgente dell'orologio sono stati aggiunti al kernel presente con Red Hat Enterprise Linux 6.4:
- un driver di rete (
hv_netvsc
) - un driver di storage (
hv_storvsc
) - un driver del mouse conforme a HID (
hid_hyperv
) - un driver VMbus (
hv_vmbus
) - un driver util (
hv_util
) - un driver del disco IDE (
ata_piix
) - un sorgente dell'orologio (i386, AMD64/Intel 64:
hyperv_clocksource
)
Red Hat Enterprise Linux 6.4 include anche il supporto per Hyper-V come sorgente dell'orologio ed un un demone guest Hyper-V Key-Value Pair (KVP) (
hypervkvpd
) il quale è in grado di passare informazioni di base, come l'IP del guest, FQDN, il nome del sistema operativo ed il numero della release all'host attraverso VMbus.
8.3. VMware ESX
Driver VMware PV
I driver paravirtualizzati VMware sono stati aggiornati e ora forniscono una esperienza nuova durante l'esecuzione di Red Hat Enterprise Linux 6.4 in VMware ESX. L'installer di anaconda è stato aggiornato ed ora elenca di driver durante il processo di installazione. Sono stati aggiornati i seguenti driver:
- un driver di rete (
vmxnet3
) - un driver di storage (
vmw_pvscsi
) - un balloon driver della memoria (
vmware_balloon
) - un driver del mouse (
vmmouse_drv
) - un driver video (
vmware_drv
)