This commit is contained in:
Christophe Siraut 2018-01-25 12:28:48 +01:00
parent 79ea64ec61
commit f1a7e95b56
1 changed files with 33 additions and 36 deletions

View File

@ -3,24 +3,24 @@
Ce chapitre présente des moyens permettant d'ajouter de la redondance en vue de
garantir la disponibilité d'une installation de Publik. La charge des
opérations est dès lors répartie sur plusieurs machines; et le service est
maintenu en cas de panne sur un des composants.
maintenu en cas de panne d'un des composants.
## Pré-requis
Se référer aux <a href='../pre-requis/'>pré-requis</a> avec les différences suivantes:
Voici les machines utilisée dans une architecture à haute disponibilité:
Se référer aux <a href='../pre-requis/'>pré-requis</a> avec les différences
suivantes: voici les machines utilisée dans une architecture à haute
disponibilité:
* 2 machines physiques identiques (ici nommées *web1* et *web2*):
* CPU 8 cœurs
* 32Go de mémoire vive
* 100Mo d'espace disque
* 100Go d'espace disque
* Debian 8 installé en architecture amd64 (installation minimale)
* un service frontal HAProxy (géré par le client)
* un service de base-de-donnée PostgreSQL (cluster géré par le client)
* un service de partage de fichiers NFS (cluster géré par le client)
* un service de base-de-donnée PostgreSQL disposant de 200Go d'espace (cluster géré par le client)
* un service de partage de fichiers NFS disposant de 200Go d'espace (cluster géré par le client)
## Installation des composants
@ -29,17 +29,17 @@ Voici les machines utilisée dans une architecture à haute disponibilité:
Commencer par une installation mono-machine. Ensuite déplacer les éléments de
configuration vers le partage de fichiers :
* 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*.
* 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 *web2* nous pointons les fichiers partagés à l'aide de liens symboliques :
* Configuration : */etc/xxx* → */srv/nfs/publik/etc/xxx,*
* Données : */var/lib/xxx* → */srv/nfs/publik/var/lib/xxx,*
* 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
@ -57,8 +57,8 @@ Déplacement des configurations et données des services Publik:
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
mv /var/lib/wcs /srv/nfs/publik/var/lib/
ln -sf /srv/nfs/publik/var/lib/wcs /var/lib/wcs
service wcs start
2. Service *combo*
@ -66,8 +66,8 @@ Déplacement des configurations et données des services Publik:
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
mv /var/lib/combo /srv/nfs/publik/var/lib/
ln -sf /srv/nfs/publik/var/lib/combo /var/lib/combo
service combo start
3. Même procédure avec *fargo*
@ -95,8 +95,8 @@ Autres partages via NFS :
2. Éléments web statiques
cd /var/www
mv html /srv/nfs/publik/var-www/
ln -sf /srv/nfs/publik/var-www/html .
mv html /srv/nfs/publik/var/www/
ln -sf /srv/nfs/publik/var/www/html .
3. APT : dépôts et préférences backports
@ -107,21 +107,21 @@ Autres partages via NFS :
### Opérations sur web2
**Attention** : l'UID et le GUID de l'utilisateur "web" doit être
**Attention** : l'UID et le GUID de l'utilisateur *www-data* doit être
identique.
On prépare les répertoires de configuration et de données des composants
Préparer les répertoires de configuration et de données des composants
Publik **avant** leur installation :
1. Service wcs
ln -sf /srv/nfs/publik/etc/wcs /etc/wcs
ln -sf /srv/nfs/publik/var-lib/wcs /var/lib/wcs
ln -sf /srv/nfs/publik/var/lib/wcs /var/lib/wcs
2. Service *combo*
ln -sf /srv/nfs/publik/etc/combo /etc/combo
ln -sf /srv/nfs/publik/var-lib/combo /var/lib/combo
ln -sf /srv/nfs/publik/var/lib/combo /var/lib/combo
3. Même procédure avec *fargo*
4. Même procédure avec *passerelle*
@ -131,7 +131,7 @@ Publik **avant** leur installation :
ln -sf /srv/nfs/publik/etc/hobo-agent /etc/hobo-agent
On utilise aussi les autres configurations partagées via NFS :
Préparer la configuration des autres composants:
1. Configurations nginx
@ -145,7 +145,7 @@ On utilise aussi les autres configurations partagées via NFS :
cd /var/www
rm -rf html
ln -sf /srv/nfs/publik/var-www/html .
ln -sf /srv/nfs/publik/var/www/html .
3. APT : dépôts et préférences backports
@ -153,10 +153,9 @@ On utilise aussi les autres configurations partagées via NFS :
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) :
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
@ -174,10 +173,6 @@ Nous comparons la liste des paquets installés entre web1 et web2
- publik-base-theme,
- gettext
## Configuration du frontal HAProxy
HAProxy doit disposer du ou des certificats X509.
## Désactivation des *crons* Publik sur web2
Il est **très important** de désactiver les crons de Publik sur web2,
@ -214,6 +209,8 @@ Faire de même avec :
- 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
## Configuration du frontal HAProxy
HAProxy doit disposer du ou des certificats X509.