Virtualizzazione · 4 min read · Jan 31, 2026

Virtualizzazione Con KVM Su Un Server CentOS 5.2

Virtualizzazione Con KVM Su Un Server CentOS 5.2

Versione 1.0
Autore: Falko Timme

Questa guida spiega come puoi installare e utilizzare KVM per creare ed eseguire macchine virtuali su un server CentOS 5.2. 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 sfrutta 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 CentOS 5.2 con il nome host server1.example.com e l’indirizzo IP 192.168.0.100 qui come mio host KVM.

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 un desktop Ubuntu 8.10 qui.

2 Installazione di KVM

Host KVM CentOS 5.2:

Esegui

system-config-securitylevel

e imposta SELinux su Permissivo (virt-install non funzionerà se imposti SELinux su Disabilitato).

Poi controlla se la tua CPU supporta la virtualizzazione hardware - se è così, il comando

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

dovrebbe visualizzare qualcosa, ad esempio come questo:

[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 pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
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 pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
[root@server1 ~]#

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

Ora importiamo le chiavi GPG per i pacchetti software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

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

yum install kvm kmod-kvm qemu libvirt python-virtinst

Poi riavvia il sistema:

reboot

Dopo il riavvio, il modulo del kernel KVM dovrebbe essere caricato:

lsmod | grep kvm
[root@server1 ~]# lsmod | grep kvm  
kvm_amd                50452  0  
kvm                    109264  1 kvm_amd  
[root@server1 ~]#

(Questo output proviene da un sistema con un processore AMD-V. Se il tuo sistema utilizza una CPU Intel VT, dovrebbe visualizzare qualcosa come kvm_intel.)

Per controllare se KVM è stato installato correttamente, esegui

virsh -c qemu:///system list

Dovrebbe visualizzare qualcosa come questo:

[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. Crea il file /etc/sysconfig/network-scripts/ifcfg-br0 (si prega di utilizzare i valori BOOTPROTO, BROADCAST, IPADDR, NETMASK e NETWORK dal file /etc/sysconfig/network-scripts/ifcfg-eth0):

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

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=192.168.0.255 IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes |

Modifica /etc/sysconfig/network-scripts/ifcfg-eth0 come segue (commenta BOOTPROTO, BROADCAST, IPADDR, NETMASK e NETWORK e aggiungi BRIDGE=br0):

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

| # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth0 #BOOTPROTO=static #BROADCAST=192.168.0.255 HWADDR=00:10:A7:05:AF:EB #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 #NETWORK=192.168.0.0 ONBOOT=yes BRIDGE=br0 |

Riavvia la rete…

/etc/init.d/network restart

… e esegui

ifconfig

Ora dovrebbe mostrare il bridge di rete ( br0):

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:1160 (1.1 KiB)  TX bytes:14875 (14.5 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:13662 errors:7 dropped:160 overruns:4 frame:0  
          TX packets:11646 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:15144608 (14.4 MiB)  TX bytes:1379942 (1.3 MiB)  
          Interrupt:74 Base address:0xcc00  
  
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:38 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:4308 (4.2 KiB)  TX bytes:4308 (4.2 KiB)  
  
virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:9987 (9.7 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

)

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.