« Xen Desktop Wheezy » : différence entre les versions
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 | 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 | 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 : | 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échargez l'iso netinst amd64 depuis [http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/] | |||
Ligne 46 : | Ligne 47 : | ||
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 | (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: | 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 : | 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. | 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 | 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 : | 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. | Cela vient de la configuration de Xen. | ||
Ligne 117 : | Ligne 118 : | ||
</code> | </code> | ||
remplacez les lignes : | |||
<code> | <code> | ||
#(xend-http-server no) | #(xend-http-server no) | ||
Ligne 128 : | Ligne 129 : | ||
</code> | </code> | ||
Note : | 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, | 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 | Après toute modification relancez le démon xen | ||
<code> | <code> | ||
service xen restart | service xen restart | ||
</code> | </code> | ||
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 " | 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 | 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 == | ||
Editez le fichier de configuration de GRUB | |||
<code> | <code> | ||
nano /etc/default/grub | nano /etc/default/grub | ||
</code> | </code> | ||
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 :
- (xend-http-server no)
- (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 :
- (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