Virtualisation · 5 min read · Feb 01, 2026
Virtualisation avec KVM sur un serveur Fedora 11
Virtualisation avec KVM sur un serveur Fedora 11
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 11. 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 Kernel-based Virtual Machine 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 11 avec le nom d’hôte server1.example.com et l’adresse IP 192.168.0.100 ici comme mon hôte KVM.
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 Fedora 11.
2 Installation de KVM
Hôte KVM Fedora 11 :
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/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.
Pour installer KVM et virtinst (un outil pour créer des machines virtuelles), nous exécutons
yum install kvm qemu libvirt python-virtinstEnsuite, 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 s’est mal passé.
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.
Je désactive le NetworkManager de Fedora et active le réseau “normal”. NetworkManager est bon pour les bureaux où les connexions réseau peuvent changer (par exemple LAN vs. WLAN), mais sur un serveur, vous ne changez généralement pas les connexions réseau :
chkconfig NetworkManager off
chkconfig --levels 35 network on
/etc/init.d/network restartVérifiez votre /etc/resolv.conf s’il liste tous les serveurs de noms que vous avez précédemment configurés :
cat /etc/resolv.confSi des serveurs de noms manquent, exécutez
system-config-networket ajoutez à nouveau les serveurs de noms manquants.
Pour configurer le pont, 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| # Networking Interface DEVICE=eth0 #BOOTPROTO=none #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 TYPE=Ethernet IPV6INIT=no USERCTL=no BRIDGE=br0 |
Ensuite, redémarrez le système :
rebootAprès le redémarrage, exécutez
ifconfigCela 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:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:91 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:16520 (16.1 KiB) TX bytes:11889 (11.6 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:136 errors:0 dropped:0 overruns:0 frame:0
TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22152 (21.6 KiB) TX bytes:14147 (13.8 KiB)
Interrupt:28 Base address:0x2000
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:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:746 (746.0 b) TX bytes:746 (746.0 b)
virbr0 Link encap:Ethernet HWaddr E2:54:14:EA:7A:01
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::e054:14ff:feea:7a01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:5156 (5.0 KiB)
[root@server1 ~]#3 Installation de virt-manager sur votre bureau Fedora 11
Bureau Fedora 11 :
Nous avons besoin d’un moyen de nous connecter à la console graphique de nos invités - nous pouvons utiliser virt-manager pour cela. Je suppose que vous utilisez un bureau Fedora 11.
Devenez root…
su… et exécutez…
yum install virt-manager… pour installer virt-manager.
(Si vous utilisez un bureau Ubuntu 9.04, vous pouvez installer virt-manager comme suit :
sudo aptitude install virt-manager)
4 Création d’un invité Debian Lenny (basé sur une image)
Hôte KVM Fedora 11 :
Maintenant, retournons à notre hôte KVM Fedora 11.
Jetez un œil à
man virt-installpour 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 réseau 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 --hvmBien sûr, vous pouvez également créer une image ISO du CD d’installation réseau 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 --hvmLa 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 ~]#Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.