Virtualizzazione · 5 min read · Feb 01, 2026

Virtualizzazione Con KVM Su Un Server Fedora 10

Virtualizzazione Con KVM Su Un Server Fedora 10

Versione 1.0
Autore: Falko Timme

Questa guida spiega come puoi installare e utilizzare KVM per creare ed eseguire macchine virtuali su un server Fedora 10. Ti mostrerò come creare macchine virtuali basate su immagini e anche macchine virtuali che utilizzano un volume logico (LVM). KVM è l’abbreviazione di Kernel-based Virtual Machine e utilizza la virtualizzazione hardware, cioè hai bisogno di una CPU che supporti la virtualizzazione hardware, ad esempio Intel VT o AMD-V.

Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

Sto usando un server Fedora 10 con il nome host server1.example.com e l’indirizzo IP 192.168.0.100 qui come mio host KVM.

Prima di iniziare, assicurati che SELinux sia disabilitato. Apri /etc/selinux/config…

vi /etc/selinux/config

… e imposta SELINUX su disabilitato:

| # Questo file controlla lo stato di SELinux sul sistema. # SELINUX= può assumere uno di questi tre valori: # enforcing - La politica di sicurezza SELinux è applicata. # permissive - SELinux stampa avvisi invece di applicare. # disabled - Nessuna politica SELinux è caricata. SELINUX=disabled # SELINUXTYPE= può assumere uno di questi due valori: # targeted - I processi mirati sono protetti, # mls - Protezione Multi Level Security. SELINUXTYPE=targeted |

Esegui

setenforce 0

… affinché la modifica abbia effetto.

Abbiamo anche bisogno di un sistema desktop dove installiamo virt-manager in modo da poterci connettere alla console grafica delle macchine virtuali che installiamo. Sto usando qui un desktop Ubuntu 8.10.

2 Installazione di KVM

Host KVM Fedora 10:

Prima controlla se la tua CPU supporta la virtualizzazione hardware - se questo è il caso, il comando

egrep '(vmx|svm)' --color=always /proc/cpuinfo

dovrebbe visualizzare qualcosa, ad esempio così:

[root@server1 ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
[root@server1 ~]#

Se non viene visualizzato nulla, allora il tuo processore non supporta la virtualizzazione hardware e devi fermarti qui.

Per installare KVM e virtinst (uno strumento per creare macchine virtuali), eseguiamo

yum install kvm qemu libvirt python-virtinst

Poi avvia il demone libvirt:

/etc/init.d/libvirtd start

Per controllare se KVM è stato installato correttamente, esegui

virsh -c qemu:///system list

Dovrebbe visualizzare qualcosa di simile:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

Se visualizza un errore, allora qualcosa è andato storto.

Successivamente dobbiamo configurare un bridge di rete sul nostro server in modo che le nostre macchine virtuali possano essere accessibili da altri host come se fossero sistemi fisici nella rete.

Per fare ciò, installiamo il pacchetto bridge-utils…

yum install bridge-utils

… e configuriamo un bridge. Elimina i collegamenti di avvio del sistema per NetworkManager e crea collegamenti di avvio del sistema per la rete:

chkconfig --del NetworkManager  
chkconfig --levels 235 network on

Poi crea il file /etc/sysconfig/network-scripts/ifcfg-br0 (si prega di utilizzare i valori BOOTPROTO, DNS1 (più eventuali altre impostazioni DNS, se presenti), GATEWAY, IPADDR, NETMASK e SEARCH dal file /etc/sysconfig/network-scripts/ifcfg-eth0):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |

Modifica /etc/sysconfig/network-scripts/ifcfg-eth0 come segue (commenta BOOTPROTO, DNS1 (e tutti gli altri server DNS, se presenti), GATEWAY, IPADDR, NETMASK e SEARCH e aggiungi BRIDGE=br0):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

| # nVidia Corporation Unknown (0x0760) DEVICE=eth0 #BOOTPROTO=static #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes #SEARCH="example.com" BRIDGE=br0 |

Poi riavvia il sistema:

reboot

Dopo il riavvio, esegui

ifconfig

Ora dovrebbe mostrare il bridge di rete (br0):

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:49 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:6477 (6.3 KiB)  TX bytes:10368 (10.1 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:9912 (9.6 KiB)  TX bytes:8038 (7.8 KiB)  
          Interrupt:22 Base address:0xa000  
  
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)  
  
virbr0    Link encap:Ethernet  HWaddr 62:6D:75:53:9C:AD  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::606d:75ff:fe53:9cad/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:5277 (5.1 KiB)  
  
[root@server1 ~]#

3 Installazione di virt-viewer O virt-manager Sul Tuo Desktop Ubuntu 8.10

Desktop Ubuntu 8.10:

Abbiamo bisogno di un mezzo per connetterci alla console grafica dei nostri ospiti - possiamo usare virt-manager (vedi Gestione Ospiti KVM Con Virt-Manager Su Ubuntu 8.10) per questo. Presumo che tu stia usando un desktop Ubuntu 8.10.

Esegui

sudo aptitude install virt-manager

per installare virt-manager.

(Se stai usando un desktop Fedora 10, puoi installare virt-manager come segue:

Diventa root…

su

… e esegui

yum install virt-manager

)

4 Creazione Di Un Ospite Debian Lenny (Basato Su Immagine)

Host KVM Fedora 10:

Ora torniamo al nostro host KVM Fedora 10.

Dai un’occhiata a

man virt-install

per imparare come usarlo.

Per creare un ospite Debian Lenny (in modalità bridging) con il nome vm10, 512MB di RAM, due CPU virtuali e l’immagine disco ~/vm10.qcow2 (con una dimensione di 12GB), inserisci il CD di installazione Netinstall di Debian Lenny nell’unità CD e esegui

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm

Naturalmente, puoi anche creare un’immagine ISO del CD di installazione Netinstall di Debian Lenny…

dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso

… e utilizzare l’immagine ISO nel comando virt-install:

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm

L’output è il seguente:

[root@server1 ~]# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm  


Inizio installazione...  
Creazione file di archiviazione...                                                 |  12 GB     00:00  
Creazione dominio...                                                                 |    0 B     00:00  
Installazione del dominio ancora in corso. Puoi riconnetterti alla  
console per completare il processo di installazione.  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.