Table des matières

Mise à jour classique

Introduction

Le processus de mise à jour dépend beaucoup de la personnalisation qui a été faite sur votre Esia au niveau plugins.

Plus vous avez de plugins ajoutés et plus ces plugins risques de passer en erreur après la mise à jour. Il est donc d'autant plus important de respecter le processus de backup en plus du snapshot afin d'éviter d'être obligé d'effectuer un rollback.

La suite du tuto parle de :

Il est vivement conseillé voir nécessaire d'avoir lut au moins 1 fois ce tuto en entier avant de démarrer la mise à jour en production.

Prérequis

Avant de commencer la mise à jour, l’entièreté des points suivants doivent être remplis, il faut s'assurer :

Étapes de mise à jour

Préparation pre-update

Les 3 étapes suivantes sont a effectuer dans l'ordre souhaité.

Faire un backup de votre Esia

Ceci permettra d'éviter le retour au snapshot en cas de simple erreur de plugin ou autre. Ces erreurs de plugins sont d'ailleurs parfois inévitables et rends donc cette tâche nécessaire.

Les étapes sont :

Vérifiez si vouz avez suffisament d'espace disque pour le backup via la commande :

copy
df -h /root

L'espace disque nécessaire pour le backup dépends de votre Esia. Mais si vous utilisez moins de 50% de votre espace disque. Vous êtes certain d en avoir suffisamment.

backup.sh
#!/bin/bash
cd /
mkdir -p /root/BACKUP_ESIA
su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql
cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins
cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html
cp -r /etc/apache2 /root/BACKUP_ESIA/apache2
cp -r /etc/esia /root/BACKUP_ESIA/esia_conf
iptables-save > /root/BACKUP_ESIA/iptables.txt
dpkg -l > /root/BACKUP_ESIA/version.txt

On peut vérifier si le backup c'est bien réalisé en saisissant la commande suivante :

copy
du -sh /root/BACKUP_ESIA/*
Exemples :

Sur un petit esia

root@debian:~# cd /
root@debian:/# mkdir -p /root/BACKUP_ESIA
root@debian:/# su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql
root@debian:/# cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins
root@debian:/# cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html
root@debian:/# cp -r /etc/apache2 /root/BACKUP_ESIA/apache2
root@debian:/# cp -r /etc/esia /root/BACKUP_ESIA/esia_conf
root@debian:/# iptables-save > /root/BACKUP_ESIA/iptables.txt
root@debian:/# dpkg -l > /root/BACKUP_ESIA/version.txt
root@debian:/# du -sh /root/BACKUP_ESIA/*
652K	/root/BACKUP_ESIA/apache2
32K	/root/BACKUP_ESIA/esia_conf
4,0K	/root/BACKUP_ESIA/iptables.txt
660K	/root/BACKUP_ESIA/pg_database.sql
7.9M	/root/BACKUP_ESIA/plugins
23M	/root/BACKUP_ESIA/public_html
96K	/root/BACKUP_ESIA/version.txt
root@debian-jessie:/#

En cas d'erreur, on a des fichiers/répertoires absents ou vides

root@debian:/# cd /
root@debian:/# mkdir -p /root/BACKUP_ESIA
root@debian:/# su postgres -c pg_dumpall > /root/BACKUP_ESIA/pg_database.sql
pg_dumpall: could not connect to database "template1": could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
root@debian:/# cp -r /usr/local/esia/plugins /root/BACKUP_ESIA/plugins
root@debian:/# cp -r /usr/local/esia/public_html /root/BACKUP_ESIA/public_html
root@debian:/# cp -r /etc/apache2 /root/BACKUP_ESIA/apache2
root@debian:/# cp -r /etc/esia /root/BACKUP_ESIA/esia_conf
root@debian:/# iptables-save > /root/BACKUP_ESIA/iptables.txt
root@debian:/# dpkg -l > /root/BACKUP_ESIA/version.txt
root@debian-jessie:/# du -sh /root/BACKUP_ESIA/*
652K	/root/BACKUP_ESIA/apache2
32K	/root/BACKUP_ESIA/esia_conf
4,0K	/root/BACKUP_ESIA/iptables.txt
0	/root/BACKUP_ESIA/pg_database.sql
7.9M	/root/BACKUP_ESIA/plugins
23M	/root/BACKUP_ESIA/public_html
96K	/root/BACKUP_ESIA/version.txt
root@debian-jessie:/#

Faire un snapshot de la VM

Afin de pouvoir revenir rapidement en cas de crash complet.

Désactiver le système d'alerting

Pour éviter de recevoir des faux-positifs pendant la mise à jour

copy
chmod -x /usr/local/esia/plugins/alerting/*

Mise à jour

Préparer la mise à jour :

Vérifiez que le dépot Esia est bien présent dans votre fichier source.

copy
cat /etc/apt/sources.list

Vous devriez avoir cette ligne dans votre fichier

copy
deb http://stable.repository.esia-sa.com/esia bullseye contrib non-free

Mettez à jour la liste de vos paquets avec la commande suivante

copy
apt update
Exemple
root@debian-jessie:/# apt-get update
Get:1 http://10.8.0.9 stretch InRelease [2,271 B]
Get:2 http://10.8.0.9 stretch/contrib amd64 Packages [7,200 B]
Get:3 http://10.8.0.9 stretch/non-free amd64 Packages [1,963 B]
Ign http://10.8.0.9 stretch/contrib Translation-en_US
Ign http://10.8.0.9 stretch/contrib Translation-en
Ign http://10.8.0.9 stretch/non-free Translation-en_US
Ign http://10.8.0.9 stretch/non-free Translation-en
Ign http://ftp.be.debian.org stretch InRelease
Get:4 http://ftp.be.debian.org stretch Release.gpg [2,410 B]
Get:5 http://ftp.be.debian.org stretch Release [118 kB]
Get:6 http://ftp.be.debian.org stretch/main amd64 Packages [7,080 kB]
Get:7 http://ftp.be.debian.org stretch/main Translation-en [5,377 kB]
Fetched 12.6 MB in 2s (4,354 kB/s)
Reading package lists... Done
root@debian-jessie:/#

Vérifier l'état actuel de votre système :

  1. Faites un screenshot de l'état de vos noeuds et services.

    État des noeuds et services

  2. Notez quelle heure il est.

Mettez à jour la liste de vos paquets avec la commande suivante

copy
apt-get update

Lancer la mise à jour :

Pour télécharger la mise à jours ESIA + OS

copy
apt-get dist-upgrade

Avant de confirmer, vérifier si vous aurez suffisamment d'espace disque :

Dans l'exemple ci-dessous, il faudra 92 MB + 101 MB pendant l'installation.

125 upgraded, 1 newly installed, 4 to remove and 0 not upgraded.
Need to get 92 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Do you want to continue? [Y/n]

La programme apt va maintenant mettre à jour votre Esia et votre système d'exploitation.

Une fois la mise à jour réalisée, n'oubliez pas de faire un rechargement du cache de votre navigateur

Réactivez le système d'alerte

Une fois que votre Esia fonctionne correctement, n'oubliez pas de réactiver l'alerting :

Activation :
copy
chmod +x /usr/local/esia/plugins/alerting/*
Vérifier si il est activé :
copy
ls --color -l /usr/local/esia/plugins/alerting/*

On peut voir dans les exemples ci-dessous la couleur verte qui indique que le sripts sont éxécutables. Ils sont donc activés.

Exemples :

Alerting désactivé

Alerting désactivé

Alerting activé

Alerting activé

Il faut maintenant tester que vous recevez bien les mails d'alertes

copy
/usr/local/esia/plugins/alerting/send_mail_html.pl -e min -t <votre adresse mail> -D

Regardez si un mail est bien arrivé dans votre boite.