Product SiteDocumentation Site

5.3. Virtualization

La virtualizzazione in Fedora 11 ha subito notevoli modifiche e presenta nuove caratteristiche che continuano a supportare Xen, KVM e molte altre piattaforme di macchine virtuali.

5.3.1. Autenticazione VNC migliorata per la gestione di macchine virtuali

Fedora 11 introduce la possibilità di usare il protocollo SASL per l'autenticazione di connessioni VNC alle macchine virtuali KVM e QEMU. SASL è un sistema modulare, che consente a molti meccanismi di autenticazione di essere configurati senza modifiche al codice dell'applicazione. L'utilizzo di SASL, combinato con il supporto della cifratura TLS, consentirà ai client come vinagre, virt-viewer e virt-managerdi connettersi in modo sicuro a console di macchine virtuali remote ospitate da server Fedora. Negli ambienti dove viene utilizzato Kerberos, ciò consentirà inoltre accessi sicuri di tipo single sign-on al server VNC. Questa nuova funzione rende obsoleto il tradizionale schema di password VNC che non è sufficientemente sicuro.
Per maggiori dettagli fare riferimento alla pagina wiki Virtualization VNC Authentication

5.3.2. Migliorata la console grafica per le macchine virtuali

Nelle versioni precedenti di Fedora le console virtuali ospiti erano limitate alla risoluzione di 800x600, e il puntatore del mouse PS2 lavorava in coordinate relative. Ciò impediva al puntatore ospite di tracciare esattamente il puntatore del client locale.
Fedora 11 fornisce un più accurato posizionamento del puntatore del mouse e maggiori risoluzioni dello schermo per le console delle macchine virtuali. I sistemi ospiti di Fedora 11 hanno una risoluzione predefinita di almeno 1024x768, e vengono corredati da una tavoletta USB in coordinate assolute. Ciò risulta in un puntatore del mouse che segue il cursore del mouse locale in maniera fedele.
Per maggiori dettagli fare riferimento alla pagina wiki Improved Graphical Console for Virtual Guests

5.3.3. Assegnazione dispositivi PCI per KVM

Fedora 11 espande le sue funzionalità di virtualizzazione per includere il supporto all'assegnazione di dispositivi PCI su KVM. Gli utenti KVM possono ora dare alle macchine virtuali accesso esclusivo a dispositivi PCI usando gli strumenti di virtualizzazione di Fedora, tra cui l'applicazione di gestione delle macchine virtuali Virt Manager.

Nota

Requisiti hardware: è necessario il supporto alla piattaforma hardware Intel VT-d o AMD IOMMU per rendere disponibile questa caratteristica.
Per maggiori dettagli fare riferimento alla pagina wiki KVM PCI Device Assignment.

5.3.4. Unione di KVM e QEMU

QEMU fornisce un emulatore di processore e di sistema che abilita gli utenti a lanciare macchine virtuali ospiti con la stessa architettura della macchina ospitante o di una architettura completamente differente. KVM fornisce il supporto a livello kernel per i guest in esecuzione con la stessa architettura della macchina ospitante.
QEMU trae vantaggio da KVM nell'esecuzione dei guest direttamente sull'hardware dell'host senza alcuna traduzione da parte della macchina, ciò consente delle prestazioni migliori.
Fedora 11 include l'unione degli RPM qemu e kvm. Il pacchetto kvm ora è reso obsoleto da pngqemu-kvm. L'unione delle due basi di codice è tuttora in corso in upstream, ma i manutentori di pacchetti Fedora hanno deciso di unire da subito questi pacchetti per ridurre il lavoro di manutenzione e fornire un supporto migliore.
Per maggiori dettagli fare riferimento alla pagina wiki KVM and QEMU merge

5.3.5. SVirt Mandatory Access Control

Fedora 11 integra il MAC (Mandatory Access Control) di SELinux con la virtualizzazione. Le macchine virtuali ora possono essere isolate in maniera più efficace dalla macchina ospitante e dagli altri ospiti, garantendo che guest maliziosi non possano sfruttare eventuali difetti di sicurezza.
Mer maggiori dettagli fare riferimento alla pagina wiki SVirt Mandatory Access Control.

5.3.6. Manipolazione online di macchine virtuali

libguestfs è una nuova libreria per l'accesso e la modifica di immagini disco di ospiti. Utilizza il kernel di Linux ed il codice QEMU, libguestfs può accedere a qualsiasi tipo di filesystem di ospite a cui possono accedere Linux e QEMU.
I seguenti strumenti vengono forniti da libguestfs:
  • guestfish - Fornisce una shell interattiva per la modifica dei filesystema delle macchine virtuali e l'esecuzione di comandi nel contesto ospite.
  • virt-inspector - Mostra la versione OS, il kernel, drivers, punti di montaggio, applicazioni, ecc. In una macchina virtuale.
  • Binding per i linguaggi di programmazione OCaml, Perl, Python, Ruby e Java.
Per maggiori informazioni fare riferimento a:

5.3.7. Altri miglioramenti

Fedora include anche i seguenti miglioramenti sulla virtualizzazione:
5.3.7.1. QEMU aggiornato alla versione 0.10.0
QEMU è un emulatore e virtualizzatore di macchine generico ed open source.
Quando usato come emulatore di sistema, QEMU può eseguire i sistemi operativi e i programmi sviluppati per una architettura (es. un processore ARM) su differenti sistemi (es. sul proprio PC). Usando la traduzione dinamica, si raggiungono delle buone prestazioni.
Quando usato come virtualizzatore, QEMU raggiunge quasi le prestazioni originali eseguendo il codice dell'ospite direttamente sulla CPU dell'ospitante. In questo caso è necessario un driver dell'ospite chiamato acceleratore QEMU (meglio noto come KQEMU). La modalità di virtualizzazione richiede che l'ospite e l'ospitante usino processori compatibili con x86.
Miglioramenti e nuove caratteristiche dalla 0.9.1:
  • Supporto TCG - Non richiede più GCC 3.x
  • Supporto accelerazione KVM (Kernel Virtual Machine)
  • Emulazione spazio utente BSD
  • Emulazione Bluetooth e supporto host passthrough
  • Supporto descrizione registro GDB XML
  • Emulazione Intel e1000
  • Emulazione HPET
  • Supporto dispositivo paravirtuale VirtIO
  • Emulazione Marvell 88w8618 / MusicPal
  • Emulazione Nokia N-series / emulazione procesore OMAP2
  • Supporto hotplug PCI
  • Migrazione live e nuovi formati salva/ripristina
  • Supporto display curses
  • strumento qemu-nbd per montare i formati a blocchi supportati
  • Supporto Altivec in emulazione PPC e nuovo firmware (OpenBIOS)
  • Ora sono supportati client VNC multipli
  • Ora la crittografia TLS è supportata in VNC
  • Numerosissimi errori risolti e nuove caratteristiche
Per i dettagli completi, fare riferimento a http://www.nongnu.org/qemu/about.html
5.3.7.2. KVM aggiornato alla versione 84
KVM (Per Kernel-based Virtual Machine) è una soluzione di virtualizzazione completa su hardware x86.
Usando KVM, è possibile eseguire macchine virtuali multiple eseguendo immagini Linux o Windows non modificate. Ogni macchina virtuale ha un hardware virtualizzato dedicato: scheda di rete, disco, scheda grafica, ecc.
Nuove caratteristiche e miglioramenti dalla versione 74 - Per maggiori dettagli fare riferimento a http://www.linux-kvm.org/page/ChangeLog
5.3.7.3. libvirt aggiornato alla versione 0.6.1
Il pacchetto libvirt fornisce un'API e gli strumenti necessari per l'interazione con le funzioni di virtualizzazione delle versioni recenti di Linux (e di altri sistemi operativi). Il software libvirt è stato creato per essere un comune denominatore tra tutte le tecnologie di virtualizzazione con il supporto di:
  • Hypervisor di Xen su host Solaris e Linux.
  • Emulatore QEMU
  • Hypervisor Linux KVM
  • Sistema contenitore Linux LXC
  • Sistema contenitore Linux OpenVZ
  • Storage su dischi IDE/SCSI/USB, FibreChannel, LVM, iSCSI e NFS
Miglioramenti e nuove caratteristiche dalla 0.4.6:
  • nuove API per il distacco, ricollegamento e reset di nodi dispositivo
  • supporto sVirt mandatory access control
  • thread safety delle API e della gestione eventi
  • consente ai domini QEmu di sopravvivere al riavvio del demone
  • funzionalità di logging estese
  • supporto di volumi di storage copy-on-write
  • supporto per opzioni di controllo della cache dello storage per QEmu/KVM
  • infrastruttura driver e locking
  • Infrastruttura di test del driver
  • parallelismo nel demone e nella configurazione associata
  • revisione documentazione di virsh
  • rotazione log del demone
  • più test di regressione
  • Grafica SDL di QEmu
  • aggiunto il flag --version al demone
  • ottimizzazione del consumo di memoria
  • file pid QEmu e stati XML per il riavvio del demone
  • aggiornamenti gnulib
  • Passthrough PCI per KVM
  • thread API interna generica
  • codice e opzione configure di Xen specifica per RHEL-5
  • salva lo stato del dominio come stringa nel file di status
  • aggiunto il locking a tutti i punti di ingresso delle API
  • nuove API ref counting
  • indirizzo IP per i bridge Xen
  • formato driver per tipi di file disco
  • migliorate le prestazioni QEmu/KVM tun/tap
  • abilitati i floppy per Xen completamente virtualizzati
  • supporto per le impostazioni di password VNC per QEmu/KVM
  • rapporto versione driver qemu
Inoltre ci sono decine di altre ottimizzazioni, miglioramenti alla documentazione, più portabilità e risoluzione di numerosi errori. Per maggiori dettagli fare riferimento a: http://www.libvirt.org/news.html
5.3.7.4. virt-manager Aggiornato alla versione 0.7.0
Il pacchetto virt-manager fornisce una implementazione GUI delle funzionalità di virtinst e di libvirt.
Miglioramenti e nuove caratteristiche dalla 0.6.0:
  • Ridisegnata la creazione guidata 'Nuova macchina virtuale'
  • Opzione per rimuovere lo storage durante la cancellazione di macchine virtuali
  • Esploratore file per volumi e dispositivi di storage per libvirt, per l'uso durante il collegamento dello storage ad un guest nuovo o esistente.
  • Assegnazione dispositivo fisico (PCI, USB) per macchine virtuali preesistenti.
  • Relazione stato di rete e disco della VM
  • Supporto per la migrazione della VM
  • Supporto per l'aggiunta di dispositivi audio per una VM preesistente
  • Elenca i dispositivi dell'host collegati a una VM preesistente
  • Possibilità di specificare un modello di dispositivo durante l'aggiunta di un dispositivo di rete ad una VM esistente.
  • Combina la vista della console seriale con la finestra dettagli della VM
  • Consente connessioni a console seriali di VM multiple
  • Risolti errori e molti miglioramenti minori.
Per maggiori dettagli fare riferimento a: http://virt-manager.et.redhat.com/
5.3.7.5. virtinst aggiornato alla versione 0.400.3
Il pacchetto python-virtinst contiene strumenti per l'installazione e la manipolazione di formati multipli di immagini VM guest.
Nuove funzioni e miglioramenti dalla versione 0.400.0:
  • Nuova opzione virt-clone --original-xml, che consente la clonazione di un ospite da un file XML, piuttosto che richiedere un ospite definito e esistente.
  • Nuova opzione di virt-install --import, che consente la creazione di un ospite da un immagine presente su disco, saltando qualsiasi fase di installazione del sistema operativo.
  • Nuova opzione di virt-install --host-device, per connettere un dispositivo fisico all'ospite.
  • Consente di specificare il valore cache tramite le opzioni virt-install --disk
  • Nuova opzione di virt-install --nonetworks
  • Aggiunto il supporto da virt-image a vmx in virt-convert, che sostituisce virt-pack
  • Aggiunto il supporto checksum disco a virt-image
  • Supporto installazione URL avanzato: Debian Xen paravirt, kernel e boot.iso Ubuntu, kernel Mandrivia e Solaris Xen paravirt
  • Suite di test estesa
  • Numerosi errori risolti, pulizia e miglioramenti
Per maggiori dettagli fare riferimento a: http://virt-manager.org/
5.3.7.6. Xen aggiornato alla versione 3.3.1
Fedora 11 supporta l'avvio come un guest domU, ma non funzionerà come dom0 fino a quando non verrà fornito il supporto necessario nel kernel upstream. Il supporto per dom0 dovrebbe essere presente con Xen 3.4.
Modifiche dalla versione 3.3.0:
Xen 3.3.1 è una versione di manutenzione nella serie 3.3.
Per maggiori informazioni fare riferimento a:

5.3.8. Supporto kernel xen

Il pacchetto kernel supporta l'avvio come guest domU, ma non funzionerà come dom0 fino a quando non verrà fornito il supporto necessario in upstream. La funzione è in fase di sviluppo e si stima che il supporto venga incluso nel kernel 2.6.30 e in Fedora 12.
La versione più recente di Fedora con supporto dom0 è Fedora 8.
L'avvio di un guest domU di Xen all'interno di un host Fedora 11 necessita di uno xenner basato su KVM. Xenner esegue il kernel guest insieme ad un piccolo emulatore Xen come guest KVM.

Importante

KVM richiede caratteristiche di virtualizzazione hardware nel sistema host. Attualmente i sistemi che non sono dotati di funzioni di virtualizzazione hardware non supportano i guest Xen.