Installer et configurer QEMU-KVM avec UBUNTU

Ce document décrit comment nous avons déployé QEMU-KVM dans un serveur Linux Ubuntu 10.04 Server (version 64 bits), qui est aujourd’hui en production, et qui héberge actuellement 5 machines virtuelles.

Depuis le début de rédaction de cette documentation, nous avons remplacé quasiment partout les instances Vmware Server par QEMU-KVM : actuellement, nous avons 7 instances QEMU-KVM en production, et 17 serveurs virtualisés dans ceux-ci.

Les configurations présentées ici sont adaptées à des structures de taille petites à moyennes (nous gérons 6 sites et 200 personnes).

Quelques compléments...

Vérifiez que votre processeur supporte la virtualisation

Avant de vous lancer, vérifiez que votre processeur supporte la virtualisation ! Pour cela, tapez cette commande :

egrep '^flags.*(vmx|svm)' /proc/cpuinfo >/dev/null && echo OK || echo KO

Si elle vous affiche KO, regardez dans le bios si vous pouvez activer la virtualisation. Si ce n'est pas le cas, laissez tomber...

Installer le pilote VIRTIO pour Windows 64 bits

Par défaut, les espaces disques sont créés en mode IDE. Avec Windows, les performances sont plutôt mauvaises. Pour que vos machines fonctionnent correctement, vous devez :

  • créer votre disque au format qcow2, et le définir en pilote virtio ;
  • installer le pilote virtio adéquat dans Windows. Si vous installez une version 64 bits de Windows (Windows 2008 Server, entre autres), vous devez utiliser impérativement un pilote signé.

Voici un récapitulatif des opérations à effectuer :

<disk type='file' device='cdrom'>

      <driver name='qemu' type='raw'/>
      <source file='/opt/vms/virtio-win-0.1-59.iso'/>
      <target dev='hdd' bus='ide'/>
      <readonly/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/opt/vms/SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008_R2_64Bit_French_w_SP1_MLF_X17-22584.ISO'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>

Faites attention à l'ordre de vos cdroms : hdc sera lu avant hdd, et c'est hdc qui contient le cdrom d'installation de windows. Dans le cas contraire, vous n'arriverez pas à démarrer à partir du cdrom...

  • au moment du choix du lecteur disque pour installer windows, téléchargez et installez le pilote à partir du second cdrom (pour Windows 2008 Server, choisissez Windows7, puis amd64).
  • continuez l'installation normalement.

L'image iso contient également un pilote virtio pour le réseau : utilisez-le, les performances seront meilleures. Pour info, voici le détail de ma configuration concernant le disque dur et la carte réseau :

     <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/opt/vms/windows2008.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <mac address='XX:XX:XX:XX:XX:XX'/>
      <source bridge='br0'/>
      <target dev='vnet9'/>
      <model type='virtio'/>
    </interface>