Choix de machine virtuelle

The following examples use aptosid, simply substitute aptosid with the distribution of your choice.

Installing other distributions to a VM image

Note: If and when you wish to install to a virtual machine image, most Linux distributions will probably only need an allocation of 12G. However if you have a requirement to have MS Windows in a virtual machine, you will need to allocate about a 30G, or more, to the image. All image allocation sizes ultimately depend on your requirements.

Generally, an image allocation size, will not take up additional hard drive space until data is installed. Even then, it will only take space dynamically on a hard drive, contingent to the actual amount of data that expands on the image. This is due to the compression ratios of qcow2.

Enabling a KVM Virtual Machine

KVM est une solution de virtualisation intégrale pour matériels x86 dotés d'extensions de virtualisation (Intel VT ou AMD-V).

Prérequis

Afin de vous assurer que votre matériel permette d'utiliser KVM, vérifiez que KVM soit activé dans votre BIOS (sur certains systèmes Intel VT ou AMD-VT il n'est pas évident de trouver l'option ; ici nous imaginons que KVM soit actif sur l'ordinateur). Cette commande permet de le vérifier dans une console :

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

Sivous pouvez voir svm ou vmx parmi les champs d'attributs associés au cpu, votre système est en mesure d'exploiter KVM. Sinon si vous êtes sûr qu'il devrait en être capable, allez de nouveau vérifier votre BIOS, reportez-vous au manuel de votre carte mère et/ou chez sur Internet où le menu optionnel permettant l'activation de KVM peut bien se cacher.

Si après vérification il s'avère que votre BIOS ne supporte pas KVM, optez alors pour Virtualbox ou QEMU

Pour installer et exploiter KVM, assurez-vous en tout premier lieu que des modules Virtualbox ne soient pas chargés (s'ils l'étaient l'option --purge à leur égard serait la mieux appropriée):

apt-get install qemu-system-x86 qemu-utils

On peut aussi redémarrer afin que les scripts d'initialisation de qemu-system-x86 procèdent au chargement des modules.

Utilisation de KVM au démarrage d'une .iso d'aptosid

For 64 bit as user:

$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom <aptosid.iso>

For 32 bit replace qemu-system-x86_64 with qemu-system-i386.

Installation d'une .iso d'aptosid sur une image KVM

Commencez par créer une image de disque dur (image qu'on choisira minimale et prévue pour s'agrandir en fonction des besoins grâce aux capacités de compression de qcow2):

$ qemu-img create -f qcow2 aptosid-2010-*-.img 12G

Démarrer l'image .iso d'aptosid avec les paramètres suivants permettant à KVM d'exploiter l'image disque QEMU disponible:

$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom </path/to/aptosid-*.iso> -boot d </path/to/aptosid-VM.img>

For 32 bit replace qemu-system-x86_64 with qemu-system-i386.

Once the cdrom has booted up click on the aptosid installer icon to activate the installer, (or use the menu), click on the Partitioning tab and launch the partition application you prefer. For the partitioning you can follow the instructions from Partitioning the Hard Drive - Traditional, GPT and LVM (do not forget to add a swap partition If you are short of memory). Please be aware that formatting will take time so be patient.

gparted kvm hard disk naming

You now have a VM ready for use:

$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -drive if=virtio,boot=on,file=<path/to/aptosid-VM.img> 

Some guests do not support virtio, therefore you need to use other options when launching KVM, for example:

$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img > -cdrom your_other.iso -boot d 

or

$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img> 

See also: KVM documentation.

Gérer vos machines virtuelles KVM installées
apt-get install aqemu

Quand vous utiliserez AQEMU assurez-vous de choisir son mode KVM dans son menu déroulant "type d'émulateur" à l'onglet "Général". La documentation d'AQEMU est pour ainsi dire inexistante, et de ce fait des manipulations de type "essais par erreurs" seront nécessaire pour vous faire une idée de son interface intuitive de paramétrage. Quoiqu'il en soit votre meilleur point de départ sera d'aller au menu "VM" suivi par l'onglet "Général".

>Booting and installing a QEMU Virtual Machine

Les étapes :

Configuration minimale requise

1 Go de RAM recommandés: dans l'idéal, 512 Mo pour le système hébergé, 512 Mo pour l'hôte. (ça peut tourner avec moins de ram, mais n'attendez pas une grande performance à ce moment là...).

Espace disque: VirtualBox en soi a beau être léger (une installation de base occupe autour de 30 Mo d'espace disque), les machines émulées elles, nécessitent pour fonctionner de disposer d'un espace disque plutôt conséquent, afin de suffire à héberger leurs propres espaces disque de stockage. Dans ces conditions, pour installer Windows XP®, par exemple, vous aurez besoin d'un espace susceptible de s'étendre sur un bon nombre de Gigas...Pour utiliser aptosid sous virtualbox vous devrez allouer une taille image de 5 GB en plus du swap.

Installation:

apt-get update
apt-get install virtualbox-ose-qt virtualbox-source dmakms module-assistant

Puis préparez le module:

m-a prepare
m-a a-i virtualbox-source

Activer le support module-assistant dynamique pour le module de noyau pour virtualbox fera en sorte que chaque fois que votre noyau linux sera mis-à-jour un tel module soit également préparé pour ce dernier, sans besoin d'intervention manuelle. Pour obtenir celà ajoutez virtualbox-source au fichier de configuration /etc/default/dmakms .

mcedit /etc/default/dmakms
virtualbox-source

Redémarrez ensuite l'ordinateur.

Vous devez lire ceci à propos de dmakms

Installer aptosid sur la machine virtuelle

Utilisez l'assistant de VirtualBox pour créer une nouvelle machine virtuelle pour aptosid. Suivez ensuite les instructions données pour une installation standard de aptosid.

Le site de VirtualBox fournit une documentation accessible, notamment une aide en PDF, que vous pourrez télécharger.

Démarrer et installer aptosid sur une machine virtuelle QEMU

Les étapes:

Un outil graphique existe pour vous aider à configurer QEMU:

apt-get install qtemu

Créer une image-disque

Pour utiliser qemu vous aurez probablement besoin d'une image disque (image de disque dur). Il s'agit d'un simple fichier qui stocke le contenu d'un disque dur virtuel (émulé).

Utilisez cette commande:

qemu-img create -f qcow aptosid.qcow 3G

Elle créera un fichier image appelé "aptosid.qcow". Le paramètre "3G" spécifie sa taille, qui est de 3 Gio. Vous pouvez également utiliser le paramètre M pour les mégaoctets (par exemple "800M". Vous n'avez pas trop à vous inquiéter de la taille du disque, car le format qcow compresse l'image de sorte qu'elle n'occupe pas plus d'espace que ce qui est effectivement occupé par les données une fois compressées.

Installer le système d'exploitation

C'est la première fois que vous allez devoir démarrer l'émulateur. Une bonne chose à savoir : quand vous cliquez dans la fenêtre de qemu, il capture le pointeur de la souris. Pour le libérer vous n'avez qu'à presser sur votre clavier la combinaison :

Ctrl+Alt

Si vous avez besoin d'utiliser une disquette de démarrage, alors lancez qemu avec :

qemu -floppy aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow

Pour lancer un cd bootable:

qemu -cdrom aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow

Vous pouvez alors installer aptosid comme s'il s'agissait d'un disque du réel

Utiliser le système

Pour utiliser le système après l'installation, faites simplement:

qemu [votre_image_disque]

Une bonne idée est d'utiliser les images par recouvrement (overlay images). De cette façon vous créez une première image et Qemu va stocker ses modifications dans un fichier séparé ; de cette manière il sera aisé de revenir à une version antérieure du système et de prévenir toute instabilité potentielle.

Pour créer une image de recouvrement (overlay image), entrez :

qemu-img create -b [[base''image]] -f qcow [[overlay''image]]

Remplacez l'image de recouvrement à votre image_de_base (dans notre cas aptosid.qcow). Après quoi vous pouvez lancer qemu avec:

qemu [image_de_recouvrement]

L'image de base ne sera pas modifiée. Une limitation cependant : l'image de base ne doit pas être déplacée ou renommée, l'image de recouvrement gardant son chemin absolu en mémoire.

Utiliser une partition réelle quelconque en tant que partition primaire unique d'une image disque

Il peut arriver que vous vouliez utiliser une de vos partitions système dans qemu (par exemple, pour démarrer en même temps votre système réel ou qemu utilisant une partition spécifique comme racine). Vous pouvez y parvenir en utilisant le RAID logiciel en mode linéaire (il vous faudra le pilote de noyau linear.ko) ainsi qu'un périphérique loopback : l'astuce consiste à ajouter un master boot record (MBR) à la fin de la partition que vous souhaitez intégrer à une image disque qemu brute.

Supposons que vous disposez d'une partition non montée /dev/sdaN dont vous voudriez faire du système de fichiers une partie de votre image disque qemu. Vous commencerez par créer un petit fichier pour stocker le MBR:

dd if=/dev/zero of=/path/to/mbr count=32

Là un fichier de 16 Ko (32 * 512 bytes) est créé. Il est important de ne pas le créer trop petit, même si un MBR ne requiert qu'un unique bloc de 512 octets, car plus petit il sera, plus le hachage du raid logiciel devra être étroit, ce qui impacte sur les performances. Puis, vous attachez un périphérique loopback au fichier MBR:

losetup -f /chemin/du/mbr

Admettons qu'au résultat le périphérique obtenu soit /dev/loop0, car nous n'utiliserions jusque là aucun autre loopback. L'étape suivante passe par la création de l'image disque "mélangée" MBR + /dev/sdaN en utilisant le RAID logiciel:

 modprobe linear
 mdadm --build --verbose /dev/md0 --chunk=16 --level=linear --raid-devices=2 /dev/loop0 /dev/sdaN

Le résultat /dev/md0 est ce que vous allez utiliser comme disque image qemu (n'oubliez pas de fixer les permissions de sorte que l'émulateur puisse y avoir accès). La dernière (et peut-être la plus perverse) des étapes consiste à régler la configuration du disque (géométrie et table des partitions) de telle sorte que le point d'origine du MBR coincide avec celui de /dev/md0 (un offset d'exactement 16*512 = 16384 octets dans cet exemple). Réalisez cette étape en utilisant fdisk sur la machine hôte, et non depuis l'émulateur : la routine de détection brute des disques utilisée par qemu produit en effet souvent des offset non-arrondis au kilooctet (de type 31.5 KB, comme dans la section précédente) et qui ne seraient pas gérables par le RAID logiciel. Ainsi, depuis la machine hôte:

 fdisk /dev/md0

Créez ensuite une partition primaire unique correspondant à /dev/sdaN, et utilisez la commande 's'ector du menu expert, de telle sorte que le premier cylindre (où cette première partition est censée démarrer) coïncide avec la taille du MBR. Quand finalement vous activez la fonction 'w' pour sauver votre réglage dans un fichier, l'opération est terminée. Vous disposez d'une partition que vous pouvez monter directement depuis votre machine hôte, et qui fait également partie d'une image disque qemu :

 qemu -hdc /dev/md0 [...]

Évidemment vous pouvez sans problème configurer un chargeur de démarrage sur votre image disque en utilisant qemu, du moment que le répertoire /sdaN/boot de la partition originale est équipée des outils nécessaires.

La documentation officielle du projet QEMU

Certains contenus se rapportant à QEMU pour le Manuel de aptosid sont extraits de documents extérieurs sous licence GNU Free Documentation License 1.2 et ont été adaptés pour le Manuel de aptosid.

Page révisée le 04/10/2013 1320 UTC