qemu-kvm-1.2.0
Prérequis de KVM
Avant de construite qemu-kvm,
vérifier si votre precesseur supporte la technologie de
virtualisation :
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Si vous avez une sortie, vous avez la technologie VT (vmx pour les
prcesseurs Intel et svm pour les processeurs AMD). Vous devez
également allez voir dans votre BIOS et vérifier qu'elle est
activée. Après l'activation, rédémarrer sur votre LFS.
Configuration du
noyau
Activez les options suivantes dans la configuration du noyau et
recompilez le noyau si nécessaire :
Virtualization: Y
Kernel-based Virtual Machine (KVM) support: M or Y
KVM for Intel processors support: M or Y
KVM for AMD processors support: M or Y
Les options Intel ou AMD ne sont pas les deux nécessaire, but celle
correspondante à votre processeur est obligatoire.
Pour le réseau, vérifiez que les initialisations de CONFIG_BRIDGE,
CONFIG_STP, CONFIG_TUN sont activées et que bridge-utils-1.5 est installé.
Installation de qemu-kvm
Si xorg n'est pas installé dans
/usr
, alors le linker a besoin de
savoir ou il est. Par exemple :
export LIBRARY_PATH=/opt/xorg/lib
Installez qemu-kvm en lançant les
commandes suivantes :
./configure --prefix=/usr &&
make
Les tests ne sont pas automatiques. Pour lancer chacun des tests,
allez dans le répertoire tests/
, et
examinez le Makefile
. Chaque test
doit être lancé individuellement avec make run-<nom_du_test>.
Maintenant, en tant qu'utilisateur root
:
make install
Note
Le programme principal qemu-system-x86_64 ne fait pas
de distinction entre i386 et x86_64 alors même sur un systèeme
i386 vous devez utiliser qemu-system-x86_64
Par confort vous pouvez vouloir créer un lien symbolique pour
lancer qemu-system-x86_64 :
ln -sv qemu-system-x86_64 /usr/bin/qemu
Configuration qemu-kvm
Pour générer une image, lancez :
qemu-img create -f qcow2 vdisk.img 10G
Ajuster la taille du disque virtuel et le nom du fichier image
comme souhaités. La taille réelle du fichier sera plus petite que
spécifiée, mais s'agrandira quand il sera utilisé.
Note
Les instructions suivantes supposent que vous avez créé le lien
symbolique facultatif, qemu
. En supplément, vous devez
exécuter qemu
en
tant qu'utilisateur root
depuis
un terminal d'une fenètre X.
Pour installer un système d'exploitation, téléchargez un iso de
votre choix ou utilisez un CD d'installation. Pour les besoins de
cet exemple, nous utiliserons une distribution Fedora 16 qui est
téléchargée par l'iso Fedora-16-x86_64-Live-LXDE.iso
dans le répertoire
courant. Exécutez les commandes suivantes :
qemu -hda vdisk.img -cdrom Fedora-16-x86_64-Live-LXDE.iso
-boot d -m 384
Suivre la procedure d'installation normal pour la distribution
choisie. L'option -boot spécifie l'ordre de démarrage des disques
comme un chaîne de lettres de lecteur. Les lettres valides de
lecteurs sont : a, b (lecteur de disquettes 1 et 2), c
(premier disque dur ), d (premier lecteur CD-ROM). l'option -m est
la quantité de mémoire à utiliser pour la machine virtuelle. Si
vous avez suffisament de mémoire (2G ou plus), 1G est une valeur
correcte. Pour les ordinateurs avec 512Mo de RAM il est prudent
d'utiliser -m 192, ou même -m 128 (la valeur par défaut).
Pour exécuter le nouveau système d'exploitation, lancer :
qemu vdisk.img -m 384
Pour ajouter le réseau à la machine virtuelle ajoutez "-net nic
-net user" à la commande précédente. qemu fournit une serveur DHCP
pour les machines virtuelles et en fonction de votre système
client, initialisé le réseau au travers de l'hôte.
un problème avec la solution réseau précédente est qu'elle ne
fournit pas la possibilité de se connecter sur le réseau local.
Pour faire cela, il y a quelques étapes supplémentaire qui doivent
être faites, tout en tant qu'utilisateur root
:
-
Initialiser le mode pont avec bridge-utils-1.5.
-
Autorisé le système hôte à transférer les paquets IP.
sysctl -w net.ipv4.ip_forward=1
Pour rendre cela permanent, ajoutez la commande dans le
fichier /etc/syssysctl.conf
:
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward=1
EOF
-
Créez des scripts pour qemu pour lier les cartes réseau
cliente, normalement visible en tant que tap0, dans le pont
hôte.
cat >> /etc/qemu-ifup << EOF
#!/bin/bash
switch=br0
if [ -n "$1" ]; then
# ajoute une nouvelle interface tap0 au pont
/sbin/ip link set $1 up
sleep 0.5s
/usr/sbin/brctl addif $switch $1
else
echo "Erreur : pas d'interface spécifiée"
exit 1
fi
exit 0
EOF
cat >> /etc/qemu-ifdown << EOF
#!/bin/bash
switch=br0
if [ -n "$1" ]; then
# Enlève une interface tap0 au pont
/usr/sbin/brctl delif $switch $1
else
echo "Errer : pas d'interface spécifiée"
exit 1
fi
exit 0
EOF
-
Démarrer qemu avec les options "-net nic -net tap".
-
Si une connexion, en ssh par exemple, depuis le réseau local
vers la VM cliente est souhaitée, le client devra être
surement configuré avec une adresse IP statique.
Contenu
Programme installé:
qemu-ga, qemu-img, qemu-io, qemu-nbd,
qemu-system-x86_64
Bibliothèques installées:
Aucun
Répertoires installés:
/etc/qemu, /usr/share/qemu,
/usr/share/doc/qemu
Short Description
qemu-ga
|
implemente le support pour les commandes QMP (Protocole
de surveillance QEMU) et les évenements qui terminent et
débutent respectivement au sein de l'invité à l'aide d'un
agent intégré dans le cadre de QEMU.
|
qemu-img
|
fournit les commandes pour gérer les images disques QEMU.
|
qemu-io
|
est un programme de diagnostique et de manipulation pour
les médias (virtuels) en mémoire. Il est encore à un
stade de développement précoce.
|
qemu-nbd
|
exporte les images disque Qemu en utilisant le protocole
disque QEMU "Network Block Device" (NBD).
|
qemu-system-x86_64
|
est l'émulateur QEMU de sytème PC.
|
Last updated on : 2012-11-01 20:14:10 +010