7. Création d'une machine virtuelle avec QEMU

[Note] Note

Les opérations présentées ici utilisent la même arborescence que dans la section sur la solution KVM. Voir la note sur la création d'une machine virtuelle avec KVM.

7.1. Outils nécessaires avec QEMU

Sur un système hôte dont le processeur ne possède pas d'extension matérielle dédiée à la virtualisation, on se limite à l'utilisation de l'émulateur QEMU. Dans ce contexte, le paquet qemu est le principal outil à utiliser.

$ dpkg -l qemu* | grep ^ii
ii  qemu        0.11.1-1        fast processor emulator
ii  qemu-kvm    0.11.0+dfsg-1   Full virtualization on x86 hardware
ii  qemu-system 0.11.1-1        QEMU full system emulation binaries
ii  qemu-user   0.11.1-1        QEMU user mode emulation binaries
ii  qemu-utils  0.11.1-1        QEMU utilities

Les principales dépendances sont relatives à l'émulation PC avec les paquets BIOS : bochbios et vgabios.

7.2. Installation d'une machine virtuelle QEMU

La création du fichier image correspondant au volume de stockage utilisé par une instance de machine virtuelle se fait à l'aide de la même commande : qemu-img quel que soit l'émulateur utilisé par la suite. On répète ci-dessous la même opération que celle présentée à la Section 6.2, « Installation d'une machine virtuelle KVM ».

:~/vm$ qemu-img create vm0-debian-stable-i386-base.raw -f raw 4G
Formatting 'vm0-debian-stable-i386-base.raw', fmt=raw, size=4194304 kB

:~/vm$ ls -sAh vm0-debian-stable-i386-base.raw
4G vm0-debian-stable-i386-base.raw

On utilise l'image disque pour lancer le processus d'installation de la machine virtuelle.

:~/vm$ qemu \ 1
-k fr \ 2
-usbdevice tablet \  3
-drive file=vm0-debian-stable-i386-base.raw,if=virtio,media=disk,boot=off \ 4
-cdrom ~/iso.images/debian-501-i386-CD-1.iso \ 5
-boot d \ 6
-m 384 7

1

Appel de l'émulateur PC QEMU. Son rôle est de fournir une liste type des périphériques que l'on trouve sur une carte mère de PC. Cette liste est disponible à la section QEMU PC System emulator de la documentation officielle QEMU.

2

Désignation du modèle de clavier à utiliser. Ici, il s'agit du clavier AZERTY français.

6

Gestion de la capture automatique du curseur de la souris. Avec ce modèle de «tablette USB», il n'est plus nécessaire d'utiliser la séquence de touches Alt+Ctrl pour basculer entre la fenêtre de l'instance virtuelle et celles du système hôte.

4

Correspondance entre unité de disque dur virtuelle et image disque système. Dans cet exemple, le périphérique hda désigne un disque dur IDE.

5

Correspondance entre lecteur CD et image ISO du CD d'installation de la distribution Debian GNU/Linux.

6

Désignation de l'unité de démarrage : le lecteur CD pour utiliser le CD d'installation.

7

Quantité de mémoire vive (RAM) allouée à la machine virtuelle.

Après l'initialisation de la machine virtuelle, le processus d'installation classique démarre.

Une fois le processus d'installation lancé, les étapes de sélection se suivent : langue, clavier, choix des composants, configuration automatique du réseau, nom d'hôte et partitionnement.

Il est vivement conseillé d'utiliser le gestionnaire de volumes logiques LVM pour pouvoir faire évoluer l'image système par la suite.

[Note] Note

En publiant des images disque de taille limitée, l'objectif est justement de «provoquer» la saturation de l'espace disque pour pousser les étudiants à se familiariser avec l'utilisation des outils LVM de gestion du stockage.

Une fois l'installation achevée, on obtient l'occupation disque suivante. On constate qu'il reste une marge d'espace disque conséquente ; ce qui permettra d'installer quantité de services supplémentaires avant de devoir étendre l'espace de stockage.

$ df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/vm--debian-root
                      473M  112M  338M  25% /
tmpfs                 506M     0  506M   0% /lib/init/rw
udev                   10M   92K   10M   1% /dev
tmpfs                 506M     0  506M   0% /dev/shm
/dev/hda1             228M   16M  200M   8% /boot
/dev/mapper/vm--debian-home
                      473M   11M  438M   3% /home
/dev/mapper/vm--debian-usr
                      1,9G  318M  1,5G  18% /usr
/dev/mapper/vm--debian-var
                      548M  157M  364M  31% /var