Ekumen, d'abord virtualisée sous Xen, a été migrée sur la plateforme de virtualisation HVM afin d'avoir un meilleur contrôle du noyau (version, paramètres de démarrage). Voir la documentation de Gandi pour plus de détails.
- Pas de snapshot
- Utilisation de l'interface Web de gestion du serveur en lieu et place des
commandes
gandi
fournies dans la doc susmentionnée.
1. Ajout du dépôt de paquets de Gandi (http://mirrors.gandi.net/gandi/debian jessie main
)
sudo vim /etc/apt/sources.list.d/gandi.list
sudo apt-key adv --keyserver=hkp://pool.sks-keyservers.net --recv-key D8EAC2F4DAFE3FA5
sudo apt-get update
sudo etckeeper commit
2. Installation du fichier /etc/default/gandi
avant le paquet gandi-hosting-vm2
Pour éviter que l'installation du paquet gandi-hosting-vm2
ne refasse la
configuration du serveur, j'ai installé d'abord le fichier de configuration
principal :
apt-get download gandi-hosting-vm2
dpkg-deb -x gandi-hosting-vm2_2.6_all.deb gandi-hosting-vm2
sudo cp gandi-hosting-vm2/etc/default/gandi /etc/default
et l'ai modifié comme suit :
CONFIG_MOTD=0
CONFIG_TIMEZONE=0
CONFIG_SYSCTL=0
CONFIG_SSHD=0
CONFIG_CONSOLE=0
CONFIG_HOSTNAME=0
CONFIG_NAMESERVER=0
CONFIG_ALLOW_MOUNT=0
CONFIG_CRON=0
CONFIG_NODHCP=""
Puis installation du paquet :
sudo etckeeper commit
sudo apt-get install gandi-hosting-vm2
3. Modification de fstab
et test avec le noyau HVM.
Les noms des disques diffèrent selon les plateformes de virtualisation, et le
passage de Xen à HVM implique de modifier le fichier /etc/fstab
:
sudo sed -ie 's,xvda1,sda,; s,xvda2,sdb,' /etc/fstab
sudo etckeeper commit
Puis dans l'interface Web de gestion du serveur, spécifier un démarrage sur
le noyau HVM fourni par Gandi (3.18-x86_64 (hvm)
). On y accède via la
page de Modification des options sur le disque sysdisk01, dans le champ
Kernel. Toujours depuis l'interface Web, redémarrer le seveur à froid
(Arrêter, attendre et rafraîchir la page, Redémarrer).
uname -r
nous dit que la migration est effectivesudo etckeeper vcs status
dit que/etc
est proprelsblk
nous apprend que la racine du système est bien sursda
, mais que le disquesdb
est utilisé comme espace d'échange (swap
), désactivé sur le champ.
Après un peu de lecture, désactivation d'un service de magie violette (responsable de l'activation du disque de swap) :
sudo systemctl disable gandi-bootstrap.service
sudo etckeeper commit
4. Passage à GRUB et au noyau de Debian Jessie (3.16.0-4-amd64
)
Installation des paquets nécessaires (sans oublier que c'est pour déployer AppArmor qu'on fait tout ça) :
sudo apt-get install grub-pc linux-image-amd64 apparmor apparmor-utils apparmor-profiles
Comme la racine du système est sur un disque (et non une partition), et que
les disques sont virtuels, et qu'on n'a en fait besoin que du menu de GRUB,
j'ai dit à debconf de ne pas installer le chargeur de démarrage GRUB sur un
des disques, pour éviter une erreur à l'installation du paquet grub-pc
.
Puis édition de /etc/default/grub
:
GRUB_CMDLINE_LINUX="apparmor=1 security=apparmor"
et reconstruction du menu de démarrage avec sudo update-grub
.
Enfin, depuis l'interface Web, passage du Kernel courant à grub, et redémarrage à froid. Après le redémarrage, pour s'assurer qu'on a bien ce qu'on attendait :
sudo aa-status
Problème
En cours de manipulations, je découvre avec stupéfaction qu'ekumen ne redémarre
pas correctement (semble avoir un problème de configuration/initialisation de la
carte réseau) après un bête sudo reboot
, et doit donc être redémarrée
systématiquement depuis l'interface Web.
todo: à corriger si possible