Xen Desktop Wheezy

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.

Tutoriel pour utilisateurs avancés. Vous devez être capables d'utiliser et administrer un système Debian en ligne de commande (ajouter/supprimer des paquets logiciels, lancer/stopper un service, exploiter la documentation installée localement...)

Si vous débutez, vous pouvez vous familiariser avec la virtualisation grâce au logiciel VirtualBox, plus simple à mettre en œuvre et à utiliser.

But de ce tutoriel : virtualisation pour une utilisation orientée "desktop". C'est à dire que nous voulons pouvoir créer, manipuler, utiliser des machines virtuelles pour une utilisation graphique, directement sur le système hôte.

Vous pourrez donc :

  • tester des systèmes invités (distribution Linux, BSD ou systèmes Windows) en toute tranquillité, sans risquer de détruire votre système Debian hôte.
  • tester certains logiciels (serveurs web, mail, etc...) dans une machine virtuelle, sans devoir apporter de grosses modifications à votre système Debian hôte.

L'hyperviseur utilisé sera Xen, l'interface de gestion des machines virtuelles (VM) sera virt-manager (ce qui induit l'utilisation de libvirt). L'utilisation de la libvirt permet d'utiliser différents logiciels de gestion de machine virtuelle telle que Gnome Boxes.

Plus d'informations sur Xen ici

A titre d'information, la configuration matérielle utilisée pour ce tutoriel : AMD PhenomII X4 / 4Go de RAM

Important : Vérifier que les extensions de virtualisation du processeur sont bien activées dans le BIOS de votre ordinateur.


Installation de Debian Wheezy depuis l'iso netinstall

Nous allons installer un système 64 bits.

Télécharger l'iso netinst amd64 depuis [1]



Partitionnement

A votre convenance, mais prévoir une partition /var de taille conséquente car elle va recueillir les images disque de vos machines virtuelles.

Pour ma part, simplification au maximum (pas de RAID/LVM). Pour un disque de 500Go, partitionnement manuel :

  • / : 8Go
  • /var : 400Go
  • swap : 8Go
  • /home : le reste (~84Go)


Installation d'un système minimal

Cocher seulement "Utilitaires usuels du système"

Un environnement de bureau minimal sera ajouté manuellement après.

Fin de l'installation et reboot


Configuration du système

Se connecter en root.

Installation d'un environnement graphique léger mais fonctionnel : LXDE (version minimale), un navigateur web, ainsi que quelques utilitaires système

apt-get install lxde-core lightdm iceweasel xul-ext-adblock-plus cpufrequtils htop (le serveur xorg est automatiquement installé via les dependances)

Dans la foulée, installation de l'hyperviseur Xen (4.1 au moment de la rédaction de ce document) et de virt-manager (interface graphique pour libvirt, permettant de gérer des machine virtuelles)

apt-get install xen-system-amd64 virt-manager

Nota: ceci installera également via les dépendances, l'émulateur qemu (ainsi que son extension de virtualisation KVM) et ses outils tels que qemu-img permettant de créer les images disque.

Nota 2 : il n'est pas possible de faire tourner une machine virtuelle accélérée avec KVM, avec un noyau Xen, ce dernier "cachant" les extensions de virtualisation du processeur.

Redémarrer la machine, et booter sur le noyau XEN nouvellement installé.

Normalement vous devriez arriver sur l'écran de connexion graphique.

Si tel n'est pas le cas (pas d'affichage graphique X) comme sur ma configuration, il vous faudra éventuellement installer les firmwares non libres pour votre carte graphique (firmwares radeon pour carte AMD/ATI dans mon cas) :


Ouvrez un autre terminal virtuel (Ctrl-Alt-F1), ajoutez les dépôts contrib et non-free à votre sources.list, puis : apt-get update && apt-get install firmware-linux-nonfree

De plus si vous avez un CPU AMD ou Intel apt-get install amd64-microcode ou intel-microcode ne peut pas faire de mal.

(Redémarrez à nouveau votre machine)

Connectez-vous en tant qu'utilisateur standard

Premier lancement du gestionnaire (graphique) de machines virtuelles (VM pour abréger)

Un message d'erreur "Unable to connect to libvirt" devrait apparaitre. C'est normal car nous devons ajouter notre utilisateur standard (nommé "fred" dans ce tutoriel) au groupe unix libvirt

Ouvrez un terminal graphique en tant que root.

usermod -a -G libvirt fred groups fred

Important : il faut fermer sa session et se reconnecter pour que le changement soit effectif.

Relancer le gestionnaire de VM, une autre erreur se manifeste "Unable to connect to localhost:8000". Cela vient de la configuration de Xen.

nano /etc/xen/xend-config.sxp

remplacer les lignes :

  1. (xend-http-server no)
  2. (xend-unix-server no)

par (xend-http-server yes) (xend-unix-server yes)

Note : en principe il n'est pas nécessaire d'activer xend-http-server. Activez-le uniquement si la directive seule xend-unix-server ne vous donne pas accès au dom0 dans virt-manager.

D'autre part si vous activez xend-http-server, vérifier aussi les deux directives :

  1. (xend-address )

(xend-address localhost)

pour n'autoriser l'accès au serveur Xen que depuis l'ordinateur local (localhost)

Après toute modification relancer le démon xen service xen restart

Relancer le gestionnaire de VM, normalement aucune autre erreur ne devrait apparaitre, et le Dom0 Xen est bien visible.

Création d'une nouvelle machine virtuelle

(Récupérez une iso d'installation Debian. Dans ce tutoriel ce sera la même iso qui a servi à installer notre système hôte)

Cliquer sur l'icône "Créer une nouvelle machine virtuelle" pour lancer l'assistant. Pour choisir votre iso, dans la fenêtre "Localiser le volume du média ISO", cliquez sur "Parcourir en local"

Renseignez le type de SE et la version (dans ce tutoriel ce sera Linux, Debian Wheezy) Pour le reste des paramètres, laissez les valeurs par défaut (sauf peut-être la taille de l'image du disque dur)

Il vous sera demandé si vous souhaitez démarrer automatique le pont réseau créé par défaut (virbr0).

Note : Penser à démarrer automatiquement cette interface réseau virtuelle dans les propriétés du serveur Xen.

A l'issue de l'assistant, la nouvelle VM est automatiquement démarrée, et la console VNC devrait apparaître.

Pour information, le fichier de configuration de cette VM se trouve dans /var/lib/xend/domains/<UUID de la machine virtuelle>/config.sxp (pour connaitre l'UUID, voir dans les détails de la VM)

Ne pas éditer ce fichier manuellement, il est regénéré automatiquement par virt-manager.


Toujours pas d'affichage console graphique de la machine virtuelle? Vérifiez les logs : tail /var/log/xen/qemu-dm-<nom_de_la_VM>.log

Essayez de recréer une interface graphique VNC pour la machine virtuelle, en prenant garde de spécifier le port VNC (ne pas laisser coché "Alloué automatiquement"), puis relancez la machine virtuelle.



Optimisation des performances d'affichage de la machine virtuelle

C'EST ICI QUE CA SE COMPLIQUE!

A FAIRE.


Démarrage par défaut sur le noyau Xen dans GRUB2

Editer le fichier de configuration de GRUB nano /etc/default/grub

Changer la ligne GRUB_DEFAULT=0 par GRUB_DEFAULT=2 (correspond à la troisième entrée, le noyau Xen, dans le menu GRUB dans notre cas)

puis update-grub


Sources & liens utiles

Wiki Xen officiel