Indice(depth=2) BRBRBRBRBRBRBR Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,371617.0.html")
Prevenzione dei conflitti tra KVM e Virtualbox
Durante l'installazione KVM carica alcuni moduli che impediscono l'esecuzione di altri software per la virtualizazione, come ad esempio VirtualBox.
Ovviamente è possibile disabilitare KVM e scaricare i suoi moduli:
Assicurarsi di avere spento tutte le macchine virtuali KVM (utilizzando ad esempio virt-manager).
Scaricare tutti i suoi moduli digitando in una finestra di terminale:
sudo invoke-rc.d kvm stop
In Ubuntu 9.10 usare:
sudo invoke-rc.d qemu-kvm stop
Avvio di una macchina virtuale in modalità singola
Una macchina virtuale ha un BIOS completo e può anche eseguire GRUB. La nota dolente sta nel fatto che sparisce dopo alcuni secondi, la maggior parte delle volte non si avrà nemmeno il tempo di eseguire una connessione usando virt-viewer.
La soluzione è:
- Spegnere la macchina virtuale.
Eseguire virt-viewer con l'argomento --wait ( in questo modo virt-viewer attenderà l'avvio di KVM e popperà immediatamente dopo).
- Avviare la macchina virtuale. In questo modo si avranno circa due secondi per garantire l'accesso al BIOS o a GRUB.
Se si sta eseguendo una macchina virtuale creata con ubuntu-vm-builder è probabile incontrare un piccolo bug che impedirà l'autenticazione.
In questo caso procedere come segue:
Nel menù di GRUB selezionare la linea per il ripristino «recovery» e premere e.
Selezionare la linea che inizia con «kernel» e premere ancora e.
- Aggiungere alla fine della linea «init=/bin/sh».
Confermare con invio e premere b per avviare il kernel con queste impostazioni.
Anchor(ConversionedimacchineVMWareavirt-manager)
Conversione di macchine VMWare a virt-manager
Per gestire la macchina VMWare da virt-manager, il file .vmx deve essere convertito nel file .xmldi libvirt. vmware2libvirt è stata creata per facilitare questo compito ed è stata inserita nel pacchetto virt-goodies installabile dal Gestore Pacchetti. Quindi:
[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto: [apt://virt-goodies virt-goodies].
Digitare il seguente comando in un terminale:
vmware2libvirt -f ./file.vmx > file.xml virsh -c qemu:///system define file.xml
Il primo comando converte il file .vmx di VMWare in un file .xml compatibile con libvirt.
Per maggiori informazioni digitare:
man vmware2libvirt
Il secondo comando importa il file .xml in libvirt. Il file .xml importato viene memorizzato in /etc/libvirt/qemu.
Minacce
Anche se vmware2libvirt funziona bene su macchine virtuali semplici, sussistono limitazioni dovute sia al fatto che i file .wmx non contengono tutte le informazioni necessarie, sia al fatto che vmware2libvirt non analizza a fondo tutte quelle che trova.
Alcuni errori possono essere:
Anche se vmware2libvirt rileva un ospite a 64-bit è necessario verificare che la corretta architettura sia stata riportata nel suo file .xml:
<os> <type arch='x86_64' machine='pc'>hvm</type> ... </os>
vmware2libvirt rileva ed usa solamente la prima interfaccia ethernet trovata. ulteriori interfacce devono essere aggiunte tramite virt-manager.
Attualmente utilizza il primo disco scsi se trovato, altrimenti il primo disco ide. Ulteriori dischi possono essere aggiunti tramite virt-manager.
La macchina virtuale convertita è impostata all'uso di 1 sola CPU. Per modificare:
<vcpu>2</vcpu>
vmware2libvirt non converte tutto ciò che è specifico di VMWare all'interno dell'ospite.
Uso e conversione di file su disco virtuale VMWare
KVM riesce ad usare direttamente i file .vmdk di VMWare presenti su disco, sempre che il disco sia interamente contenuto in un singolo file .vmdk. Ma siccome VMWare permette anche di suddividere il disco in parti più piccole, solitamente 2GB, in questo caso KVM non potrà usare i file .vmdk.
È necessario quindi convertirli in un unico file su disco virtuale, utilizzando vmware-vdiskmanager, incluso in VMWare Server(distribuito gratuitamente).
vmware-vdiskmanager -r <Nome del file .vmdk suddiviso> -t 0 <Nome del nuovo file vmdk riunificato>
Modificare il file .xml della macchina virtuale in /etc/libvirt/qemu:
... <disk type='file' device='disk'> <source file='/var/lib/libvirt/images/diskname.vmdk'/> <target dev='hda' bus='ide'/> </disk> ...
quindi ridefinirla:
virsh -c qemu:///system define Nome della macchina.xml
Ricordare che fino a quando il file .vmx è convertito in .xml, i dischi saranno usati in questo modo. Si consiglia di fare dei backup, specialmente se si prevede un utilizzo successivo della macchina virtuale in VMWare.
In questa modalità KVM non può catturare schermate. Per fare ciò si deve convertire il file su disco virtuale nel formato di qemu qcow2, dato che il pacchetto qemu contiene l'utility qemu-img che consente la cattura delle schermate:
qemu-img convert nomedisco.vmdk -O qcow2 nomedisco.qcow2
Cambiare il file .xml della macchina e ridefinirla.
Recupero degli strumenti di VMWare dopo la conversione
Convertendo da vmware a libvirt, assicurarsi di rimuovere vmware-tools, se installato (in caso contrario al riavvio sovrascriverà il file xorg.conf).
Conversione di macchine fisiche a virt-manager
Per convertire la macchina fisica Windows (XP) bisogna innanzitutto abilitare gli IDE nei registri.
Avviare la macchina ed eseguire [http://www.proxmox.com/cms_proxmox/cms/upload/misc/mergeide.reg mergeide.reg].
Vedere anche [http://support.microsoft.com/kb/314082/en-us Microsoft KB Article 314082].
Utilizzo di VMWare Converter
VMWare Converter è uno strumento libero per migrare una macchina fisica a VMWare. Il primo passo consite nel convertire la macchina fisica in una immagine VMWare. Quindi seguire questa guida al paragrafo [#ConversionedimacchineVMWareavirt-manager Conversione di macchine VMWare a virt-manager].
Utilizzo di strumenti Linux
Vedere il libro tedesco su qemu [http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Speichermedien/_Physical-to-Virtual physical to virtual]. Selezionare il link English per la traduzione in inglese.
Utilizzo di ntp per la sincronizzazione dell'ora
I sistemi ospiti non possono usare ntp per sincronizzare l'orologio, assicurarsi di rimuovere o disabilitare ntpd.
Driver utilizzabili da Xorg
Video
Durante la prima installazione di un ospite Linux utilizare i driver cirrus.
Successivamente se si desidera avere una risoluzione superiore a 800x600, passare ai driver standard.
Il file xorg.conf, non è ben visto nell'ambiente linux, di conseguenza non viene installato predefinitivamente.
Quindi per poter usare i driver standard:
Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file /etc/X11/xorg.conf:
Section "ServerLayout" Identifier "BodhiZazen's KVM xorg.conf" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Module" Load "record" Load "dri" Load "extmod" Load "glx" Load "dbe" Load "dri2" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputDevice" Identifier "Mouse0" Driver "vmmouse" Option "Protocol" "SysMouse" Option "Device" "/dev/sysmouse" Option "ZAxisMapping" "4 5 6 7" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 20.0 - 50.0 VertRefresh 40.0 - 80.0 Option "DPMS" EndSection Section "Device" Identifier "Card0" Driver "vesa" VendorName "KVM - std" BoardName "GD 5446" BusID "PCI:0:2:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Modes "1600x1200" EndSubSection EndSection
Cambiare i valori della linea Modes per variare la risoluzione.
La configurazione dei driver video standard varia a seconda della modalità di utilizzo di KVM:
Linea di comando
Usare l'opzione -vga std }}} kvm -hda ubuntu.qcow -vga std }}}
Virtmanager
Ad ospite spento, andare nella pagina di visualizzazione dell'ospite e selezionare la scheda Video sulla destra, quindi dal menù a discesa scegliere vga invece di cirrus.
Libvirt
Editare il file xml dell'ospite per impostare il video a std con:
<model type='vga' vram='9216' heads='1'/>
I driver del mouse, vmmouse, sono presenti nella maggior parte delle distribuzioni Linux.
Mouse
I sistemi ospitati Linux che usano Xorg possono usare i driver vmmouse (non disponibili per Ubuntu Dapper).
Per usarli, digitare nel terminale dell'ospite:
aptitude install xserver-xorg-input-vmmouse
Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file /etc/X11/xorg.conf per avere:
Section "InputDevice" Identifier "Configured Mouse" Driver "vmmouse" EndSection
la linea «Identifier» non dovrebbe cambiare, e si potrebbero avere solamente le linee «Identifier» e «Driver».
Impostazione della risoluzione dell'ospite in Xorg
Nei sistemi ospitati Linux che usano Xorg bisogna impostare la risoluzione per Xorg in /etc/X11/xorg.conf.
Nel file Xorg.conf, cercare la sezione screen ed assicurarsi che ognuna delle linee «Modes» riporti una risoluzione ragionevole per il sistema in uso (ciò è dovuto al [https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/193456 bug #193456].
La risoluzione nei sistemi ospitati deve essere inferiore a quella del host. Esempio:
Section "Screen" ... SubSection "Display" Depth 16 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "800x600" "640x480" EndSubSection EndSection
Impostazioni raccomandate per specifici sistemi
Windows (<Vista)
Nelle macchine virtuali Windows (diversi da Vista) sostituire nel file .xml:
<features> <acpi/> </features>
con:
<features/>
Windows Vista
Nelle macchine virtuali Windows Vista aggiungere nel file .xml:
<domain type='kvm'> ... <features> <acpi/> </features> </domain>
Debian Sarge
Debian Sarge (oldstable) potrebbe scrivere /boot/grub/menu.lst in modo sbagliato, con le seguenti conseguenze al boot:
pivot_root: no such file or directory /sbin/init: 432: cannot open dev/console: no such file Kernel panic: Attempted to kill init!
È possibile risolvere dal menù di Grub, premere e per modificare root=/dev/hdb1 che diventa root=/dev/hda1. Dopo l'avvio, aggiornare il file /boot/grub/menu.lst per avere:
# kopt=root=/dev/hda1 ro
ed eseguire:
# update-grub
OpenBSD 4.1 (e altri?)
Con OpenBSD 4.1 (e probabilmente altri) durante l'uso del driver di rete rtl8139 è possibile avere scarse prestazioni della rete ed avere questo messaggio sulla console:
re0: watchdog timeout
Per risolvere questo problema usare un NIC diverso (e1000 sembra funzionare meglio).
OpenBSD 4.5 e successivi
Una modifica nel kernel di OpenBSD causa il blocco durante il boot al setting tty flags. Seguire quindi le istruzioni a [http://scie.nti.st/2009/10/4/running-openbsd-4-5-in-kvm-on-ubuntu-linux-9-04 questo indirizzo].
Ulteriori risorse
[https://help.ubuntu.com/community/KVM/FAQ Documento originale]