Virtualisation · 6 min read · Feb 01, 2026

Virtualisation Avec KVM Sur Un Serveur Fedora 10

Virtualisation Avec KVM Sur Un Serveur Fedora 10

Version 1.0
Auteur : Falko Timme

Ce guide explique comment vous pouvez installer et utiliser KVM pour créer et exécuter des machines virtuelles sur un serveur Fedora 10. Je vais montrer comment créer des machines virtuelles basées sur des images et aussi des machines virtuelles qui utilisent un volume logique (LVM). KVM est l’abréviation de Machine Virtuelle Basée sur le Noyau et utilise la virtualisation matérielle, c’est-à-dire que vous avez besoin d’un processeur qui prend en charge la virtualisation matérielle, par exemple Intel VT ou AMD-V.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque Préliminaire

J’utilise un serveur Fedora 10 avec le nom d’hôte server1.example.com et l’adresse IP 192.168.0.100 ici comme mon hôte KVM.

Avant de commencer, assurez-vous que SELinux est désactivé. Ouvrez /etc/selinux/config…

vi /etc/selinux/config

… et définissez SELINUX sur désactivé :

| # 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 Niveau de Sécurité. SELINUXTYPE=targeted |

Exécutez

setenforce 0

… pour que le changement prenne effet.

Nous avons également besoin d’un système de bureau où nous installons virt-manager afin que nous puissions nous connecter à la console graphique des machines virtuelles que nous installons. J’utilise ici un bureau Ubuntu 8.10.

2 Installation de KVM

Hôte KVM Fedora 10 :

Tout d’abord, vérifiez si votre processeur prend en charge la virtualisation matérielle - si c’est le cas, la commande

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

devrait 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.

Pour installer KVM et virtinst (un outil pour créer des machines virtuelles), nous exécutons

yum install kvm qemu libvirt python-virtinst

Ensuite, démarrez le démon libvirt :

/etc/init.d/libvirtd start

Pour vérifier si KVM a été installé avec succès, exécutez

virsh -c qemu:///system list

Cela 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 on

Ensuite, créez le fichier /etc/sysconfig/network-scripts/ifcfg-br0 (veuillez utiliser les valeurs BOOTPROTO, DNS1 (plus tout autre paramètre DNS, le cas échéant), GATEWAY, IPADDR, NETMASK et SEARCH du fichier /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" |

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=br0) :

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=br0 |

Ensuite, redémarrez le système :

reboot

Après le redémarrage, exécutez

ifconfig

Cela devrait maintenant afficher le pont réseau (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 Installation de virt-viewer Ou virt-manager Sur Votre Bureau Ubuntu 8.10

Bureau Ubuntu 8.10 :

Nous avons besoin d’un moyen de nous connecter à la console graphique de nos invités - nous pouvons utiliser virt-manager (voir Gestion des Invités KVM Avec Virt-Manager Sur Ubuntu 8.10) pour cela. Je suppose que vous utilisez un bureau Ubuntu 8.10.

Exécutez

sudo aptitude install virt-manager

pour installer virt-manager.

(Si vous utilisez un bureau Fedora 10, vous pouvez installer virt-manager comme suit :

Devenez root…

su

… et exécutez

yum install virt-manager

)

4 Création D’un Invité Debian Lenny (Basé Sur Une Image)

Hôte KVM Fedora 10 :

Maintenant, retournons à notre hôte KVM Fedora 10.

Jetez un œil à

man virt-install

pour apprendre à l’utiliser.

Pour créer un invité Debian Lenny (en mode pont) avec le nom vm10, 512 Mo de RAM, deux CPU virtuels, et l’image disque ~/vm10.qcow2 (avec une taille de 12 Go), insérez le CD d’installation Netinstall de Debian Lenny dans le lecteur CD et exécutez

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

Bien sûr, vous pouvez également créer une image ISO du CD d’installation Netinstall de Debian Lenny…

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

… et utiliser l’image ISO dans la commande 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

La sortie est la suivante :

[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  


Démarrage de l'installation...  
Création du fichier de stockage...                                               |  12 Go     00:00  
Création du domaine...                                                       |    0 B     00:00  
L'installation du domaine est toujours en cours. Vous pouvez vous reconnecter à  
la console pour terminer le processus d'installation.  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.