5007
Commento: Iniziata traduzione
|
5559
Inizio....
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#title Using KVM Directly | #format wiki #language it [[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. |
Linea 4: | Linea 14: |
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. |
|
Linea 14: | Linea 22: |
* È possibile avviare un disco rigido. '''Prestare attenzione nell'uso di questa opzione se non si vuole avviare la partizione di root del host''' | * È possibile avviare un disco rigido. '''Prestare attenzione nell'uso di questa opzione se non si vuole avviare la partizione di root del host'''. |
Linea 20: | Linea 28: |
* -alt-grab change Ctrl-Alt mouse grab combination for Ctrl-Alt-Shift (very practical if you often use some control key combinations like Ctrl-Alt-Del or Windows-E) | * -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 22: | Linea 30: |
There are a number of additional options and additional help is available with : | Per ulteriori opzioni o aiuto digitare: |
Linea 29: | Linea 37: |
== Bridged Networking == | == Dispositivi di connessione bridged == |
Linea 31: | Linea 39: |
In order to run KVM using bridged networking as a user we need to perform some configuration. | Prima di avviare KVM usando sistemi di connessione bridged come utente, sono necessarie alcune configurazioni. |
Linea 33: | Linea 41: |
1. First bridge your network card as above [[KVM/Networking#Creating a network bridge on the host]] | 1. Creare il bridge sulla scheda, come descritto [[KVM/Networking#Creazione di un bridge di rete sul host QUI]]*****ancorare |
Linea 35: | Linea 43: |
2. Install uml-utilities | 2. Installare uml-utilities |
Linea 41: | Linea 49: |
3. Set permissions on your tun device. Using any editor, edit ''/etc/udev/rules.d/40-permissions.rules'', add this line at the bottom of the file : | 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: |
Linea 47: | Linea 55: |
4. Reboot (to bring up your bridge and tun device). | 4. Riavviare (per rendere visibili i dispositivi bridged e tun). |
Linea 49: | Linea 57: |
5. Edit ''/etc/kvm/kvm-ifup'' adding sudo in front of the ifconfig and brctl commands | 5. Editare ''/etc/kvm/kvm-ifup'' aggiungendo sudo davanti ai comandi ifconfig e brctl: |
Linea 60: | Linea 68: |
6. We need a wrapper script for launching kvm. I put this script in ~/bin and call it '''kvm-bridge'''. If ~/bin is on your path you can call the command directly with '''kvm-bridge'''. This script was modified from a number of sources | 6. Per lanciare KVM è necessario uno script wrapper. È possibile inserirlo in ~/bin e chiamarlo '''kvm-bridge''', e richiamarlo direttamene con il comando '''kvm-bridge'''. |
Linea 63: | Linea 71: |
#!/usr/bin/env bash # script to manage tap interface allocation # for linux kernels >= 2.6.18 |
#!/usr/bin/env bash. # script per gestire l'allocazione dell'interfaccia tap. # per kernels >= 2.6.18. |
Linea 67: | Linea 75: |
# modified by bodhi.zazen from : # http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/FrequentlyAskedQuestions#head-2511814cb92c14dbe1480089c04f83c281117a86 # http://ubuntuforums.org/showthread.php?t=528046 # http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon |
# 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. |
Linea 72: | Linea 80: |
# set up a tap interface for qemu # USERID - uid qemu is being run under. |
# impostazione di una interfaccia tap per qemu. # USERID - uid sotto il quale è in esecuzione qemu. |
Linea 76: | Linea 84: |
# generate a random mac address for the qemu nic # shell script borrowed from user pheldens @ qemu forum |
# generare un indirizzo macchina casuale peril nic di qemu . # shell script preso in prestito dall'utente pheldens @ qemu forum. |
Linea 82: | Linea 90: |
# specify which NIC to use - see qemu.org for others # model=r8169 # Set model based on this how-to # http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon |
# 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. |
Linea 90: | Linea 98: |
# start kvm with our parameters # echo "Bringing up interface $iface with mac address $ranmac" # nohup added to allow kvm to run independent of the terminal |
# 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. |
Linea 95: | Linea 103: |
# kvm has stopped - no longer using tap interface | # kvm è stato fermato - non usare più l'interfaccia tap. |
Linea 99: | Linea 107: |
7. Set the executable bit on the new script you just created: | 7. Rendere eseguibile lo script appena creato: |
Linea 105: | Linea 113: |
8. Modify sudoers to allow members of the kvm group to run the wrapper kvm-bridge and create a bridged network interface without running KVM as root. | 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. |
Linea 111: | Linea 119: |
Add these line at the end of the file : | Aggiungere queste linee alla fine del file: |
Linea 113: | Linea 121: |
# Allow members of the kvm group to configure a bridged virtual network interface | # Autorizzare i membri del gruppo KVM a configurare una interfaccia di rete bridged virtuale. |
Linea 117: | Linea 125: |
9. Now start kvm from the command line. '''You do not need to declare a network interface''' | 9. Avviare KVM da riga di comando. '''Non è necessario dichiarare una interfaccia network'''. |
Linea 126: | Linea 134: |
Add these rules to iptables : | Aggiungere le seguenti regole ad iptables: |
Linea 129: | Linea 137: |
# allow incoming packets for kvm guest | # autorizza i pacchetti in ingresso per l'ospite kvm. |
Linea 131: | Linea 139: |
# allow outgoing packets from kvm | # autorizza i pacchetti in uscita da kvm. |
Linea 135: | Linea 143: |
Change "$IPADDR_FROM_GUEST_OS" to the actual ip address of the kvm guest (I advise you configure your guests to have a static IP address). | 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 137: | Linea 145: |
If you use ufw, add these rules to ''/etc/ufw/before.rules'' | Se si usa ufw, aggiungere queste regole a ''/etc/ufw/before.rules'' |
Linea 139: | Linea 147: |
* See [[https://help.ubuntu.com/8.04/serverguide/C/firewall.html | Ubuntu Server Guide Firewall]] | * Vedere [http://help.ubuntu-it.org/9.10/ubuntu/serverguide/it/firewall.html Ubuntu Sicurezza Firewall] |
Linea 141: | Linea 149: |
---- |
= Ulteriori risorse = *[https://help.ubuntu.com/community/KVM/Directly Documento originale] ##traduzionepagina del 10.02.2009 |
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
- -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)
Per ulteriori opzioni o aiuto 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 KVM/Networking#Creazione di un bridge di rete sul host QUI*****ancorare
2. Installare uml-utilities
sudo apt-get install uml-utilities
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:
KERNEL=="tun", GROUP="kvm", MODE="0660"
4. Riavviare (per rendere visibili i dispositivi bridged e tun).
5. Editare /etc/kvm/kvm-ifup aggiungendo 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
6. 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
7. Rendere eseguibile lo script appena creato:
chmod 0755 ~/bin/kvm-bridge
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:
# 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
9. 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 a /etc/ufw/before.rules
Vedere [http://help.ubuntu-it.org/9.10/ubuntu/serverguide/it/firewall.html Ubuntu Sicurezza Firewall]
Ulteriori risorse
[https://help.ubuntu.com/community/KVM/Directly Documento originale]