Code source wiki de Backups
Modifié par Clément AUBIN le 2022/01/17 12:29
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 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). |