« Xen Desktop Wheezy » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
{{Ébauche|virtualisation de desktop avec Xen}}
{{Ébauche|virtualisation de desktop avec Xen}}


Tutoriel pour utilisateurs avancés. Vous devez être capables d'utiliser et d'administrer un système Debian en ligne de commande (ajouter/supprimer des paquets logiciels, lancer/stopper un service, exploiter la documentation installée localement...)
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 [https://fr.wikipedia.org/wiki/Virtualisation virtualisation] grâce au logiciel VirtualBox, plus simple à mettre en oeuvre et à utiliser.
Si vous débutez, vous pouvez vous familiariser avec la [https://fr.wikipedia.org/wiki/Virtualisation 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.
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.
Ligne 11 : Ligne 11 :
* tester certains logiciels (serveurs web, mail, etc...) dans une machine virtuelle, sans devoir apporter de grosses modifications à 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 [http://www.xenproject.org Xen], l'interface de gestion des machines virtuelles (VM) sera [http://virt-manager.org/ virt-manager] (ce qui induit l'utilisation de [http://virt-manager.org/ libvirt]). L'utilisation de la libvirt permet d'utiliser différents logiciels de gestion de machine virtuelle telle que [https://wiki.gnome.org/Boxes Gnome Boxes].
L'hyperviseur utilisé sera [http://www.xenproject.org Xen], l'interface de gestion des machines virtuelles (VM) sera [http://virt-manager.org/ virt-manager] (ce qui induit l'utilisation de [http://virt-manager.org/ libvirt]).<br />
L'utilisation de la libvirt permet d'utiliser différents logiciels de gestion de machine virtuelle telle que [https://wiki.gnome.org/Boxes Gnome Boxes].


Plus d'informations sur Xen [http://plam.fr/comprendre-xen-et-son-%C3%A9cosyst%C3%A8me/ ici]
Plus d'informations sur Xen [http://plam.fr/comprendre-xen-et-son-%C3%A9cosyst%C3%A8me/ ici]


A titre d'information, la configuration matérielle utilisée pour ce tutoriel : AMD PhenomII X4 / 4Go de RAM
A titre d'information, la configuration matérielle qui a été 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.
Important : Vérifiez que les extensions de virtualisation du processeur sont bien activées dans le BIOS de votre ordinateur.




Ligne 24 : Ligne 25 :
Nous allons installer un système 64 bits.
Nous allons installer un système 64 bits.


Télécharger l'iso netinst amd64 depuis [http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/]
Téléchargez l'iso netinst amd64 depuis [http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/]




Ligne 46 : Ligne 47 :




Cocher seulement "Utilitaires usuels du système"
Cochez seulement "Utilitaires usuels du système"


Un environnement de bureau minimal sera ajouté manuellement après.
Un environnement de bureau minimal sera ajouté manuellement après.
Ligne 63 : Ligne 64 :
apt-get install lxde-core lightdm iceweasel xul-ext-adblock-plus cpufrequtils htop
apt-get install lxde-core lightdm iceweasel xul-ext-adblock-plus cpufrequtils htop
</code>
</code>
(le serveur xorg est automatiquement installé via les dependances)
(le serveur xorg sera automatiquement installé via les dépendances)


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)
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)
Ligne 71 : Ligne 72 :
</code>
</code>


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: Ceci installera également via les dépendances, l'émulateur qemu (ainsi que son extension de virtualisation KVM) et ses outils tels que qemu-img qui va permettre la création des 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.
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é.
Redémarrez la machine, et booter sur le noyau XEN nouvellement installé.


Normalement vous devriez arriver sur l'écran de connexion graphique.
Normalement vous devriez arriver sur l'écran de connexion graphique.
Ligne 99 : Ligne 100 :
Premier lancement du gestionnaire (graphique) de machines virtuelles (VM pour abréger)
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
Un message d'erreur "Unable to connect to libvirt" devrait apparaître. 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.
Ouvrez un terminal graphique en tant que root.
Ligne 108 : Ligne 109 :
</code>
</code>


Important : il faut fermer sa session et se reconnecter pour que le changement soit effectif.
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".
Relancez le gestionnaire de VM, une autre erreur se manifeste "Unable to connect to localhost:8000".
Cela vient de la configuration de Xen.
Cela vient de la configuration de Xen.


Ligne 117 : Ligne 118 :
</code>
</code>


remplacer les lignes :
remplacez les lignes :
<code>
<code>
#(xend-http-server no)
#(xend-http-server no)
Ligne 128 : Ligne 129 :
</code>
</code>


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.
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 :
D'autre part si vous activez xend-http-server, vérifiez aussi les deux directives :
<code>
<code>
#(xend-address '')
#(xend-address '')
Ligne 138 : Ligne 139 :
pour n'autoriser l'accès au serveur Xen que depuis l'ordinateur local (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
Après toute modification relancez le démon xen
<code>
<code>
service xen restart
service xen restart
</code>
</code>


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


[[Fichier:Xen1.png]]
[[Fichier:Xen1.png]]
Ligne 153 : Ligne 154 :


Cliquez sur l'icône "Créer une nouvelle machine virtuelle" pour lancer l'assistant.
Cliquez 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"
Pour choisir votre iso, dans la fenêtre "Localisez 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)
Renseignez le type de SE et la version (dans ce tutoriel ce sera Linux, Debian Wheezy)
Ligne 162 : Ligne 163 :
Note : Pensez à démarrer automatiquement cette interface réseau virtuelle dans les propriétés du serveur Xen.
Note : Pensez à 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.
A l'issue de l'assistant, la nouvelle VM sera automatiquement démarrée, et la console VNC devrait apparaître.


[[Fichier:Xen3.png]]
[[Fichier:Xen3.png]]
Ligne 193 : Ligne 194 :
== Démarrage par défaut sur le noyau Xen dans GRUB2 ==
== Démarrage par défaut sur le noyau Xen dans GRUB2 ==


Editer le fichier de configuration de GRUB
Editez le fichier de configuration de GRUB
<code>
<code>
nano /etc/default/grub
nano /etc/default/grub
</code>
</code>


Changer la ligne
Changez la ligne
<code>GRUB_DEFAULT=0</code>
<code>GRUB_DEFAULT=0</code>
par
par

Version du 6 septembre 2014 à 21:22

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 qui a été utilisée pour ce tutoriel : AMD PhenomII X4 / 4Go de RAM

Important : Vérifiez 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échargez 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

Cochez 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 sera automatiquement installé via les dépendances)

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 qui va permettre la création des 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émarrez 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 apparaître. 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.

Relancez 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

remplacez 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érifiez 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 relancez le démon xen service xen restart

Relancez le gestionnaire de VM, normalement aucune autre erreur ne devrait apparaître, 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)

Cliquez sur l'icône "Créer une nouvelle machine virtuelle" pour lancer l'assistant. Pour choisir votre iso, dans la fenêtre "Localisez 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 automatiquement le pont réseau créé par défaut (virbr0).

Note : Pensez à 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 sera 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 connaître l'UUID, voir dans les détails de la VM)

N'éditez pas ce fichier manuellement car il est gé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

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

Changez 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

Comprendre Xen et son écosystème