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/cpuinfodovrebbe 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-virtinstPoi avvia il demone libvirt:
/etc/init.d/libvirtd startPer controllare se KVM è stato installato correttamente, esegui
virsh -c qemu:///system listDovrebbe 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 onPoi 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:
rebootDopo il riavvio, esegui
ifconfigOra 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-managerper 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-installper 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 --hvmNaturalmente, 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 --hvmL’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 ~]#Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.