Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Virtualizzazione/Kvm/DomandeFrequenti"
Differenze tra le versioni 1 e 32 (in 31 versioni)
Versione 1 del 22/03/2010 22.29.12
Dimensione: 10085
Autore: FabioMarconi
Commento:
Versione 32 del 14/03/2011 12.49.39
Dimensione: 12892
Autore: localhost
Commento: converted to 1.6 markup
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
#title KVM FAQ
<<Include(KVM/Header)>>
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(3)>>||

= Frequently Asked Questions =

== How to prevent Virtualbox and KVM from conflicting? ==
Installing kvm loads the module kvm (or kvm-intel in my case) which does not allow other virtualization software to run, e.g. virtualbox.

The good news is that you ''can'' disable kvm and unload its modules. So you simply:

1. Make sure you've completely shut down and powered off all your kvm virtual machines (using virt-manager or otherwise).

2. Unload all of its modules:
{{{
$ sudo invoke-rc.d kvm stop
}}}
In Karmic use
{{{
$ sudo invoke-rc.d qemu-kvm stop
}}}
instead.

== How to boot Dapper, Edgy, Feisty or Gutsy ISO? ==

 * Q: I'm on Intel hardware, and I'm trying to boot Dapper, Edgy, Feisty, or Gutsy, but kvm fails immediately.
 * A: Yes, this is rather unfortunate. The issue is a limitation in Intel's virtualisation extensions that don't interact very well with gfxboot. The evil, hacky workaround is to modify the ISO to disable gfxboot. The following has worked for me, but it might kill your cat or make your coffee go cold or make other unpleasantries happen to you. You've been warned!
{{{
$ sed -e 's/GFXBOOT bootlogo/#FXBOOT bootlogo/g' < ubuntu-7.10-server-amd64.iso > ubuntu-7.10-server-amd64-nogfxboot.iso
}}}
/!\ Don't change the above command! The length of the string mustn't change or you will have knackered the filesystem on the CD.

A slightly safer way is to download gfxboot-disable from [[http://hg.codemonkey.ws/gfxboot-disable]] and then run:
{{{
$ gfxboot-disable ubuntu-7.10-server-amd64.iso
}}}

== How to boot a VM into single mode? ==

A VM has a complete BIOS, and also runs GRUB. Bad point is, it disappears after a couple of seconds, most of the time you won't even have time to connect using virt-viewer. There is a small trick here: shutdown the VM, run virt-viewer with the argument --wait (that way it will wait for the VM to start and pop up directly after that), and then start the VM; this should give you a good 2 seconds time to enter the bios or access grub.

If you are running a VM built with ubuntu-vm-builder, there is a small bug that will prevent you from logging in; in grub, select the recovery line and press "e"; select the line beginning with kernel, press "e" again. At the end of the line, add "init=/bin/sh" (without the quotes). Confirm with enter, and press b to boot the kernel with these settings.

== How to convert VMware machines to virt-manager? ==

To use the VMware machine from within virt-manager, the .vmx file must be converted to libvirt's .xml. vmware2libvirt was created to help with this. It's available in Intrepid/Jaunty, install package 'virt-goodies'. After installing it can be used like so:
{{{
$ vmware2libvirt -f ./file.vmx > file.xml
$ virsh -c qemu:///system define file.xml
}}}

The first command converts the VMware 'file.vmx' file to the libvirt compatible 'file.xml'. See {{{ man vmware2libvirt }}} for details. The second command imports file.xml into libvirt. The imported .xml files are stored in /etc/libvirt/qemu.

=== Caveats ===
 While vmware2libvirt works well on simple virtual machines, there are limitations because .vmx files don't always contain enough information, and also because vmware2libvirt tries not to make too many assumptions about what it finds. A couple of things to look out for:
  0. While vmware2libvirt attempts to detect a 64-bit guest, be sure that your 64-bit guest has in its .xml file: {{{
## page was renamed from Emulatori/Kvm/DomandeFrequenti
## page was renamed from FabioMarconi/Prove12
## page updated 24-05-2010
#format wiki
#language it
<<Indice(depth=2)>>
<<BR>><<BR>><<BR>><<BR>><<BR>><<BR>><<BR>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=371617")>>

= 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:

 0. Assicurarsi di avere spento tutte le macchine virtuali '''KVM''' (utilizzando ad esempio '''virt-manager''').

 0. 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
}}}
##Obsoleto
##= Avvio di una ISO di Dapper, Edgy, Feisty e Gutsy =

##Qui il problema è rapppresentato dall' hardware Intel, che limita le estensioni per la virtualizzazione, impedendo così una perfetta interazione con ##'''gfxboot'''.

##La parte difficile in questa procedura, è la modifica dell'immagine ISO, in modo da disabilitare '''gfxboot'''.{{{
## sed -e 's/GFXBOOT bootlogo/#FXBOOT bootlogo/g' < ubuntu-7.10-server-amd64.iso > ubuntu-7.10-server-amd64-nogfxboot.iso
##}}}
##||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Non #modificare questo comando. La lunghezza della stringa non può cambiare, in caso contrario si avrà lo svuotamento del filesystem sul CD''.||
##il link non funge
##Un metodo più sicuro è quello di utilizzare '''gfxboot-disable''' scaricabile a [http://hg.codemonkey.ws/gfxboot-disable questo indirizzo] e quindi eseguire:{{{
## gfxboot-disable ubuntu-7.10-server-amd64.iso
##}}}

= 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:

 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto: [[apt://virt-goodies | virt-goodies]].
 0. 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:

  0. Anche se '''vmware2libvirt''' rileva un ospite a 64-bit è necessario verificare che la corretta architettura sia stata riportata nel suo file `.xml`:{{{
Linea 62: Linea 88:
  0. vmware2libvirt only detects and uses the first ethernet interface found. Additional interfaces can be added from within virt-manager.
  0. Currently the first scsi disk is used if found, otherwise the first ide disk. Additional disks can be added from within virt-manager.
  0. The converted virtual machine is hard-coded to use 1 cpu. This can be changed with:{{{
  0. '''vmware2libvirt''' rileva ed usa solamente la prima interfaccia ethernet trovata. ulteriori interfacce devono essere aggiunte tramite '''virt-manager'''.
  0. Attualmente utilizza il primo disco scsi se trovato, altrimenti il primo disco ide. Ulteriori dischi possono essere aggiunti tramite '''virt-manager'''.
  0. La macchina virtuale convertita è impostata all'uso di 1 sola CPU. Per modificare:{{{
Linea 67: Linea 93:
  0. vmware2libvirt does not (and cannot) convert anything that was VMware-specific within the guest. See 'Guest Notes' below for more details.

=== Using and Converting VMWar'e virtual Disk Files ===

kvm has the ability to use VMWare's .vmdk disk files directly, as long as the disk is wholly contained in a single vmdk file.

But VMWare also allows splitting a disk into smaller, usually 2 GB, vmdk files. kvm can't use these. You can convert these files into a single virtual disk file using vmware-vdiskmanager. It is e.g. included in VMWare Server (freely available).

{{{
$ vmware-vdiskmanager -r <Name of splitted vmdk base file> -t 0 <Name of new single vmdk file>
}}}

Modify the virtual machines xml file in /etc/libvirt/qemu:

{{{
  0. '''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`:{{{
Linea 90: Linea 112:
and redefine it:
 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, si consiglia l'utilizzo dei driver '''standard'''.

Il file `xorg.conf` non viene installato in modo predefinito.

Quindi per poter usare i driver '''standard''' procedere come segue:

 * 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
}}}
Per modificare la risoluzione è possibile cambiare i valori all'interno della linea «Modes».

La configurazione dei driver video standard varia a seconda della modalità di utilizzo di KVM:

'''Linea di comando'''

Usare l'opzione -vga std
Linea 93: Linea 230:
$ virsh -c qemu:///system define NameOfMachine.xml
}}}

'''IMPORTANT:''' keep in mind that while the .vmx file is converted to .xml, the disks are used as is. Please make backups, especially if you want to use the virtual machine in VMWare later.

kvm is not able to make snapshots when using vmdk disk files. So I recommend to convert the virtual disk file in qemu's format qcow2. Package qemu contains a utility qemu-img to do this:
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:
Linea 101: Linea 242:
qemu-img convert diskname.vmdk -O qcow2 diskname.qcow2
}}}

change the machines xml file and redefine it (see above).



=== Should VMWare Tools be kept after conversion? ===

If converting from vmware to libvirt, be sure to remove vmware-tools if you have it installed (otherwise it will overwrite xorg.conf on reboot)

== How to convert physical Machines to virt-manager ==

If you want to convert a Windows (XP) physical machine you first may have to enable IDE in the registry. Start the machine and execute [[http://www.proxmox.com/cms_proxmox/cms/upload/misc/mergeide.reg|mergeide.reg]]. See [[http://support.microsoft.com/kb/314082/en-us|Microsoft KB Article 314082]].


=== using VMWare Converter ===

VMWare Converter is a free tool to migrate a physical machine to VMWare. So the first step is to migrate the physical machine to a VMware image. The second step is to follow the howto "How to convert VMWare Machines to virt-manager" (see above).


=== using linux tools ===

See the german book about qemu [[http://qemu-buch.de/de/index.php/QEMU-KVM-Buch/_Speichermedien/_Physical-to-Virtual|physical to virtual]]. There is a link to translate it in english.


== Should ntp be used for time synchronisation? ==
Guests should not use ntp to synchronize the clock, so be sure to remove/disable ntpd

== Which driver should be used for Xorg? ==

=== Video ===
Linux guests with Xorg should be using the 'cirrus' video driver. To use, adjust /etc/X11/xorg.conf to have: {{{
Section "Device"
        Identifier "Configured Video Device"
        Driver "cirrus"
EndSection
}}} then be sure that your Screen section uses 'Configured Video Device' for its Device.

=== Mouse ===
Linux guests with Xorg should be using the 'vmmouse' driver (not available on Ubuntu Dapper). To use, perform within the guest: {{{
aptitude install xserver-xorg-input-vmmouse
}}} then adjust /etc/X11/xorg.conf to have (the Identifier line should not change, and you should have only an Identifier line and Driver line for the mouse): {{{
Section "InputDevice"
        Identifier "Configured Mouse"
        Driver "vmmouse"
EndSection
}}}

== How to set up guest resolution in Xorg ? ==

Linux guests with Xorg need to adjust the resolution for Xorg in /etc/X11/xorg.conf. Look for the Screen section, and make sure each of the 'Modes' lines has a reasonable resolution for your system (due to [[https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/193456|bug #193456]] the resolution in the guest's resolution needs to be smaller than the host). Eg: {{{
Section "Screen"
        ...
        SubSection "Display"
                Depth 16
                Modes "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth 24
                Modes "800x600" "640x480"
        EndSubSection
EndSection
}}}

<<Anchor(systemadjustments)>>
== What system specific adjustments are recommended? ==

=== Windows (<Vista) ===
Windows (other than Vista) virtual machines should substitute in the .xml file: {{{
<model type='vga' vram='9216' heads='1'/>
}}}

I driver del mouse, vmmouse, sono presenti nella maggior parte delle distribuzioni Linux.


= Impostazione della risoluzione dell'ospite in Xorg =

Nell'eventualità che si stia usando i driver standard, per variare la risoluzione è sufficiente editare il,file xorg.conf, oppure in modalità grafica tramite:

in Gnome Sistema → Preferenze→ Monitor

in XFCE Applicazioni → impostazioni → Display

= Impostazioni raccomandate per specifici sistemi =

== Windows (<Vista) ==

Nelle macchine virtuali Windows (diversi da Vista) sostituire nel file `.xml`: {{{
Linea 174: Linea 264:
}}} with: {{{ }}} con: {{{
Linea 178: Linea 268:
=== Windows Vista ===
Windows Vista virtual machines should add this to the xml file: {{{
== Windows Vista ==

Nelle macchine virtuali
Windows Vista aggiungere nel file `.xml`: {{{
Linea 188: Linea 279:
=== Debian Sarge ===
Debian Sarge (oldstable) may write /boot/grub/menu.lst incorrectly, resulting in the following on boot: {{{
== Debian Sarge ==

Debian Sarge (oldstable) potrebbe scrivere `/boot/grub/menu.lst` in modo sbagliato, con le seguenti conseguenze al boot: {{{
Linea 193: Linea 285:
}}} The fix is at the grub menu, press 'e' and adjust {{{root=/dev/hdb1}}} to be {{{root=/dev/hda1}}}. After a successful boot, you will need to update /boot/grub/menu.lst to have: {{{ }}}

È 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: {{{
Linea 195: Linea 289:
}}} and run: {{{ }}} ed eseguire: {{{
Linea 199: Linea 293:
=== OpenBSD 4.1 (and others?) ===
OpenBSD 4.1 (and probably others) when using the rtl8139 network driver may realize poor network performance and see this message on the console:{{{
== 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:{{{
Linea 202: Linea 297:
}}} The fix is to use another NIC (e1000 appears to work well). See 'Changing the Network Card Model' above.

=== OpenBSD 4.5 and later ===
A change in the OpenBSD kernel causes it to hang on boot at "setting tty flags". If this affects you, follow the instructions on http://scie.nti.st/2009/10/4/running-openbsd-4-5-in-kvm-on-ubuntu-linux-9-04

<<Include(KVM/Header)>>
}}}
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]]
Linea 209: Linea 308:
----
CategoryHomepage CategoryInTraduzione
CategoryVirtualizzazione








Problemi in questa pagina? Segnalali in questa discussione

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:

  1. Assicurarsi di avere spento tutte le macchine virtuali KVM (utilizzando ad esempio virt-manager).

  2. 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.

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:

  1. Installare il pacchetto: virt-goodies.

  2. 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:

  1. 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>
  2. vmware2libvirt rileva ed usa solamente la prima interfaccia ethernet trovata. ulteriori interfacce devono essere aggiunte tramite virt-manager.

  3. Attualmente utilizza il primo disco scsi se trovato, altrimenti il primo disco ide. Ulteriori dischi possono essere aggiunti tramite virt-manager.

  4. La macchina virtuale convertita è impostata all'uso di 1 sola CPU. Per modificare:

    <vcpu>2</vcpu>
  5. 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.

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 Conversione di macchine VMWare a virt-manager.

Utilizzo di strumenti Linux

Vedere il libro tedesco su qemu 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, si consiglia l'utilizzo dei driver standard.

Il file xorg.conf non viene installato in modo predefinito.

Quindi per poter usare i driver standard procedere come segue:

  • Aprire con un 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

Per modificare la risoluzione è possibile cambiare i valori all'interno della linea «Modes».

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.

Impostazione della risoluzione dell'ospite in Xorg

Nell'eventualità che si stia usando i driver standard, per variare la risoluzione è sufficiente editare il,file xorg.conf, oppure in modalità grafica tramite:

in Gnome Sistema → Preferenze→ Monitor

in XFCE Applicazioni → impostazioni → Display

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 questo indirizzo.

Ulteriori risorse


CategoryVirtualizzazione