Retour : Page Principale > Politique de sécurité
scripts_backup_adansoniatar.gz (3.3kB)
Elles sont déclenchées par le serveur de sauvegarde qui tente de réaliser la sauvegarde à l'aide de rsync.
La synchronisation se fait entre le dossier /home/ du poste de la personne et le dossier /home/ de cette même personne sur le serveur de sauvegarde.
Voir la méthode de sauvegarde des postes individuels
Voir la méthode de sauvegarde des ordinateurs portables
Par exemple /home/sequoia pour le serveur Sequoia.
Note : pour une raison obscure, les données volumineuses de Grosdur (RAID 5 d'Agathis) sont sauvegardées par Sequoia et non Agathis.
Voir la méthode de sauvegarde des serveurs
Il se charge de copier les dossiers /home/ de chacun des postes individuels et les dossiers de sauvegarde des serveurs sur :
Ces sauvegardes sont accessibles par SFTP sur le serveur de sauvegarde sous le nom :
snapshot utilise des liens en dur pour consommer le moins d'espace disque possible : un fichier présent dans les 9 snapshots n'occupe qu'une fois l'espace disque. Par contre, c'est seulement lorsque tous les liens en dur pointant sur un fichier sont supprimés que l'espace disque est libéré.
Les snapshots sont stockés sur /sauvegarde (1 disque de 4Tio).
Les données des ancien⋅ne⋅s collègues sont déplacées dès que possible sur l'ordinateur dédié aux archives pour ne pas saturer /home.
Au contraire, les serveurs appellent le serveur de sauvegarde; la crontab ne les mentionne donc pas.
La sauvegarde du code source des applications est également déclenchée ici.
Le cron définit l'horaire de la sauvegarde. Pour éditer la crontab :
Important : laisser le maximum de temps entre deux sauvegardes, car un cumul dégrade les performances.
Exemple de crontab de root (2017-08-07) :
Service : /etc/snapshot
Pour mieux contrôler l'heure de déclenchement utiliser : crontab -e
Pour un exemple des commandes de snapshot dans la crontab de root, voir le paragraphe ci-dessus.
Les fichiers de configuration du programme sont :
vide
include.text (2017-07-08) :
settings.text (2017-07-08) :
Voir la méthode de sauvegarde des postes individuels
Voir la méthode de sauvegarde des ordinateurs portables
Voir la méthode de sauvegarde du code source des applications
Lors du remplacement du serveur de sauvegarde, il peut être envisagé de mettre en place une solution de sauvegarde sur disque externe.
Le disque serait branché sur une machine de travail, le serveur de sauvegarde détecterait ce branchement et déclencherait la sauvegarde. Un mail préviendrait l'administrateur lorsque la sauvegarde serait terminée. Quelque chose dans ce goût-là.
De mon coté je préconiserais la solution de type stockage à froid. Même si il faudrait alors trouver/bricoler un système permettant d'envoyer des archives contenant des sauvegardes incrémentielles à intervalles réguliers.
Vue d'ensemble des sauvegardes de Tela Botanica
Principe de la sauvegarde sur le serveur de sauvegarde
Important : penser à mettre à jour la configuration de la sauvegarde lors des opérations suivantes :- arrivée/départ d'une nouvelle personne dans l'équipe
- ajout/suppression d'un compte utilisateur sur un serveur
- ajout/suppression d'une base de données sur un serveur
Scripts de sauvegarde
Une collection de scripts maison assurent les sauvegardes. Voici ceux qui doivent être présents sur Adansonia dans /usr/local/sbin.scripts_backup_adansoniatar.gz (3.3kB)
Postes individuels
Des sauvegardes quotidiennes se font durant la journée, toutes les 30mn environ.Elles sont déclenchées par le serveur de sauvegarde qui tente de réaliser la sauvegarde à l'aide de rsync.
La synchronisation se fait entre le dossier /home/ du poste de la personne et le dossier /home/ de cette même personne sur le serveur de sauvegarde.
Voir la méthode de sauvegarde des postes individuels
Voir la méthode de sauvegarde des ordinateurs portables
Containers Proxmox
Y'a un backup régulier (mensuel) au niveau des conteneurs Proxmox, voir "vzdump" dans ServeurOsyrisProcedureConfiguration et ServeurFestucaProcedureConfigurationServeurs
Ils envoient durant la nuit l'ensemble de leurs fichiers à sauvegarder dans un dossier de /home du serveur de sauvegarde, portant le nom du serveur à sauvegarder.Par exemple /home/sequoia pour le serveur Sequoia.
Note : pour une raison obscure, les données volumineuses de Grosdur (RAID 5 d'Agathis) sont sauvegardées par Sequoia et non Agathis.
Voir la méthode de sauvegarde des serveurs
Sauvegardes sur plusieurs jours
Elles sont assurées par l'outil snapshot présent sur le serveur de sauvegarde.Il se charge de copier les dossiers /home/ de chacun des postes individuels et les dossiers de sauvegarde des serveurs sur :
- 5 jours glissants
- 2 semaines glissantes
- 2 mois glissants
Ces sauvegardes sont accessibles par SFTP sur le serveur de sauvegarde sous le nom :
- /sauvegarde/daily.1 : jour - 1
- /sauvegarde/daily.2 : jour - 2
- ...
snapshot utilise des liens en dur pour consommer le moins d'espace disque possible : un fichier présent dans les 9 snapshots n'occupe qu'une fois l'espace disque. Par contre, c'est seulement lorsque tous les liens en dur pointant sur un fichier sont supprimés que l'espace disque est libéré.
Organisation du stockage
Les sauvegardes du jour sont stockées sur /home (1 disque de 2Tio).Les snapshots sont stockés sur /sauvegarde (1 disque de 4Tio).
Les données des ancien⋅ne⋅s collègues sont déplacées dès que possible sur l'ordinateur dédié aux archives pour ne pas saturer /home.
Configuration de la crontab du serveur de sauvegarde
C'est le serveur de sauvegarde qui va chercher le contenu des postes individuels.Au contraire, les serveurs appellent le serveur de sauvegarde; la crontab ne les mentionne donc pas.
La sauvegarde du code source des applications est également déclenchée ici.
Le cron définit l'horaire de la sauvegarde. Pour éditer la crontab :
crontab -e
Important : laisser le maximum de temps entre deux sauvegardes, car un cumul dégrade les performances.
Exemple de crontab de root (2017-08-07) :
# m h dom mon dow command # Snapshots 30 23 * * 1-5 /usr/local/bin/snapshot.sh daily 1>/dev/null 2>/dev/null 01 02 * * 0 /usr/local/bin/snapshot.sh weekly 1>/dev/null 2>/dev/null 01 04 1 * * /usr/local/bin/snapshot.sh monthly 1>/dev/null 2>/dev/null # Sauvegarde des dépôts Git depuis GitHub 01 03 * * 2-6 su github -c /usr/local/sbin/backup-github.sh # Sauvegardes des postes 00 10 * * 1-5 /usr/local/sbin/backup_adansonia.sh mathias 192.168.0.33 45 10 * * 1-5 /usr/local/sbin/backup_adansonia.sh delphine 192.168.0.31 30 11 * * 1-5 /usr/local/sbin/backup_adansonia.sh elodie 192.168.0.34 15 12 * * 1-5 /usr/local/sbin/backup_adansonia.sh emilie 192.168.0.32 00 13 * * 1-5 /usr/local/sbin/backup_adansonia.sh killian 192.168.0.35 45 13 * * 1-5 /usr/local/sbin/backup_adansonia.sh arthur 192.168.0.36 30 14 * * 1-5 /usr/local/sbin/backup_adansonia.sh eric 192.168.0.30 15 15 * * 1-5 /usr/local/sbin/backup_adansonia.sh vero 192.168.0.37 00 16 * * 1-5 /usr/local/sbin/backup_adansonia_macosx.sh christine 192.168.0.44 45 16 * * 1-5 /usr/local/sbin/backup_adansonia_macosx.sh shanna 192.168.0.41 30 17 * * 1-5 /usr/local/sbin/backup_adansonia.sh alexandre 192.168.0.51 # Rapports des sauvegardes 15 18 * * 1-5 /usr/local/sbin/backup_rapport.sh dev-log@tela-botanica.org 20 18 * * 1-5 /usr/local/sbin/backup_rapport_nettoyage.sh 00 01 * * 1-5 /usr/local/sbin/backup_place_disque.sh
Configuration de snapshot sur le serveur de sauvegarde
Programme : /usr/local/bin/snapshot.shService : /etc/snapshot
Pour mieux contrôler l'heure de déclenchement utiliser : crontab -e
Pour un exemple des commandes de snapshot dans la crontab de root, voir le paragraphe ci-dessus.
Les fichiers de configuration du programme sont :
- /etc/snapshot/exclude.text : extensions ou répertoires a exclure
- /etc/snapshot/include.text : répertoires à snapshotter
- /etc/snapshot/settings.text : paramètres
Contenu de ces fichiers
exclude.text :vide
include.text (2017-07-08) :
/etc /home/agathis /home/sequoia /home/grosdur /home/osyris /home/sycomore /home/aphyllanthe /home/orobanche /home/cuscuta /home/amandine/portable /home/audrey /home/christel/cygdrive /home/christel/portable /home/christine/sauvegardes /home/delphine/sauvegardes /home/elodie/sauvegardes /home/jennifer/sauvegardes /home/killian/sauvegardes /home/laura/sauvegardes /home/mathias/sauvegardes /home/shanna/sauvegardes /home/vero/sauvegardes /home/emilie/sauvegardes /home/arthur/sauvegardes /home/alexandre/sauvegardes /home/ordi_pierre /home/Taiga /home/e-veg /home/github /home/ovh-moodle
settings.text (2017-07-08) :
# The "daily" snapshot is the only really time-consuming one; the weekly etc snapshots # just pop theirs off the stack. dailymax=4 weeklymax=2 monthlymax=2 # log file gets overwritten on every snapshot. logfile=/var/log/snapshot.log # Backup root. All snapshots will be stored here: # monthly.1 is taken from the top daily snapshot. # must exist backuproot=/sauvegarde # Files used to store settings. backup=`cat /etc/snapshot/include.text` excludefile=/etc/snapshot/exclude.text
Résumé des méthodes de configuration des sauvegardes
Voir la méthode de sauvegarde des serveursVoir la méthode de sauvegarde des postes individuels
Voir la méthode de sauvegarde des ordinateurs portables
Voir la méthode de sauvegarde du code source des applications
Pour les sauvegardes "hors site" (en cas de vol, incendie ...)
Actuellement, le serveur de sauvegarde est dans les locaux de Tela Botanica. Les serveurs sont situés sur un autre site, mais pas les ordinateurs de bureau, pour lesquels il n'y a donc aucune sauvegarde hors site.Lors du remplacement du serveur de sauvegarde, il peut être envisagé de mettre en place une solution de sauvegarde sur disque externe.
Le disque serait branché sur une machine de travail, le serveur de sauvegarde détecterait ce branchement et déclencherait la sauvegarde. Un mail préviendrait l'administrateur lorsque la sauvegarde serait terminée. Quelque chose dans ce goût-là.
Idées Killian juin 2017
Mon plan de sauvegarde des sauvegardes consisterait à sauvegarder les sauvegardes sur un site différent de Tela ou d'Agropolis (architecture en triangle). Et le troisième sommet de ce triangle pourrait se situer par exemple :- Chez OVH (ou un de ses concurrents) au niveau d'un service de serveur de sauvegarde. (Simple à administrer, donnant de larges possibilités en terme de système, un large espace de stockage, mais coutant un large prix annuel, genre 500€ pour 4To chez OVH)
- Chez Amazon Glacier ou autre service de stockage à froid. (Stockage type bande magnétiques, y'aurait juste à bricoler le script d'archivage et d'upload chez Amazon, rien de plus sinon payer un tarif annuel de 55€ par To. Et quelques dizaines d'euros pour récupérer le tout en cas de sinistre)
De mon coté je préconiserais la solution de type stockage à froid. Même si il faudrait alors trouver/bricoler un système permettant d'envoyer des archives contenant des sauvegardes incrémentielles à intervalles réguliers.