Je ne rencontre pas de souci avec Xen+virt-manager
Xen est maintenant intégré au noyau Linux depuis la version 3.0 (pas besoin d'avoir un noyau spécifique)
Voici le tuto que je me suis fait :Installer Xen via le meta paquet suivant :
apt install xen-hypervisor-amd64Modifier grub pour booter sur Xen puis rebooter :
cd /etc/grub.d
mv 20_linux_xen 07_linux_xen
update-grub
reboot
sudo -sVérifier que Xen est bien installé :
xm list# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 7940 4 r----- 13.1
pour les version récentes de Xen :
sudo xl listLe choix entre xm (défaut Ubuntu 13.04 et inférieur) et xl :
http://wiki.xen.org/wiki/XLLa configuration se fait dans ce petit fichier :
nano -w /etc/default/xenLe reste de la configuration est dans ce gros fichier :
nano -w /etc/xen/xend-config.sxpxm info# xm info
host : BboxAdsl0
release : 3.8.0-25-generic
version : #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013
machine : x86_64
nr_cpus : 4
nr_nodes : 1
cores_per_socket : 2
threads_per_core : 2
cpu_mhz : 3392
hw_caps : bfebfbff:28100800:00000000:00007f40:359ae3bf:00000000:00000001:00000281
virt_caps : hvm
total_memory : 8161
free_memory : 128
free_cpus : 0
xen_major : 4
xen_minor : 2
xen_extra : .1
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset : unavailable
xen_commandline : placeholder
cc_compiler : gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
cc_compile_by : stefan.bader
cc_compile_domain : canonical.com
cc_compile_date : Mon Jun 10 15:23:30 UTC 2013
xend_config_format : 4
Rechercher des processus Xen :
pgrep xen -l# pgrep xen -l
31 xenwatch
32 xenbus
895 xenstored
900 xenconsoled
1045 xend
1046 xend
Configuration du réseau coté serveur : (2 interfaces Ethernet physique dont une pour la VM)Installation du réseau :
apt install bridge-utilsFichier de configuration réseau :
nano /etc/network/interfaces -w# The loopback network interface
auto lo
iface lo inet loopback
# Interface intégrée N°1 (em1)
auto em1
iface em1 inet manual
auto xenbr0
iface xenbr0 inet static
bridge_ports em1
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 192.168.1.254
# Interface intégrée N°2 (em2)
auto em2
iface em2 inet manual
auto xenbr1
iface xenbr1 inet manual
bridge_ports em2
#other possibly useful options in a virtualized environment
#bridge_stp off # disable Spanning Tree Protocol
#bridge_waitport 0 # no delay before a port becomes available
#bridge_fd 0 # no forwarding delay
rebooter :
rebootpour voir les ponts :
brctl show# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
xenbr0 8000.d4ae52c9dbdb no eth0
xenbr1 8000.d4ae52c9dbdc no eth1
Installation du moniteur de contrôle de virt-manager : libvirt-binsudo -sInstaller xen-tools :
apt install xen-toolsPréparer Xen pour communiquer avec libvirt :
nano -w /etc/xen/xend-config.sxpSous la ligne
#(xend-unix-server no) écrire :
(xend-unix-server yes)Redémarrer xend:
service xen restart et
service xendomains restartInstaller libvirt-bin :
apt install virtinst (libvirt-bin est dans la liste des paquets installés)
L'utilisateur utilisé pour gérer les machines virtuelles devra être ajouté au groupe libvirtd. Cela permettra de lui accorder l'accès aux options de réseau avancées :
adduser $USER libvirtdOn reboot :
reboot (le daemon libvirt-bin doit se charger)
libvirt installe un script de base dans le même esprit que xm fournit par xen :
virsh version# virsh version
Compiled against library: libvirt 1.0.2
Using library: libvirt 1.0.2
Utilisation de l'API : QEMU 1.0.2
erreur : impossible de récupérer la version de l'hyperviseur
erreur : internal error Cannot find suitable emulator for x86_64
On a un bridge de plus quand on regarde
brctl show$ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
xenbr0 8000.d4ae52c9dbdb no em1
xenbr1 8000.d4ae52c9dbdc no em2
virt-manager cherche a utiliser le dossier /usr/lib/xen-default alors que c'est installé dans le dossier /usr/lib/xen-4.2
La solution de contournement consiste a créer un lien symbolique comme j'ai expliqué dans
bugs.launchpad.net :
sudo -s
mkdir /usr/lib/xen-default
mkdir /usr/lib/xen-default/boot
ln -s /usr/lib/xen-4.2/boot/hvmloader /usr/lib/xen-default/boot/Liste des Storage Pools par défault :
boot-scratch => /var/lib/xen/
default => /var/lib/libvirt/images/
On va déplacer le dossier de stockage des images dans /home/libvirt :
mkdir /home/libvirton sort ensuite de root avec
"ctrl" + "d" et on va éditer le fichier .bashrc pour mettre nano pour l'utilitaire virsh :
nano -w ~/.bashrcon rajoute sous la ligne
# Alias definitions. la ligne suivante :
alias virsh='EDITOR=/usr/bin/nano virsh'
On se déloge puis en se relogue pour prendre en compte les modifications.
On utilise ensuite l'utilitaire pour modifier le chemin de stockage des images :
sudo -s
virsh pool-edit defaultRemplacer la ligne
<path>/var/lib/libvirt/images</path> par :
<path>/home/libvirt</path>
Pour information, le fichier modifier par l'utilitaire est :
nano -w /etc/libvirt/storage/default.xml (ne pas apporter de modification directement sur ce fichier, elles seraient écrasées)
On relance la lecture des fichiers de configuration :
service libvirt-bin restart (service libvirt-bin reload est insuffisant en cas de modifications des fichiers de conf)
Note : Après avoir rajouté ou enlever un fichier dans ces dossier il faut impérativement recharger libvirt-bin sur Dom0 :
service libvirt-bin reloadSur le PC où tu vas gérer graphiquement les VM, il faut installer virt-manager