Code source wiki de Backups

Modifié par Clément AUBIN le 2022/01/17 12:29

Afficher les derniers auteurs
1 {{toc/}}
2
3 = Présentation =
4
5 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 :
6
7 * Des dumps des bases de données de production ({{code}}pgsql-prod{{/code}}, {{code}}mysql-prod{{/code}}) et de test ({{code}}pgsql-test{{/code}}, {{code}}mysql-test{{/code}})
8 * Des dumps de bases de données spécifiques à certains services : {{code}}gitlab-prod{{/code}} et {{code}}rocket-prod{{/code}}
9 * Des éléments de configuration pour les services critiques de l’infrastructure : configuration DNS, DHCP, …
10
11 = Fonctionnement =
12
13 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.
14
15 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.
16
17 = Ajout d’un nouveau contenu à sauvegarder =
18
19 Si vous souhaitez mettre en place une sauvegarde pour un nouveau serveur, voici un exemple de procédure à suivre.
20
21 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.
22
23 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}}.
24
25 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]] :
26
27 {{code language="yaml"}}
28 ---
29 classes:
30 - atilla::services::backups::share
31
32 atilla::services::backups::share::folder: '/var/opt/gitlab/backups'
33
34 {{/code}}
35
36 = Notes importantes =
37
38 * 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.
39 * 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.
40 * Il est également nécessaire de notifier la DOSI lors de l'ajout de gros volumes à sauvegarder (>5G).