Modifications pour le document Backups

Modifié par Jordan DIZIN le 2026/03/11 08:31

Depuis la version 111.1
modifié par Jordan DIZIN
sur 2026/03/11 08:30
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 108.2
modifié par Aubincleme
sur 2017/12/12 23:13
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Parent
... ... @@ -1,1 +1,0 @@
1 -Infrastructure.WebHome
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.dizinjorda
1 +Main.Backups.Aubincleme
Contenu
... ... @@ -1,13 +8,6 @@
1 -{{error}}
2 -Cette page n'est plus à jour par rapport à la nouvelle infrastructure : toutes les machines de la nouvelle infrastructure utilisent le système de snapshots de ZFS et l'utilitaire **sanoid** pour sauvegarder les versions précédentes des données des applications (volumes Docker).
3 -
4 -Ces snapshots sont actuellement manuellement exportées sur Laika2. Il est prévu d'automatiser le processus avec l'utilitaire **syncoid** au moment où cette page est écrite.
5 -{{/error}}
6 -
7 -
8 8  {{toc/}}
9 9  
10 -= Présentation =
3 +== Présentation ==
11 11  
12 12  Depuis le mois de février 2017, ATILLA dispose de sauvegardes sur les principaux composants de son infrastructure. Ces sauvegardes sont effectuées chaque jour et incluent des éléments tels que :
13 13  
... ... @@ -15,33 +15,48 @@
15 15  * Des dumps de bases de données spécifiques à certains services : {{code}}gitlab-prod{{/code}} et {{code}}rocket-prod{{/code}}
16 16  * Des éléments de configuration pour les services critiques de l’infrastructure : configuration DNS, DHCP, …
17 17  
18 -= Fonctionnement =
19 19  
12 +
13 +== Fonctionnement ==
14 +
20 20  Ces sauvegardes sont effectuées à l’aide de l’infrastructure [[Bacula>>url:http://blog.bacula.org/]] proposée au sein du S.I. de l’EISTI ; le serveur {{code}}bill.atilla.org{{/code}} dispose d’un //file daemon// Bacula chargé d’effectuer les sauvegardes de l’infrastructure tous les jours à partir de 21h.
21 21  
22 22  En pratique, l’agent {{code}}bacula-fd{{/code}} présent sur {{code}}bill.atilla.org{{/code}} ne sauvegarde que le contenu du dossier {{code}}/srv/bacula{{/code}}, dans ce dossier se trouvent plusieurs montages NFS des différents serveurs à sauvegarder.
23 23  
24 -= Ajout d’un nouveau contenu à sauvegarder =
19 +== Ajout d’un nouveau contenu à sauvegarder ==
25 25  
26 -Si vous souhaitez mettre en place une sauvegarde pour un nouveau serveur, voici un exemple de procédure à suivre.
21 +Si vous souhaitez mettre en place une sauvegarde pour un nouveau serveur, voici un exemple de procédure à suivre :
27 27  
28 -Depuis Janvier 2022, le montage des dossiers de backup entre la VM à sauvegarder et Bill est effectué automatiquement avec Puppet. En pratique, il est nécessaire d'ajouter la classe {{code language="none"}}atilla::services::backups::share{{/code}} au nœud à sauvegarder, et de configurer la variable {{code language="none"}}atilla::services::backups::share::folder{{/code}}. Puppet se charge ensuite d'installer {{code language="none"}}nfs-kernel-server{{/code}} sur la machine, de configurer ses exports, et de créer un point de montage sur Bill.
23 +**ATTENTION : ** Cette méthode ne constitue qu’une indication et nest en aucun cas la marche à suivre à la lettre dans la mise en place de nimporte quelle sauvegarde !
29 29  
30 -L'ensemble doit être opérationnel sous une heure après l'ajout de la configuration dans Puppet. Il est possible de regarder sur [[puppet.admin.atilla.org>>https://puppet.admin.atilla.org]] pour valider que le déploiement de la configuration se passe comme prévu, ou alors on peut tout simplement forcer l'exécution de la synchro Puppet, d'abord sur la machine à sauvegarder, puis sur Bill, avec la commande {{code language="none"}}puppet agent -t{{/code}}.
25 +Considérons qu’il est nécessaire de mettre en place la sauvegarde pour un tout nouveau serveur {{code}}pgsql-preprod{{/code}}
31 31  
32 -Voici par exemple la déclaration de la VM {{code language="none"}}gitlab-prod{{/code}}, pour sauvegarder le contenu de son dossier {{code language="none"}}/var/opt/gitlab/backups{{/code}}, [[à retrouver sur GitLab ici>>url:https://gitlab.atilla.org/adminsys/puppet/-/blob/49a3411aea807802edbd7e0bbe5ceaa4a114be4c/data/nodes/gitlab-prod.prod.infra.atilla.org.yaml]] :
27 +=== Configuration du serveur à sauvegarder ===
33 33  
34 -{{code language="yaml"}}
35 ----
36 -classes:
37 - - atilla::services::backups::share
38 38  
39 -atilla::services::backups::share::folder: '/var/opt/gitlab/backups'
40 40  
41 -{{/code}}
31 +1. Créer le dossier {{code}}/srv/backups{{/code}} : {{code}}mkdir -p /srv/backups{{/code}}
32 +1. Installer le serveur NFS : {{code}}apt install nfs-kernel-server{{/code}}
33 +1. Configurer le serveur NFS : {{code}}echo "/srv/backups 192.168.10.0/24(async,ro,no_subtree_check,no_root_squash)" >> /etc/exports{{/code}}
34 +1. Appliquer la configuration : {{code}}systemctl restart nfs-kernel-server{{/code}}
35 +1. Installer un [[Cron>>url:https://en.wikipedia.org/wiki/Cron]] pour réaliser les dumps de la base de données : {{code}}crontab -e{{/code}}, ajouter la ligne {{code}}0 2 * * * su -l -c "pg_dumpall -f /srv/backups/postgres.sql" postgres{{/code}}
42 42  
43 -= Notes importantes =
44 44  
38 +
39 +=== Configuration de {{code}}bill.atilla.org{{/code}} ===
40 +
41 +
42 +
43 +1. Créer le dossier du montage NFS : {{code}}mkdir -p /srv/bacula/pgsql-preprod{{/code}}
44 +1. Ajouter le partage NFS dans le [[fstab>>url:https://en.wikipedia.org/wiki/Fstab]] : {{code}}echo "pgsql-preprod.preprod.infra.atilla.org:/srv/backups /srv/bacula/pgsql-preprod/ nfs noauto,ro,hard,intr 0 0" >> /etc/fstab{{/code}}
45 +1. Monter le partage NFS : {{code}}mount pgsql-preprod.preprod.infra.atilla.org:/srv/backups{{/code}}
46 +
47 +C’est tout ! L’agent Bacula se charge ensuite d’effectuer la sauvegarde de {{code}}/srv/bacula{{/code}}.
48 +
49 +== Notes importantes ==
50 +
51 +
52 +
45 45  * Pour que notre installation de Bacula soit homogène avec les installations de la DOSI, notre agent {{code}}bacula-fd{{/code}} à été rétrogradé à sa version 5.4.
46 46  * Il est nécessaire de notifier la DOSI lors de l’ajout d’un nouveau répertoire monté via NFS dans {{code}}/srv/bacula{{/code}} pour que la sauvegarde de ce nouveau point de montage soit effective.
47 47  * Il est également nécessaire de notifier la DOSI lors de l'ajout de gros volumes à sauvegarder (>5G).