Virtualisation · 7 min read · Jan 31, 2026
Virtualisation KVM avec Enomalism 2 sur un serveur Fedora 10
Virtualisation KVM avec Enomalism 2 sur un serveur Fedora 10
Version 1.0
Auteur : Falko Timme
Enomalism ECP (Elastic Computing Platform) fournit un panneau de contrôle basé sur le web qui vous permet de concevoir, déployer et gérer des machines virtuelles sur un ou plusieurs systèmes hôtes (dans le cas de plusieurs systèmes, nous parlons d’un cluster ou d’un cloud). Cet article montre comment vous pouvez utiliser Enomalism (également connu sous le nom d’Enomaly) pour gérer des invités KVM sur un serveur Fedora 10.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
J’utilise ici un serveur Fedora 10 avec le nom d’hôte server1.example.com et l’adresse IP 192.168.0.100 comme mon hôte KVM. Le serveur est situé dans un réseau privé avec un serveur DHCP (sur le routeur, IP 192.168.0.1). L’utilisation d’Enomalism peut être différente si vous l’utilisez dans un réseau public.
Avant de commencer, exécutez
system-config-firewallet désactivez le pare-feu.
Assurez-vous également que SELinux est désactivé. Ouvrez /etc/selinux/config…
vi /etc/selinux/config… et définissez SELINUX sur disabled :
| # Ce fichier contrôle l'état de SELinux sur le système. # SELINUX= peut prendre l'une de ces trois valeurs : # enforcing - La politique de sécurité SELinux est appliquée. # permissive - SELinux imprime des avertissements au lieu d'appliquer. # disabled - Aucune politique SELinux n'est chargée. SELINUX=disabled # SELINUXTYPE= peut prendre l'une de ces deux valeurs : # targeted - Les processus ciblés sont protégés, # mls - Protection Multi Level Security. SELINUXTYPE=targeted |
Exécutez
setenforce 0… pour que le changement prenne effet.
Veuillez vérifier si votre CPU prend en charge la virtualisation matérielle - si c’est le cas, la commande
egrep '(vmx|svm)' --color=always /proc/cpuinfodevrait afficher quelque chose, par exemple comme ceci :
[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 ~]#Si rien n’est affiché, alors votre processeur ne prend pas en charge la virtualisation matérielle, et vous devez vous arrêter ici.
2 Installation d’Enomalism 2
D’abord faites ceci :
wget http://downloads.sourceforge.net/enomalism/enomalism.public
rpm --import enomalism.publicwget http://downloads.sourceforge.net/enomalism/enomalism001.pubkey.asc
rpm --import enomalism001.pubkey.ascPour installer KVM et Qemu, nous exécutons
yum install libvirt libvirt-python kvm qemuln -s /usr/bin/qemu-kvm /usr/bin/kvmEnsuite, démarrez le démon libvirt :
/etc/init.d/libvirtd startPour vérifier si KVM a été installé avec succès, exécutez
virsh -c qemu:///system listCela devrait afficher quelque chose comme ceci :
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
----------------------------------
[root@server1 ~]#Si cela affiche une erreur à la place, alors quelque chose a mal tourné.
Ensuite, nous devons configurer un pont réseau sur notre serveur afin que nos machines virtuelles puissent être accessibles depuis d’autres hôtes comme si elles étaient des systèmes physiques dans le réseau.
Pour ce faire, nous installons le paquet bridge-utils…
yum install bridge-utils… et configurons un pont. Supprimez les liens de démarrage système pour NetworkManager et créez des liens de démarrage système pour le réseau :
chkconfig --del NetworkManager
chkconfig --levels 235 network onEnsuite, créez le fichier /etc/sysconfig/network-scripts/ifcfg-virbr0 (veuillez utiliser les valeurs BOOTPROTO, DNS1 (plus tous les autres paramètres DNS, le cas échéant), GATEWAY, IPADDR, NETMASK et SEARCH du fichier /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" |
Modifiez /etc/sysconfig/network-scripts/ifcfg-eth0 comme suit (commentez BOOTPROTO, DNS1 (et tous les autres serveurs DNS, le cas échéant), GATEWAY, IPADDR, NETMASK et SEARCH et ajoutez BRIDGE=virbr0) :
vi /etc/sysconfig/network-scripts/ifcfg-eth0| # nVidia Corporation Inconnu (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 |
Ensuite, redémarrez le système :
rebootAprès le redémarrage, exécutez
ifconfigCela devrait maintenant afficher le pont réseau (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 ~]#Aussi, le module du noyau KVM devrait maintenant être chargé :
lsmod | grep -i kvm[root@server1 ~]# lsmod | grep -i kvm
kvm_amd 37644 2
kvm 137976 1 kvm_amd
[root@server1 ~]#(Cette sortie provient d’un système avec un processeur AMD-V. Si votre système utilise un processeur Intel VT, il devrait afficher quelque chose comme kvm_intel.)
Maintenant, nous téléchargeons le dernier paquet Enomalism.rpm depuis http://sourceforge.net/project/showfiles.php?group_id=164855&package_id=186866&release_id=667675, par exemple comme suit (veuillez vous assurer de récupérer le paquet PY2.5, pas PY2.4 !) :
wget http://dfn.dl.sourceforge.net/sourceforge/enomalism/enomalism2-2.2.3.noarch.PY2.5.rpmAprès que le téléchargement soit terminé, nous installons Enomalism comme suit :
yum install enomalism2-2.2.3.noarch.PY2.5.rpmEnsuite, nous créons les liens de démarrage système pour MySQL (afin que MySQL démarre automatiquement chaque fois que le système démarre) et démarrons le serveur MySQL :
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startExécutez
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpasswordpour définir un mot de passe pour l’utilisateur root (sinon, n’importe qui peut accéder à votre base de données MySQL !).
Si la dernière commande vous renvoie une erreur…
[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]#… nous pouvons définir le mot de passe comme suit : connectez-vous à MySQL :
mysql -u root -pTapez le mot de passe pour l’utilisateur root MySQL. Ensuite, dans le shell MySQL, faites ceci :
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';Exécutez
mysql> SELECT * FROM user;pour vous assurer que toutes les lignes où l’utilisateur est root ont un mot de passe.
Si tout semble correct, exécutez
mysql> FLUSH PRIVILEGES;… et quittez le shell MySQL :
mysql> quit;Maintenant, nous devons configurer Enomalism. Exécutez
cd /opt/enomalism2
scripts/init-db.sh yourrootsqlpassword enomalism enomalismpasswordRemplacez yourrootsqlpassword par votre mot de passe root MySQL. enomalism est le nom de l’utilisateur de base de données qu’Enomalism utilisera pour se connecter à la base de données MySQL, et enomalismpassword est le mot de passe de la base de données pour l’utilisateur enomalism. Remplacez les deux par un nom d’utilisateur/mot de passe de votre choix.
Dans le répertoire /opt/enomalism2, il devrait y avoir un fichier appelé server1.example.com.cfg. Nous copions ce fichier dans le répertoire /opt/enomalism2/config :
cp server1.example.com.cfg config/server1.example.com.cfgExécutez
uuidgenet notez l’ID que la commande génère (nous en avons besoin à l’étape suivante où nous modifions /opt/enomalism2/config/server1.example.com.cfg) :
[root@server1 enomalism2]# uuidgen
2d54480f-66c6-4c15-aafc-7242208456e0
[root@server1 enomalism2]#Maintenant, nous éditons /opt/enomalism2/config/server1.example.com.cfg :
vi config/server1.example.com.cfgVeuillez ajuster les quatre valeurs suivantes :
| [...] 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" [...] |
Assurez-vous d’utiliser le bon utilisateur de base de données et le bon mot de passe pour la base de données MySQL et la bonne adresse IP pour les deux paramètres suivants. Dans la ligne enomalism2.self, vous devez utiliser l’ID généré par uuidgen.
Vous trouverez également les paramètres enomalism2.drivestorage=’file’ et enomalism2.storagetarget=’file:///xen/‘ dans ce fichier. Actuellement, Enomalism ne prend pas en charge LVM, donc vous ne devez pas changer ces paramètres !
Ensuite, éditez /etc/libvirt/qemu.conf…
vi /etc/libvirt/qemu.conf… et décommentez la ligne vnc_listen = “0.0.0.0” :
| [...] vnc_listen = "0.0.0.0" [...] |
(Sinon, vous ne pourrez pas vous connecter aux invités KVM via VNC depuis une machine distante !)
Redémarrez libvirtd ensuite :
/etc/init.d/libvirtd restartMaintenant, nous créons les liens de démarrage système pour Enomalism et le démarrons :
chkconfig --levels 235 enomalism2.sh on
/etc/init.d/enomalism2.sh startMaintenant, ouvrez un navigateur et allez à http://192.168.0.100:8080. Cela devrait terminer l’installation d’Enomalism :

Cliquez sur le lien Cliquez ici pour utiliser Enomalism2 ! :

Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.