5.5 KiB
Paramétrage du partage de fichiers
Démarrer les services uniquement après le montage de /srv/nfs
Ajouter pour les services liés à Publik un supplément RequiresMountsFor= à la description du service
Exemple pour Combo :
cat /etc/systemd/system/combo.service.d/wait-for-mnt-data.conf
[Unit]
RequiresMountsFor=/srv/nfs
Faire de même avec :
- les services systemd-isés qui ont besoin de /srv/nfs : Combo, Fargo, Passerelle.
- les services bientôt systemd-isés (avant fin 2017, donc prévoir dès maintenant le supplément) : authentic2-multitenant, hobo, hobo-agent, wcs
Mise en place de l’équilibrage de la charge
Vue générale
Le principe est de déplacer vers le partage de fichier (NFS) les éléments de configuration de web1 :
- les répertoires de configuration /etc/xxx des composants Publik, copiés vers /srv/nfs/publik/etc/xxx,
- les données /var/lib/xxx de ces mêmes composants, copiés vers /srv/nfs/publik/var-lib/xxx,
- la configuration nginx ; copiés vers /srv/nfs/publik/etc/nginx/xxx et /srv/nfs/publik/var-www/html.
Sur web1 et sur web2, on utilise alors des liens symboliques :
- Configuration : /etc/xxx → /srv/nfs/publik/etc/xxx,
- Données : /var/lib/xxx → /srv/nfs/publik/var-lib/xxx,
- Configuration nginx.
Détail des opérations
Création des répertoires partagés :
- configurations: /srv/nfs/publik/etc,
- données des tenants: /srv/nfs/publik/var-lib/,
- éléments web (favicon, robots.txt): /srv/nfs/publik/var-www/,
Déplacement des configurations et données des services Publik
-
Service wcs
service wcs stop mv /etc/wcs /srv/nfs/publik/etc/ ln -sf /srv/nfs/publik/etc/wcs /etc/wcs mv /var/lib/wcs /srv/nfs/publik/var-lib/ ln -sf /srv/nfs/publik/var-lib/wcs /var/lib/wcs service wcs start
-
Service combo
service combo stop mv /etc/combo /srv/nfs/publik/etc/ ln -sf /srv/nfs/publik/etc/combo /etc/combo mv /var/lib/combo /srv/nfs/publik/var-lib/ ln -sf /srv/nfs/publik/var-lib/combo /var/lib/combo service combo start
-
Même procédure avec fargo
-
Même procédure avec passerelle
-
Même procédure avec hobo
-
Même procédure avec authentic2-multitenant
-
Configuration hobo-agent
service supervisor stop mv /etc/hobo-agent /srv/nfs/publik/etc/ ln -sf /srv/nfs/publik/etc/hobo-agent /etc service supervisor start
Autres partages via NFS :
-
Configurations nginx
service nginx stop mkdir /srv/nfs/publik/etc/nginx cd /etc/nginx mv conf.d includes sites-available sites-enabled /srv/nfs/publik/etc/nginx/ ln -sf /srv/nfs/publik/etc/nginx/* . service nginx start
-
Éléments web statiques
cd /var/www mv html /srv/nfs/publik/var-www/ ln -sf /srv/nfs/publik/var-www/html .
-
APT : dépôts et préférences backports
mkdir /srv/nfs/publik/etc/apt cd /etc/apt mv sources.list.d preferences.d /srv/nfs/publik/etc/apt/ ln -sf /srv/nfs/publik/etc/apt/* .
Opérations sur web2
Attention : l'UID et le GUID de l'utilisateur "web" doit être identique.
On prépare les répertoires de configuration et de données des composants Publik avant leur installation :
-
Service wcs
ln -sf /srv/nfs/publik/etc/wcs /etc/wcs ln -sf /srv/nfs/publik/var-lib/wcs /var/lib/wcs
-
Service combo
ln -sf /srv/nfs/publik/etc/combo /etc/combo ln -sf /srv/nfs/publik/var-lib/combo /var/lib/combo
-
Même procédure avec fargo
-
Même procédure avec passerelle
-
Même procédure avec hobo
-
Même procédure avec authentic2-multitenant
-
Configuration hobo-agent
ln -sf /srv/nfs/publik/etc/hobo-agent /etc/hobo-agent
On utilise aussi les autres configurations partagées via NFS :
-
Configurations nginx
service nginx stop cd /etc/nginx rm -rf conf.d includes sites-available sites-enabled ln -sf /srv/nfs/publik/etc/nginx/* . service nginx start
-
Éléments web statiques
cd /var/www rm -rf html ln -sf /srv/nfs/publik/var-www/html .
-
APT : dépôts et préférences backports
cd /etc/apt rm -rf sources.list.d preferences.d ln -sf /srv/nfs/publik/etc/apt/* .
On peut alors lancer l'installation des composants packagés. Attention, lors de cette étape, toujours refuser les éventuelles demandes de modification des fichiers de configuration (on utilise ceux partagés par NFS) :
apt install wcs wcs-au-quotidien
apt install combo
apt install fargo
apt install passerelle
apt install hobo
apt install authentic2-multitenant
apt install hobo-agent
Nous comparons la liste des paquets installés entre web1 et web2 (obtenue avec dpkg -l), et installons les paquets suivants :
- python-authentic2-auth-fc,
- python-combo-plugin-macollectivite,
- publik-base-theme,
- gettext
Désactivation des crons Publik sur web2
Il est très important de désactiver les crons de Publik sur web2, pour ne pas avoir de compétition/conflit avec ceux déjà en place sur web1, puisqu'ils agissent sur les mêmes données.
Il faut donc poser des # devant les lignes des crons suivants :
- /etc/cron.d/wcs,
- /etc/cron.d/authentic2-multitenant,
- /etc/cron.d/passerelle,
- /etc/cron.hourly/python-combo,
- /etc/cron.hourly/fargo.