You are here

KVM : pré-requis, installation

 
Pour les tests de shinken 0.4 j'ai récupéré une image qu format VMWARE et, au lieu de la transformer en image XEN j'ai voulu tester au passage la virtualisation avec KVM.

Première opération : compiler KVM dans le noyau Linux (ici le kernel 2.6.37.rc8).
Lancer le "make menuconfig" :
┌────────────────────────────────────────────────────────────────────────┐ │ 
│ │              General setup  --->                                     │ │ 
│ │          [*] Enable loadable module support  --->                    │ │ 
│ │          -*- Enable the block layer  --->                            │ │ 
│ │              Processor type and features  --->                       │ │ 
│ │              Power management and ACPI options  --->                 │ │ 
│ │              Bus options (PCI etc.)  --->                            │ │ 
│ │              Executable file formats / Emulations  --->              │ │ 
│ │          [*] Networking support  --->                                │ │ 
│ │              Device Drivers  --->                                    │ │ 
│ │              Firmware Drivers  --->                                  │ │ 
│ │              File systems  --->                                      │ │ 
│ │              Kernel hacking  --->                                    │ │ 
│ │              Security options  --->                                  │ │ 
│ │          -*- Cryptographic API  --->                                 │ │ 
│ │          [*] Virtualization  --->                                    │ │ 
│ │              Library routines  --->                                  │ │ 
│ └──────────v(+)────────────────────────────────────────────────────────┘ │ 

├─────────────────────────────────────────────┤

Cocher la case "Virtualization" et aller dans le détail :
 ┌────────────────────────────────────────────────────────────────────────┐ │ 
 │ │          --- Virtualization                                          │ │ 
 │ │          <M>   Kernel-based Virtual Machine (KVM) support            │ │ 
 │ │          < >     KVM for Intel processors support                    │ │ 
 │ │          <M>     KVM for AMD processors support                      │ │ 
 │ │          <M>   Host kernel accelerator for virtio net (EXPERIMENTAL) │ │ 
 │ │          <M>   PCI driver for virtio devices (EXPERIMENTAL)          │ │ 
 │ │          <M>   Virtio balloon driver (EXPERIMENTAL)                  │ │ 
 │ │                                                                      │
 ├────────────────────────────────────────────────────────────────────────┤

Cocher les cases correspondant à votre type de processeur (AMD/INTEL), et les trois dernières aussi. Puis compilation, installation, reboot et c'est OK !
Il faut ensuite installer :

  • qemu-kvm
  • uml_utilities
  • bridge-utils

Pour pouvoir lancer des machines virtuelles et leur fournir un accès au réseau.
apt-get pour moi, yum pour d'autres ...

Deuxième opération : création d'un "bridge".
Le bridge peut être installé en permanence, le réseau fonctionne très bien pour la machine principale si un bridge est déclaré. Sur un système Debian il faut modifier le fichier "/etc/network/interfaces" comme suit :
Avant :
auto eth0
iface eth0 inet static
    address 192.168.1.XXX
    netmask 255.255.255.0
    network 192.168.1.0
    gateway    192.168.1.xxx
    broadcast 192.168.1.255

Après :
auto br0
iface br0 inet static
      address 192.168.1.XXX
      netmask 255.255.255.0
      network 192.168.1.0
      broadcast 192.168.1.255
      gateway 192.168.1.xxx
      bridge_ports eth0
      bridge_maxwait    1


Ensuite rebooter la machine pour vérifier si tout est OK, et tester :
sudo ifconfig br0
br0       Link encap:Ethernet  HWaddr 00:1b:2f:bf:11:c7 
          inet addr:192.168.1.XXX  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53550 errors:0 dropped:0 overruns:0 frame:0
          TX packets:85015 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:54066193 (51.5 MiB)  TX bytes:17172164 (16.3 MiB)


Tout est alors prêt sur le système hôte pour lancer notre première machine virtuelle KVM ... dès que la partie réseau sera au point coté KVM.