samedi 16 janvier 2016

Virtualisation part 1: Qemu, Xen, Linux et Ballooning

Allez, je me lance dans un tuto d'installation de Xen et de mise en œuvre du ballooning. Le tout sous qemu car je ne souhaite pas réinstaller ma machine.

Ce tuto sera en plusieurs parties afin de ne pas faire des articles trop longs.

Mon objectif est le suivant:
Je vais installer une machine (Dom0) avec Xen dans qemu, créer 2 machines virtuelles (DomU), vous faire une petite configuration réseau et au final vous montrer comment faire du ballooning dans les deux VMs.

Le tout sur une ancienne version de linux et de Xen afin de montrer une génération du kernel pour le Dom0, pour les DomU et aussi générer ma version de Xen.

Au passage j'en profiterai pour parler un peu du mécanisme de ballooning et des backing files de qemu.

Bref, voilà, pas mal de choses je crois.
Bon voyage...

PS: je ne garantis pas que ma démarche est parfaite et qu'elle est la plus efficace. Mais c'est celle que j'ai réussi à faire fonctionner.

 Ma configuration

Je suis sous environnement linux Debian 8 "Jessie" en 64bits (amd64), et je vais installer sous Debian 7.8 "Wheezy" en 64bits; ne me demandez pas pourquoi, je vous répondrai : et pourquoi pas ?

 Pré-requis

Je travaille en mode console en bash shell sous Debian Jessie. Je n'expliquerai pas comment utiliser le shell linux donc si nécessaire, n'hésitez pas à vous faire la main en shell par ailleurs.

 Qemu sous Debian

En théorie, rien de bien sorcier pour installer Qemu sous Debian si vous êtes habitués aux packages.
Moi j'ouvre une console, dans laquelle je fais un:
$ sudo aptitude
Et une fois dans le gestionnaire de paquets je vais sélectionner le paquet qemu dans otherosfs/main, j'en demande son installation dans le menu et let's Go... qemu doit être installé.

Préparation disque

Tout d'abord, je crée un disque qemu de travail (nommé: xendeb.qcow) pour installer ma version linux Wheezy.

Pour cela, dans mon répertoire de travail, je fais:

$ qemu-img create xendeb.qcow 128G

Très honnêtement, je n'ai pas besoin de 128G mais bon... J'ai de la place alors. Et de toute manière, le disque ne fait pas physiquement 128Go mais il se remplira petit à petit au besoin.

Je profiterai de cet article pour parler du backing file (ou snapshot) que l'on peut faire sous Qemu pour gérer des disques en mode Redirect On Write.
C'est super extra pratique pour ne pas détruire une installation par manipulation du disque.

Récupération de l'image d'installation Wheezy

Afin d'installer le linux hôte (ou Dom0), je récupère une iso de la distribution Debian Wheezy. Et la mauvaise nouvelle est que la méthode pour récupérer une vieille version Debian est... particulière.

et suivre les instructions.

En particulier, dans mon cas, je télécharge ma version Debian 7.8 dans:

Et il faut que je passe par l'outil jigdo pour obtenir le CD d'installation.
Note: je n'utiliserai que le CD1 pour mon tutoriel.

Pour jigdo, rebelote, il faut passer par aptitude pour l'installer.
Voir plus haut l'installation de qemu, c'est pareil mais pour jigdo.

Donc, pour récupérer le CD1 je fais:
$jigdo-lite http://cdimage.debian.org/mirror/cdimage/archive/7.8.0/amd64/jigdo-cd/debian-7.8.0-amd64-CD-1.jigdo

Ainsi j'obtiens après un long téléchargement, l'image de mon CD du 
nom de : debian-7.8.0-amd64-CD-1.iso

Installation linux Debian 7.8 qui deviendra le Dom0

Maintenant que j'ai le CD, j'effectue l'installation sur mon disque virtuel créé précédemment.
Pour cela:
$qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m $((2*1024)) -boot d -hda  xendeb.qcow  -cdrom debian-7.8.0-amd64-CD-1.iso

Je ne vais pas expliquer en détail l'installation, mais faire une liste à la Prévert rapide des choix ou étapes:

  • Install
  • French
  • France
  • Français
  • Nom de machine: debian
  • domaine: <rien>
  • mot de passe root: rootc'est pas bien mais j'm'en f...
  • nouvel utilisateur: user
  • mot de passe: userc'est pas bien mais j'm'en f...
  • Partitionnement disque: Assisté - utiliser un disque entier
  • SCSI1
  • Tout dans une seule partition
  • Terminer et appliquer
  • Oui
  • Non je n'analyse pas d'autre CD
  • Faut-il utiliser un miroir, Non.Pour le moment en tout cas
  • non, je ne participe pas aux statistiques des paquets
  • je décoche l'installation de l'environnement de bureau Debian
  • continuer
  • oui, installer le programme de démarrage grub
  • et redémarrer... et fermer la fenêtre qemu quand cela reboot
Voilà, nous avons maintenant une installation Debian 7.8 en mode console sous qemu.

En fin de ce billet, nous devons avoir un disque xendeb.qcow avec une installation Debian dessus. qemu est arrêté et je suis revenu sur mon PC hôte.

Aucun commentaire:

Enregistrer un commentaire