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/GestioneDiretta"
Differenze tra le versioni 10 e 18 (in 8 versioni)
Versione 10 del 27/03/2010 09.29.26
Dimensione: 5312
Autore: FabioMarconi
Commento: Terminata traduzione....
Versione 18 del 19/04/2010 11.55.39
Dimensione: 6045
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
KVM/GestioneDiretta [[Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,371617.0.html")]]
[[BR]]
KVM/!GestioneDiretta


= Introduzione =

La documentazione trattata fino ad ora è focalizzata all'uso di '''KVM''' attraverso '''libvirt''', in questa pagina verrà spiegata la gestione diretta di '''KVM''', un metodo non raccomandabile, ma in alcuni casi, utile.
Linea 8: Linea 15:
Siccome il resto di questa documentazione è focalizzato sull'uso di KVM attraverso libvirt, ricordiamo che è possibile anche la gestione diretta di KVMW. Non è un metodo raccomandabile, ma in alcuni casi può tornare utile. '''KVM''' è molto simile a '''qemu''' e rende possibile l'esecuzione di macchine da riga di comando.
Linea 10: Linea 17:
KVM è molto simile a qemu e rende possibile l'esecuzione di macchine da riga di comando. La sintassi di base è:
{{{
La sintassi di base è:{{{
Linea 14: Linea 20:
 * -m = memoria (in MB)
 * -hda = primo disco rigido
  * Si possono usare vari tipi di file immagine inclusi .img, .cow
  * È possibile avviare un disco rigido. '''Prestare attenzione nell'uso di questa opzione se non si vuole avviare la partizione di root del host'''.
   * Sintassi -hda /dev/sda
   * Questo richiama il menu di grub dal MBR quando viene lanciato KVM.
 * -cdrom può essere sia un'immagine iso che un lettore CD/DVD.
 * -boot [a|c|d|n] avvio da floppy (a), disco rigido (c), CD-ROM (d), oppure rete (n)
 * -smp = numbero delle CPU
 * -alt-grab cambia la combinazione per il grab del puntatore da Ctrl+Alt a Ctrl+Alt+Shift (molto pratico se si usano spesso combinazioni di tasti come Ctrl-Alt-Del o Windows-E)
Linea 25: Linea 21:
Per ulteriori opzioni o aiuto digitare: dove:
Linea 27: Linea 23:
{{{  * '''-m''': è la memoria (in MB)
 * '''-hda''': è il primo disco rigido. È possibile usare vari tipi di file immagine inclusi `.img`, `.cow`. Per avviare un disco rigido è necessario prestare attenzione nell'uso di questa opzione, se non si vuole avviare la partizione di root del host. La sintassi corretta è '''-hda /dev/sda'''. Questa richiama il menu di grub dal MBR quando viene lanciato '''KVM'''.
 * '''-cdrom''' può essere sia un'immagine ISO che un lettore CD/DVD.
 * '''-boot a, c, d''' o '''n''':
  * '''a''': avvio da floppy,
  * '''c''': avvio da disco rigido,
  * '''d''': avvio da CD-ROM,
  * '''n''': avvio da da rete.
 * '''-smp''': è il numero delle CPU.
 * '''-alt-grab''' cambia la combinazione per il grab del puntatore da '''Ctrl-Alt''' a '''Ctrl-Alt-Shift''' (molto pratico se si usano spesso combinazioni di tasti come '''Ctrl-Alt-Del''' o '''Windows-E''').

Per ulteriori opzioni digitare:{{{
Linea 31: Linea 38:
Linea 34: Linea 40:
Prima di avviare KVM usando sistemi di connessione bridged come utente, sono necessarie alcune configurazioni. Prima di avviare '''KVM''' usando sistemi di connessione bridged come utente, sono necessarie alcune configurazioni.
Linea 36: Linea 42:
1. Creare il bridge sulla scheda, come descritto [[KVM/Networking#Creating a network bridge on the host QUI]]*****ancorare
2. Installare uml-utilities
 0. Creare il bridge sulla scheda, come descritto nella [http://wiki.ubuntu-it.org/FabioMarconi/Prove8#head-a634bdf356cef98f30c2e98c1e559f0b3cdbf637 relativa pagina ].
Linea 39: Linea 44:
 {{{
 sudo apt-get install uml-utilities
 }}}
 0. [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto: [apt://uml-utilities uml-utilities]
Linea 43: Linea 46:
3. Impostare i permessi al dispositivo tun, tramite qualsiasi editor di testo, modificare ''/etc/udev/rules.d/40-permissions.rules'', aggiungendo queste linee alla fine del file:

 
{{{
 0. Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file `/etc/udev/rules.d/40-permissions.rules` e aggiugere alla fine del file la seguente linea:{{{
Linea 48: Linea 49:
 per impostare i permessi al dispositivo '''tun'''.
Linea 49: Linea 51:
4. Riavviare (per rendere visibili i dispositivi bridged e tun).  0. Salvare e chiudere il file appena modificato.
Linea 51: Linea 53:
5. Editare ''/etc/kvm/kvm-ifup'' aggiungendo sudo davanti ai comandi ifconfig e brctl:  0. Riavviare la macchina per rendere visibili i dispositivi '''bridged''' e '''tun'''.
Linea 53: Linea 55:
 {{{  0. Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file `/etc/kvm/kvm-ifup` e aggiungere «sudo» davanti ai comandi «ifconfig» e «brctl»:{{{
Linea 61: Linea 63:
 0. Salvare e chiudere il file appena modificato.
Linea 62: Linea 65:
6. Per lanciare KVM è necessario uno script wrapper. È possibile inserirlo in  ~/bin e chiamarlo '''kvm-bridge''', e richiamarlo direttamene con il comando  '''kvm-bridge'''.

 
{{{
 0. Per lanciare '''KVM''' è necessario uno script wrapper. È possibile inserirlo in `~/bin` e chiamarlo '''kvm-bridge''' e richiamarlo direttamene con il comando '''kvm-bridge'''.{{{
Linea 72: Linea 73:
 # http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon.  # http://howtoforge.com/virtualization-with-kvm-on-ubuntu-9.10.
Linea 87: Linea 88:
 # http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon.  # http://howtoforge.com/virtualization-with-kvm-on-ubuntu-9.10.
Linea 101: Linea 102:
7. Rendere eseguibile lo script appena creato:  0. Rendere eseguibile lo script appena creato digitando in un terminale:{{{
 chmod 0755 ~/bin/kvm-bridge
}}}
Linea 103: Linea 106:
 {{{
 chmod 0755 ~/bin/kvm-bridge
 }}}
 0. Modificare '''sudoers''' per consentire ai membri del gruppo '''KVM''' di eseguire lo script '''wrapper kvm-bridge''' e creare una intefaccia di rete bridged senza l'esecuzione di '''KVM''' come superutente:{{{
 visudo
}}}
Linea 107: Linea 110:
8. Modificare sudoers per consentire ai membri del gruppo kvm di eseguire lo script wrapper kvm-bridge e creare una intefaccia di rete bridged senza l'esecuzione di KVM come superutente.

 {{{
 visudo
 }}}

Aggiungere queste linee alla fine del file:
 Aggiungere queste linee alla fine del file:
Linea 117: Linea 114:
 }}} }}}
Linea 119: Linea 116:
9. Avviare KVM da riga di comando. '''Non è necessario dichiarare una interfaccia network'''.

 
{{{
 0. Avviare '''KVM''' da riga di comando. Non è necessario dichiarare una interfaccia network.{{{
Linea 123: Linea 118:
 }}} }}}
Linea 128: Linea 123:
Aggiungere le seguenti regole ad iptables:

{{{
Aggiungere le seguenti regole ad iptables:{{{
Linea 137: Linea 130:
Sostituire "$IPADDR_FROM_GUEST_OS" con l'attuale indirizzo ip dell'ospite di kvm. (Si raccomanda di configurare gli ospiti all'uso di un indirizzo IP statico). Sostituire «$IPADDR_FROM_GUEST_OS» con l'attuale indirizzo ip dell'ospite di '''kvm'''. (Si raccomanda di configurare gli ospiti all'uso di un indirizzo IP statico).
Linea 139: Linea 132:
Se si usa ufw, aggiungere queste regole a ''/etc/ufw/before.rules'' Se si usa '''ufw''', aggiungere queste regole al file `/etc/ufw/before.rules`, vedere [http://help.ubuntu-it.org/9.10/ubuntu/serverguide/it/firewall.html Ubuntu Sicurezza Firewall]
Linea 141: Linea 134:
 * Vedere [https://help.ubuntu.com/8.04/serverguide/C/firewall.html Ubuntu Server Guide Firewall] = Ulteriori risorse =
Linea 143: Linea 136:
 *[https://help.ubuntu.com/community/KVM/Directly Documento originale]
Linea 145: Linea 139:
----

Indice(depth=2) Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,371617.0.html") BR KVM/!GestioneDiretta

Introduzione

La documentazione trattata fino ad ora è focalizzata all'uso di KVM attraverso libvirt, in questa pagina verrà spiegata la gestione diretta di KVM, un metodo non raccomandabile, ma in alcuni casi, utile.

Gestione diretta di KVM

KVM è molto simile a qemu e rende possibile l'esecuzione di macchine da riga di comando.

La sintassi di base è:

kvm -m 512 -hda disk.img -cdrom ubuntu.iso -boot d -smp 2

dove:

  • -m: è la memoria (in MB)

  • -hda: è il primo disco rigido. È possibile usare vari tipi di file immagine inclusi .img, .cow. Per avviare un disco rigido è necessario prestare attenzione nell'uso di questa opzione, se non si vuole avviare la partizione di root del host. La sintassi corretta è -hda /dev/sda. Questa richiama il menu di grub dal MBR quando viene lanciato KVM.

  • -cdrom può essere sia un'immagine ISO che un lettore CD/DVD.

  • -boot a, c, d o n:

    • a: avvio da floppy,

    • c: avvio da disco rigido,

    • d: avvio da CD-ROM,

    • n: avvio da da rete.

  • -smp: è il numero delle CPU.

  • -alt-grab cambia la combinazione per il grab del puntatore da Ctrl-Alt a Ctrl-Alt-Shift (molto pratico se si usano spesso combinazioni di tasti come Ctrl-Alt-Del o Windows-E).

Per ulteriori opzioni digitare:

kvm --help

Dispositivi di connessione bridged

Prima di avviare KVM usando sistemi di connessione bridged come utente, sono necessarie alcune configurazioni.

  1. Creare il bridge sulla scheda, come descritto nella [http://wiki.ubuntu-it.org/FabioMarconi/Prove8#head-a634bdf356cef98f30c2e98c1e559f0b3cdbf637 relativa pagina ].

  2. [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto: [apt://uml-utilities uml-utilities]

  3. Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file /etc/udev/rules.d/40-permissions.rules e aggiugere alla fine del file la seguente linea:

     KERNEL=="tun", GROUP="kvm", MODE="0660"

    per impostare i permessi al dispositivo tun.

  4. Salvare e chiudere il file appena modificato.
  5. Riavviare la macchina per rendere visibili i dispositivi bridged e tun.

  6. Aprire con un [:Ufficio/EditorDiTesto:editor di testo] il file /etc/kvm/kvm-ifup e aggiungere «sudo» davanti ai comandi «ifconfig» e «brctl»:

     #!/bin/sh
    
     switch=$(ip route ls | awk '/^default / { for(i=0;i<NF;i++) { if ($(i) == "dev") print $(i+1) }}')
     '''sudo''' /sbin/ifconfig $1 0.0.0.0 up
     '''sudo''' /usr/sbin/brctl addif ${switch} $1
     exit 0
  7. Salvare e chiudere il file appena modificato.
  8. Per lanciare KVM è necessario uno script wrapper. È possibile inserirlo in ~/bin e chiamarlo kvm-bridge e richiamarlo direttamene con il comando kvm-bridge.

     #!/usr/bin/env bash.
     # script per gestire l'allocazione dell'interfaccia tap.
     # per kernels >= 2.6.18.
    
     # modificato da bodhi.zazen con l'ausilio di:
     # http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/FrequentlyAskedQuestions#head-2511814cb92c14dbe1480089c04f83c281117a86.
     # http://ubuntuforums.org/showthread.php?t=528046.
     # http://howtoforge.com/virtualization-with-kvm-on-ubuntu-9.10.
    
     # impostazione di una interfaccia tap per qemu.
     # USERID - uid sotto il quale è in esecuzione qemu.
     USERID=`whoami`
    
     # generare un indirizzo macchina casuale peril nic di qemu .
     # shell script preso in prestito dall'utente pheldens @ qemu forum.
    
     ranmac=$(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ; \
     do echo -n `echo ":$RANDOM$RANDOM" | cut -n -c -3` ;done)
    
     # specificare quale NIC usare - vedere qemu.org per altri NIC.
     # model=r8169.
     # impostare il modello di scheda di rete.
     # http://howtoforge.com/virtualization-with-kvm-on-ubuntu-9.10.
    
     model=rtl8139
     iface=`sudo tunctl -b -u $USERID`
    
     # avviare kvm con questi parametri.
     # echo "rendere visibile l'interfaccia $iface con indirizzo macchina $ranmac".
     # nohup aggiunto per consentire a kvm di essere indipendente dal terminale.
     nohup kvm -net nic,vlan=0,macaddr=$ranmac -net tap,vlan=0,ifname=$iface $@
    
     # kvm è stato fermato - non usare più l'interfaccia tap.
     sudo tunctl -d $iface &> /dev/null
  9. Rendere eseguibile lo script appena creato digitando in un terminale:

     chmod 0755 ~/bin/kvm-bridge
  10. Modificare sudoers per consentire ai membri del gruppo KVM di eseguire lo script wrapper kvm-bridge e creare una intefaccia di rete bridged senza l'esecuzione di KVM come superutente:

     visudo
    Aggiungere queste linee alla fine del file:
     # Autorizzare i membri del gruppo KVM a configurare una interfaccia di rete bridged virtuale.
     %kvm ALL=(ALL) NOPASSWD: /sbin/ifconfig, /usr/sbin/brctl, /usr/sbin/tunctl
  11. Avviare KVM da riga di comando. Non è necessario dichiarare una interfaccia network.

     kvm-bridge -m 512 -hda disk.img -cdrom ubuntu.iso -boot -d -smp 2

iptables

Aggiungere le seguenti regole ad iptables:

# autorizza i pacchetti in ingresso per l'ospite kvm.
IPTABLES -A FORWARD -d $IPADDR_FROM_GUEST_OS -j ACCEPT
# autorizza i pacchetti in uscita da kvm.
IPTABLES -A FORWARD -s $IPADDR_FROM_GUEST_OS -j ACCEPT

Sostituire «$IPADDR_FROM_GUEST_OS» con l'attuale indirizzo ip dell'ospite di kvm. (Si raccomanda di configurare gli ospiti all'uso di un indirizzo IP statico).

Se si usa ufw, aggiungere queste regole al file /etc/ufw/before.rules, vedere [http://help.ubuntu-it.org/9.10/ubuntu/serverguide/it/firewall.html Ubuntu Sicurezza Firewall]

Ulteriori risorse


CategoryHomepage CategoryInTraduzione