Virtualizzazione · 7 min read · Jan 31, 2026
Virtualizzazione KVM con Enomalism 2 su un server Fedora 10
Virtualizzazione KVM con Enomalism 2 su un server Fedora 10
Versione 1.0
Autore: Falko Timme
Enomalism ECP (Elastic Computing Platform) fornisce un pannello di controllo basato sul web che ti consente di progettare, distribuire e gestire macchine virtuali su uno o più sistemi host (nel caso di più sistemi, parliamo di un cluster o cloud). Questo articolo mostra come puoi utilizzare Enomalism (noto anche come Enomaly) per gestire ospiti KVM su un server Fedora 10.
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. Il server si trova in una rete privata con un server DHCP (sul router, IP 192.168.0.1). L’uso di Enomalism potrebbe essere diverso se lo utilizzi in una rete pubblica.
Prima di iniziare, esegui
system-config-firewalle disabilita il firewall.
Inoltre, 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… per far sì che la modifica abbia effetto.
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 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 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.
2 Installazione di Enomalism 2
Prima fai questo:
wget http://downloads.sourceforge.net/enomalism/enomalism.public
rpm --import enomalism.publicwget http://downloads.sourceforge.net/enomalism/enomalism001.pubkey.asc
rpm --import enomalism001.pubkey.ascPer installare KVM e Qemu, eseguiamo
yum install libvirt libvirt-python kvm qemuln -s /usr/bin/qemu-kvm /usr/bin/kvmPoi 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 a 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. 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-virbr0 (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-virbr0| DEVICE=virbr0 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=virbr0):
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=virbr0 |
Poi riavvia il sistema:
rebootDopo il riavvio, esegui
ifconfigOra dovrebbe mostrare il bridge di rete (virbr0):
[root@server1 ~]# ifconfig
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:1611 errors:0 dropped:0 overruns:0 frame:0
TX packets:1986 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:133898 (130.7 KiB) TX bytes:2092110 (1.9 MiB)
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:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1040 (1.0 KiB) TX bytes:1040 (1.0 KiB)
virbr0 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:1533 errors:0 dropped:0 overruns:0 frame:0
TX packets:1936 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:95507 (93.2 KiB) TX bytes:2076556 (1.9 MiB)
[root@server1 ~]#Inoltre, il modulo del kernel KVM dovrebbe ora essere caricato:
lsmod | grep -i kvm[root@server1 ~]# lsmod | grep -i kvm
kvm_amd 37644 2
kvm 137976 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.)
Ora scarichiamo l’ultimo pacchetto Enomalism.rpm da http://sourceforge.net/project/showfiles.php?group_id=164855&package_id=186866&release_id=667675, ad esempio come segue (si prega di assicurarsi di prendere il pacchetto PY2.5, non PY2.4!):
wget http://dfn.dl.sourceforge.net/sourceforge/enomalism/enomalism2-2.2.3.noarch.PY2.5.rpmDopo che il download è terminato, installiamo Enomalism come segue:
yum install enomalism2-2.2.3.noarch.PY2.5.rpmPoi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startEsegui
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordper impostare una password per l’utente root (altrimenti chiunque può accedere al tuo database MySQL!).
Se l’ultimo comando restituisce un errore…
[root@server1 named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword
mysqladmin: connect to server at 'server1.example.com' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@server1 named]#… possiamo impostare la password come segue: connettiti a MySQL:
mysql -u root -pDigita la password per l’utente root di MySQL. Poi, nella shell di MySQL, fai questo:
mysql> USE mysql;mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';Esegui
mysql> SELECT * FROM user;per assicurarti che tutte le righe in cui l’utente è root abbiano una password.
Se tutto sembra a posto, esegui
mysql> FLUSH PRIVILEGES;… e lascia la shell di MySQL:
mysql> quit;Ora dobbiamo configurare Enomalism. Esegui
cd /opt/enomalism2
scripts/init-db.sh yourrootsqlpassword enomalism enomalismpasswordSostituisci yourrootsqlpassword con la tua password root di MySQL. enomalism è il nome dell’utente del database che Enomalism utilizzerà per connettersi al database MySQL, e enomalismpassword è la password del database per l’utente enomalism. Sostituisci entrambi con un nome utente/password a tua scelta.
Nella directory /opt/enomalism2, dovrebbe esserci un file chiamato server1.example.com.cfg. Copiamo quel file nella directory /opt/enomalism2/config:
cp server1.example.com.cfg config/server1.example.com.cfgEsegui
uuidgene annota l’ID che il comando genera (ne abbiamo bisogno nel passaggio successivo in cui modifichiamo /opt/enomalism2/config/server1.example.com.cfg):
[root@server1 enomalism2]# uuidgen
2d54480f-66c6-4c15-aafc-7242208456e0
[root@server1 enomalism2]#Ora modifichiamo /opt/enomalism2/config/server1.example.com.cfg:
vi config/server1.example.com.cfgSi prega di regolare i seguenti quattro valori:
| [...] sqlobject.dburi="mysql://enomalism:enomalismpassword@localhost:3306/enomalism2" [...] enomalism2.baseurl="http://192.168.0.100:8080/rest/" [...] enomalism2.ip_addr="192.168.0.100" [...] enomalism2.self="2d54480f-66c6-4c15-aafc-7242208456e0" [...] |
Assicurati di utilizzare l’utente e la password del database corretti per il database MySQL e l’indirizzo IP corretto per le due impostazioni successive. Nella riga enomalism2.self, dovresti utilizzare l’ID generato da uuidgen.
Troverai anche le impostazioni enomalism2.drivestorage=’file’ e enomalism2.storagetarget=’file:///xen/‘ in quel file. Attualmente, Enomalism non supporta LVM, quindi non dovresti modificare queste impostazioni!
Successivamente modifica /etc/libvirt/qemu.conf…
vi /etc/libvirt/qemu.conf… e decommenta la riga vnc_listen = “0.0.0.0”:
| [...] vnc_listen = "0.0.0.0" [...] |
(Altrimenti non sarai in grado di connetterti agli ospiti KVM tramite VNC da una macchina remota!)
Riavvia libvirtd dopo:
/etc/init.d/libvirtd restartOra creiamo i collegamenti di avvio del sistema per Enomalism e lo avviamo:
chkconfig --levels 235 enomalism2.sh on
/etc/init.d/enomalism2.sh startOra apri un browser e vai a http://192.168.0.100:8080. Questo dovrebbe completare l’installazione di Enomalism:

Clicca sul link Clicca qui per utilizzare Enomalism2!

Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.