Seconde partie du tutoriel sur la virtualisation « Xen et OpenVswitch sont dans une Debian« .
Dans la partie précédente, nous avons installer Debian, LVM, et fait quelques réglages.
Nous allons maintenant procéder à l’installation de Xen en version 4.8.
I – Installation
# apt-get install xen-linux-system-amd64 xen-tools
Ensuite, nous allons demander à Debian de booter sur le bon noyau :
# dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen # update-grub
Puis, on reboot, et au démarrage, on vérifie que Xen est bien en place :
# xentop
II – Configuration
Modification du fichier /etc/xen/xl.conf :
# default vif script to use if none is specified in the guest config vif.default.script="vif-openvswitch"
# default bridge device to use with vif-bridge hotplug scripts vif.default.bridge="brint"
Puis dans le fichier /etc/xen-tools/xen-tools.conf, modifiez les lignes suivantes :
lvm = vg0 ... bridge = brint ... passwd = 1 ... nohosts = 1
III – Xen et le temps.
Le petit soucis avec les VMs, c’est que sans contrôle du temps, ça drift rapidement.
La solution simple, c’est de mettre en place un serveur NTP sur le Dom0 qui donnera l’heure aux Domu par le vlansys.
# apt-get install ntp
Ensuite, on modifie le fichier /etc/ntp.conf :
# Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict 10.99.1.0 mask 255.255.255.0 restrict ::1 ... broadcast 10.99.1.255
On redémarre
# service ntp restart
puis on vérifie que le serveur ntp se connecte bien à la strate ntp :
# ntpq -p
IV – Création du rôle et du squelette
A – Rôle
Pour automatiser certaines choses lors de l’installation de la vm, on va utiliser un rôle.
Créer un fichier /etc/xen-tools/role.d/tuto :
#!/bin/sh prefix=$1 if [ -e /usr/share/xen-tools/common.sh ]; then . /usr/share/xen-tools/common.sh else echo "Installation problem" fi chroot ${prefix} /usr/bin/apt-get update chroot ${prefix} /usr/bin/apt-get upgrade -y installDebianPackage ${prefix} udev installDebianPackage ${prefix} htop installDebianPackage ${prefix} bash-completion installDebianPackage ${prefix} ntp installDebianPackage ${prefix} net-tools cp -a /etc/xen-tools/skel2/* ${prefix} chroot ${prefix} ln -fs /usr/share/zoneinfo/Europe/Paris /etc/localtime chroot ${prefix} dpkg-reconfigure -f noninteractive tzdata
On le rend exécutable :
# chmod +x /etc/xen-tools/role.d/tuto
B – Création du squelette
Le squelette est un répertoire dans lequel nous allons mettre des fichiers qui seront copiés sur les vms lors de l’installation.
Il existe un répertoire /etc/xen-tools/skel mais le contenu de celui ci est copié de façon automatique avant l’exécution des rôles, ce qui me pose quelques soucis. Nous allons donc en faire un autre et demander sa copie dans le rôle.
# cd /etc/xen-tools/ # mkdir skel2 && cd skel2 # mkdir etc
Dans ce répertoire (/etc/xen-tools/skel2/etc), créez un premier fichier ntp.conf (/etc/xen-tools/skel2/etc/ntp.conf) :
driftfile /var/lib/ntp/ntp.drift statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 10.99.1.1 restrict 127.0.0.1 restrict ::1
Puis un fichier sshd_config (dans un sous répertoire ssh : /etc/xen-tools/skel2/etc/ssh/sshd_config)
Port 22 PermitRootLogin yes Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 1024 SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 PermitRootLogin without-password StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
Terminez avec le fichier hosts (/etc/xen-tools/skel2/etc/hosts) :
127.0.0.1 localhost
Et voila, notre hyperviseur est enfin prêt, nous allons pouvoir passer à la Partie III : Installation d’OpenVswitch.
Bonjour,
Merci pour ces tutoriels tellement instructifs.
Sinon, merci de supprimer < du fi< la ligne 9 du fichier role, car ça va générer une exception en debian 9.
Merci pour le commentaire 😉
Oui, j’essaye d’être un maximum didactique…
Et oups en effet, faute de frappe pour le fichier, c’est corrigé 😉
Bonjour,
Pour la création du rôle c’est le fichier /etc/xen-tools/role.d/tuto qui faut éditer et non /etc/xen-tools/roles.d/tuto
Merci pour ce superbe tuto !
Bonjour,
Oups.
Merci pour la correction.
/etc/xen-tool/roles.d/tuto qui faut éditer sans le ‘S’ à tool.
DSL pour copier/coller trop rapide