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 :
- Prérequis : Nécessaire pour débuter la mise à jour.
- Processus de mise à jour : Étapes nécessaires pour la réalisation de la mise à jour
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 :
- D'avoir une connexion internet pour télécharger les paquets de mise à jour.
- Réaliser au préalable un snapshot de la VM afin de vite revenir à l'état précédent en cas de GROS problèmes.
- Réaliser quand même un backup de certains fichiers Esia. Pour éviter de faire un rollback du snapshot en cas de PETIT problème. Cette étape est NÉCESSAIRE en cas d'appel au support. Voir le point 3.1.1 « Faire un backup de votre Esia »
É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 :
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 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.