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.
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 :
- 1. Créez une image disque pour Virtualbox.
- 2. Démarrez l'iso avec Virtualbox
- 3. installez aptosid sur votre image disque
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.
Démarrer et installer aptosid sur une machine virtuelle QEMU
Les étapes:
- 1. créer une image disque pour qemu
- 2. démarrer l'iso avec qemu
- 3. installer sur l'image disque
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.