Code source wiki de Backups

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

Masquer les derniers auteurs
Aubincleme 108.1 1 {{toc/}}
2
Clément AUBIN 110.1 3 = Présentation =
Aubincleme 108.1 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
Clément AUBIN 110.1 11 = Fonctionnement =
Aubincleme 108.1 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
Clément AUBIN 110.1 17 = Ajout d’un nouveau contenu à sauvegarder =
Aubincleme 108.1 18
Clément AUBIN 110.3 19 Si vous souhaitez mettre en place une sauvegarde pour un nouveau serveur, voici un exemple de procédure à suivre.
Aubincleme 108.1 20
Clément AUBIN 110.7 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.
Aubincleme 108.1 22
Clément AUBIN 110.7 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
Clément AUBIN 110.6 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]] :
Clément AUBIN 110.3 26
Clément AUBIN 110.6 27 {{code language="yaml"}}
28 ---
29 classes:
30 - atilla::services::backups::share
Clément AUBIN 110.3 31
Clément AUBIN 110.6 32 atilla::services::backups::share::folder: '/var/opt/gitlab/backups'
Aubincleme 108.1 33
Clément AUBIN 110.6 34 {{/code}}
35
Clément AUBIN 110.1 36 = Notes importantes =
Aubincleme 108.1 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).