Les sauvegardes
Généralités sur la sauvegarde
La sauvegarde[1] consiste à dupliquer des données stockées dans le Système Informatique (SI) de l'entité, dans le but de les mettre en sécurité.
Cette mise en sécurité a pour but de répondre à deux éventualités de restauration[2] :
la restauration de tout ou d'une partie du SI, suite à une dégradation importante ou à une destruction ;
la restauration de quelques fichiers, suite à une corruption ou une destruction limitée de données.
On distingue trois types de sauvegardes :
- la sauvegarde totale ;
- la sauvegarde différentielle ;
- la sauvegarde incrémentale.
La sauvegarde peut être :
réalisée localement ;
sur un média (serveur, disque, bande, CD-ROM) ;
hébergé dans le SI (Système Informatique) à des fins de restauration rapide ;
archivée ;
externalisée.
Sauvegarde totale
Une sauvegarde totale ou complète, correspond à la copie intégrale d'un contenu à un instant T, sans prendre en compte l'historique.
Coûteuse en temps et en espace, cette sauvegarde reste malgré tout la plus fiable, puisqu'elle assure à elle seule l'intégrité de l'ensemble des données sauvegardées.
Il n'est pas judicieux de ne pratiquer que ce type de sauvegarde, car l'ensemble des données n'est jamais totalement modifié entre deux sauvegardes.
Il existe deux autres méthodes qui procèdent à la sauvegarde des seules données modifiées et/ou ajoutées entre deux sauvegardes totales :
la sauvegarde incrémentale ;
la sauvegarde différentielle.
Sauvegarde incrémentale
Une sauvegarde incrémentale réalise une copie des fichiers créés ou modifiés depuis la dernière sauvegarde quel que soit son type (complète, différentielle ou incrémentale).
Une sauvegarde totale est réalisée le jour T. Le jour T+1, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, donc la sauvegarde T. Le jour T+2, la sauvegarde incrémentale est réalisée par référence à la sauvegarde précédente, à savoir T+1. Et ainsi de suite.
La restauration d'un système complet à un jour donné (par ex : au jour T+3) se fait en appliquant la dernière sauvegarde complète (jour T), ainsi que toutes les sauvegardes incrémentales jusqu'au jour cible, à savoir T+1, T+2 et T+3.
Lorsqu'il s'agit de la restauration d'un fichier ou d'un répertoire qui a été sauvegardé à la date T+3 (T étant le jour de la sauvegarde totale de référence), seule la sauvegarde incrémentale du jour T+3 est nécessaire.
Sauvegarde différentielle
Une sauvegarde différentielle réalise une copie des fichiers crées ou modifiés, en se basant sur les différences constatées avec la dernière sauvegarde totale (quelles que soient les sauvegardes intermédiaires).
Attention
La notion de sauvegarde différentielle peut varier suivant la solution de sauvegarde utilisée.
Cette présentation est fidèle à l'outil de sauvegarde choisi par EOLE.
Des outils de sauvegarde
Les systèmes GNU/Linux embarquent depuis toujours des outils unitaires d'archivage qui permettent de réaliser des embryons de stratégie de sauvegarde.
Ainsi des outils tels que la commande tar permettent de créer des archives sur des médias locaux (disques, ou lecteurs de bandes).
Via des scripts se basant sur les dates de modifications, il est possible d'implémenter les méthodes de sauvegarde détaillées dans les paragraphes précédents.
Des outils plus complexes, et souvent propriétaires, ont été développés depuis, pour faciliter la création de ces sauvegardes (gestion du contenu à sauvegarder), mais aussi pour faciliter la gestion du calendrier de sauvegarde (programmation des tâches et des successions de sauvegardes).
Enfin, la plupart de ces outils intègrent la gestion de la restauration, avec la possibilité de choisir la date cible à restaurer.
Les solutions logicielles les plus connus sont :
Tivoli Storage Manager (TSM) - IBM
Time Navigator - Atempo
Networker - EMC/Legato
ARCserve Backup - Computer Associate
Arkeia Network Backup - Arkeia
Bacula - Bacula
Bareos - Bareos
La sauvegarde EOLE
EOLE 2.5 utilise l'outil de sauvegarde libre Bareos.
Backup Archiving REcovery Open Sourced est un dérivé (fork) de l'outil de sauvegarde Bacula : http://www.bareos.org
Bareos permet de sauvegarder :
des fichiers et des dossiers
Bareos permet de sauvegarder des données (indifféremment sur des disques locaux ou distants, des bandes magnétiques), de gérer un nombre important et non limité de clients, et évidemment de restaurer facilement les sauvegardes.
Bareos supporte, entre autres, la possibilité de faire des sauvegardes sur plusieurs unités de stockage si une première unité possède une capacité insuffisante.
Le vocabulaire Bareos
Bareos utilise un nombre important de ressources pour définir une sauvegarde.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3
Quelques définitions
Job
L'objet le plus élevé est la définition d'un Job, représentant une "sauvegarde" au sens Bareos du terme.
Un Job Bareos est une ressource de configuration qui définit le travail que Bareos doit effectuer pour sauvegarder ou restaurer un client particulier. Un Job consiste en l'association d'un type d'opération à effectuer (Type : backup, restore, verify, etc.), d'un niveau de sauvegarde (Level : Full, Incremental, ...), de la définition d'un ensemble de fichiers et répertoires à sauvegarder (FileSet), et d'un lieu de stockage où écrire les fichiers (Storage, Pool).
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-990008.2
Schedule
Un Job peut être immédiat, mais dans une stratégie de sauvegarde, il est généralement planifié via la ressource Schedule.
Le schedule détermine la date et l'instant où le job doit être lancé automatiquement, et le niveau (total, différentiel, incrémental...) du job en question.
Cette directive est optionnelle. Si elle est omise, le job ne pourra être exécuté que manuellement via la Console.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1010008.4
Volume
Un Volume est une unité d'archivage, usuellement une cartouche ou un fichier nommé sur disque où Bareos stocke les données pour un ou plusieurs jobs de sauvegarde. Tous les volumes Bareos ont un label unique (logiciel) écrit sur le volume par Bareos afin qu'il puisse être assuré de lire le bon volume. En principe, il ne devrait pas y avoir de confusion avec des fichiers disques, mais avec des cartouches, le risque d'erreur est plus important.
Les volumes ont certaines propriétés comme la durée de rétention des données et la possibilité d'être recyclés une fois cette durée de rétention expirée; ceci afin d'éviter de voir grossir indéfiniment l'espace disque occupé par les sauvegardes.
Pool
La ressource Pool définit l'ensemble des Volumes de stockage (cartouches ou fichiers) à la disposition de Bareos pour écrire les données. En configurant différents Pools, vous pouvez déterminer quel ensemble de volumes (ou média) reçoit les données sauvegardées.
Ceci permet, par exemple, de stocker les sauvegardes totales sur un ensemble de volumes, et les sauvegardes différentielles et incrémentales sur un autre. De même, vous pouvez assigner un ensemble de volumes à chaque machine sauvegardée.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1130008.8
FileSet
Un FileSet est une ressource qui définit les fichiers à inclure dans une sauvegarde. Il consiste en une liste de fichiers ou répertoires inclus, une liste de fichiers ou répertoires exclus et la façon dont les fichiers seront stockés (compression, chiffrement, signatures).
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5
Storage
Cette ressource définit les services de stockage que peut contacter le directeur. On y retrouve les répertoires de travail du processus, le nombre de Jobs concurrents qu'il est capable de traiter, et éventuellement, la définition des adresses IP des clients dont il accepte les connexions. Chaque Job est associé à une ressource Storage. Une ressource Storage peut être associée à plusieurs Jobs.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1120008.7
Device
Véritable destination physique de la sauvegarde, la ressource Device fait le lien entre le matériel de sauvegarde (lecteur de bandes, robots de sauvegarde, mais aussi disques locaux - internes comme externes) et la ressource Storage.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1250009.4
Catalog
La ressource Catalog précise quel catalogue utiliser pour le job courant. Actuellement, Bareos ne peut utiliser qu'un type de serveur de base de données défini lors de sa configuration : SQLite, MySQL, PostgreSQL. En revanche, vous pouvez utiliser autant de catalogues que vous le souhaitez. Par exemple, vous pouvez avoir un catalogue par client, ou encore un catalogue pour les sauvegardes, un autre pour les jobs de type Verify et un troisième pour les restaurations.
Le catalogue (ressource Catalog) est une base de données utilisée pour stocker :
des informations sur les fichiers: la liste, les permissions, l'emplacement sur les volumes de sauvegarde, etc.
la définition de la configuration de Bareos.
Actuellement, trois formats de bases de données sont supportés : SQLite, MySQL et PostgreSQL.
SQLite est conseillé pour de petites installations, alors que MySQL est préférable pour les installations d'entreprise (à partir d'une dizaine de clients).
Attention, l'interface web ne fonctionne qu'avec les versions MySQL et PostgreSQL.
Le catalogue est une pièce majeure de Bareos, et doit également faire partie du plan de sauvegarde.
Ce catalogue peut rapidement devenir volumineux, il faut veiller au taux d'occupation et à la performance de la base de données.
Point important, la configuration de Bareos se fait à deux niveaux:
les fichiers de configuration ;
la base de données.
Bareos lit les fichiers de configuration au démarrage, et inscrit les valeurs dans la base de données du Catalogue. C'est le Catalogue qui définit la configuration utilisée par Bareos, donc il faut préférer le résultat des commandes console aux valeurs des fichiers.
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1150008.9
Architecture de Bareos
Bareos est construit suivant une architecture distribuée :
le serveur directeur (backup server) est l'élément central, qui supervise et archive les opérations de sauvegarde et de restauration, le nom du service sur un module EOLE est bareos-dir ;
le serveur base de données (database server) gère le catalogue dans lequel le directeur archive les opérations et l'emplacement des fichiers dans les différents volumes de sauvegarde, au format SQLite ou MySQL. Il se trouve sur le même serveur que le directeur sur un module EOLE ;
le serveur de stockage (storage server) est le serveur qui prend en charge l'écriture et la lecture des volumes de sauvegarde, le nom du service sur un module EOLE est bareos-sd ;
le serveur de lecture/écriture de fichiers (file server) exécute les commandes de lecture/écriture des fichiers gérés par la sauvegarde sur chaque poste où il est installé, le nom du service sur un module EOLE est bareos-fd ;
La communication entre chaque serveur est associée à un mot de passe. Ces différents serveurs peuvent être :
installés sur la même machine sans problème ;
présents en plusieurs exemplaires (on peut dupliquer les destinations de sauvegardes, avoir plusieurs
directeur, etc.).
La configuration Bareos sur un module EOLE ne permet pas la séparation du serveur directeur, du serveur base de données et du serveur de fichiers.
Cette partie de la configuration est appelée directeur dans la suite de la documentation.
Par contre, il est possible de déporter le serveur de stockage sur un serveur disposant d'un disque de sauvegarde.
Pour résumer, 3 services liés aux sauvegardes se retrouvent sur un module EOLE :
bareos-dir (lié à bareos-fd)
bareos-fd (lié à bareos-dir)
bareos-sd
Truc & astuce
Plusieurs directeurs peuvent envoyer les données sur un unique serveur de stockage en établissement.
Il est également possible de copier les sauvegardes au travers d'autres protocoles réseau : rsync, samba, SSH, etc.
Configuration des sauvegardes
La configuration des sauvegardes consiste en une activation de la sauvegarde du serveur et/ou en l'activation du support de sauvegarde sur le module.
Si le support de sauvegarde est activé, un complément de configuration peut se faire soit par l'EAD soit en ligne de commande.
Activation et configuration de Bareos
La sauvegarde du serveur et le support de stockage de la sauvegarde sont activés par défaut sur certains modules, il peuvent être activés/désactivés dans l'onglet Services
de l'interface de configuration du module.

L'activation du support de stockage de la sauvegarde permet d'accueillir des sauvegardes locales ou distantes.
L'activation de la sauvegarde permet d'activer la sauvegarde du serveur, celle-ci peut être locale si le support de stockage est activé ou déportée à condition d'avoir un serveur sur lequel est activé le support de stockage.
Cette fonctionnalité permet de mettre en place des sauvegardes croisées.

Si le support de stockage de la sauvegarde est activé (Activer le support de stockage de la sauvegarde
à oui
) un onglet Stockage bareos
apparaît dans l'interface de configuration du module.
L'onglet permet de configurer le nom du serveur de stockage et d'autoriser des directeurs à se connecter au stockage.
Suite à l'activation de la sauvegarde du serveur (Activer la sauvegarde du serveur
à oui
) l'onglet Directeur bareos
apparaît dans l'interface de configuration du module. Il permet de configurer le nom du directeur et les périodes de rétention et de définir si le serveur de stockage est distant ou local.
Onglet Directeur bareos
Conseil
Si le choix est laissé à l'utilisateur il est préférable d'utiliser MySQL. L'application web bareos-webui
nécessite MySQL.
Le nom du directeur est une information importante, il est utilisé en interne dans le logiciel mais, surtout, il est nécessaire pour configurer un client Bareos ou pour joindre le serveur de stockage depuis un autre module.
À l'enregistrement du fichier de configuration il ne sera plus possible de modifier le nom du directeur, en effet cette variable est utilisée dans les noms des fichiers de sauvegarde.
Ensuite, il est nécessaire de définir les durées de rétention[5] des différents espaces de stockage (totale, différentielle et incrémentale).
La durée de rétention des fichiers détermine le temps de conservation avant l'écrasement.
Plus les durées de rétention sont importantes, plus l'historique sera important et plus l'espace de stockage nécessaire sera important.
Exemple
Il peut être intéressant de conserver un historique long mais avec peu d'états intermédiaires.
Pour cela, voici un exemple de configuration :
- 6 mois de sauvegardes totales ;
- 5 semaines de sauvegardes différentielles ;
- 10 jours de sauvegardes incrémentales.
Avec la politique de sauvegarde suivante :
- une sauvegarde totale par mois ;
- une sauvegarde différentielle par semaine ;
- une sauvegarde incrémentale du lundi au vendredi.
Dans l'historique, il y aura donc une sauvegarde par jour de conservée pendant 10 jours, une sauvegarde par semaine pendant 5 semaines et une sauvegarde mensuelle pendant 6 mois.
Attention
Une modification de la durée de rétention en cours de production n'aura aucun effet sur les sauvegardes déjà effectuées, elles seront conservées et recyclées mais sur la base de l'ancienne valeur, stockée dans la base de données.
Afin de prendre en compte la nouvelle valeur pour les sauvegardes suivantes, il faut utiliser les outils Bareos pour mettre à jour la base de données :
# bconsole
*update
*2
*<numéro du pool de volumes de sauvegarde>
Une autre solution consiste à vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et à ré-initialiser la base de données Bareos avec la commande :
# bareosregen.sh
La regénération du catalogue de bareos va écraser l'ancienne base, confirmez-vous ? [oui/non]
[non] : oui
Configuration du stockage
Le stockage peut être local ou distant, il est local par défaut.
Dans ce cas aucun paramètre n'est à configurer dans l'onglet Directeur Bareos
.
Par contre des paramètres vous permettant éventuellement d'autoriser des directeurs à se connecter au présent stockage dans l'onglet Stockage bareos
.
Dans le cas d'un serveur distant (Activer le serveur de stockage localement
à non
), il faut configurer l'adresse IP et le mot de passe du serveur de stockage distant.
Attention
Certaines infrastructures nécessitent une dégradation des fonctionnalités des modules EOLE comme la désactivation des mises à jour automatiques pour que la sauvegarde distante fonctionne correctement.
Le déport du service bareos-sd
sur un autre serveur que bareos-dir
ne permet pas de gérer correctement les verrous des tâches d'administration sur ce serveur : bareos-dir
ne permet pas de signaler efficacement à bareos-sd
qu'une sauvegarde est lancée et qu'il doit poser un verrou empêchant les autres tâches d'administration.
En mode expert, il est possible de modifier le répertoire utilisé par défaut pour l'extraction de la base de données du catalogue. Ce changement permet éventuellement de ne pas surcharger l'espace occupé dans /var
.
Il est également possible de définir manuellement le mot de passe de la base de donnée MySQL, le délai accordé à l'exécution de la sauvegarde ainsi que l'algorithme de compression utilisé pour le stockage.
La durée maximale pour l'exécution complète d'une sauvegarde permet d'arrêter le job après un temps d'exécution fixé en seconde, par défaut le job est limité à 86 400 secondes soit 24 heures (la valeur 0 lève cette limite de temps).
Plus l'algorithme est efficace, moins il nécessite d'espace mais plus il alourdit la charge système et allonge la durée du processus de sauvegarde. Le taux de compression est exprimé par un chiffre de 1 à 9, proportionnel. Au delà de 6, le gain en place est faible par rapport aux niveaux immédiatement inférieurs, tandis que la durée de traitement s'allonge sensiblement.
Le champ Mot de passe du directeur
contient le mot de passe à transmettre aux applications distantes pour leur permettre de s'authentifier auprès du directeur.
Dans l'onglet Stockage bareos
il est possible de choisir un nom de serveur de stockage et d'autoriser des directeurs distants à se connecter au présent serveur de stockage.
Pour ajouter un ou plusieurs directeurs distants à se connecter il faut cliquer sur Nom du directeur Bareos distant
, le détail de l'autorisation s'affiche.
Pour ce faire il faut se munir des paramètres du directeur distant :
son nom ;
son adresse IP ;
son mot de passe.
Attention
Les sauvegardes sont des informations sensibles. Il ne faut pas utiliser de mot de passe facilement déductible.
Pour que les modifications soient prises en compte, une reconfiguration du module est nécessaire avec la commande : reconfigure
.
Configuration depuis l'EAD
Une fois le stockage Bareos activé dans l'interface de configuration du module, il faut configurer le support de sauvegarde.
Le menu Sauvegardes
de l'EAD propose une interface simplifiée pour la configuration du support de sauvegarde et le paramétrage facultatif de l'envoi des rapports.
Configuration du support
Trois types de support de sauvegarde sont proposés :
SMB
Disque USB local
Configuration manuelle du support
Le point de montage du support est, dans les trois cas de figure : /mnt/sauvegardes
SMB : la sauvegarde se fait à travers un partage SMB[6].
Il est préférable de déporter le serveur de stockage Bareos plutôt que d'utiliser le protocole SMB[6].
Ce type de sauvegarde sera utilisé, par exemple, pour les NAS[7].
Les informations suivantes sont demandées :
-
Nom de machine de la machine distante
(n'accepte pas les majuscules) ; -
IP de la machine distante
; - le nom du
Partage
; - optionnellement le
Login
, leMot de passe
.
-

Attention
Les informations stockées dans les sauvegardes sont sensibles, il donc préférable de toujours authentifier l'accès aux partages contenant les données.
Disque USB local : la sauvegarde se fait sur un support nécessitant un montage (disque USB, disque interne, etc.), contrôlé avant chaque sauvegarde.
Le chemin d'accès à saisir correspond au nœud du périphérique (par exemple
/dev/hda1
,/dev/disk/by-label/LABEL
si un label est disponible sur le disque).Si le périphérique utilise un label

Attention
Méthode purement locale à la machine, cette méthode est donc sensible aux corruptions éventuelles du serveur.
Configuration manuelle du support : comme son nom l'indique elle permet à l'utilisateur de définir sa propre destination de sauvegarde via les outils Bareos. Ce choix correspond généralement à l'utilisation de lecteurs de bandes et s'intègre dans une stratégie de sauvegarde à plus grande échelle.
Le point de montage par défaut est toujours
/mnt/sauvegardes
. Le montage n'est pas contrôlé.
Le pilote est dépendant du matériel, le lecteur de bande doit être configuré manuellement.
Pour information, le fichier template concerné bareossupport.conf
est dans /usr/share/eole/creole/distrib/
Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].
Voir la documentation officielle de Bareos pour le paramétrage :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-480004

Attention
Le support doit être monté sur /mnt/sauvegardes
et l'utilisateur bareos
doit avoir les droits en écriture :
# ls -l /mnt
# chown -R bareos:root /mnt/sauvegardes
Options de montage du support de sauvegarde
Truc & astuce
Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT
, DISTANT_MOUNT
et USB_MOUNT
:
la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de
DISTANT_LOGIN_MOUNT
est :/bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}
la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de
DISTANT_MOUNT
est :/bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}
la ligne de commande permettant de monter un support USB :
Par défaut la valeur de la variable USB_MOUNT est :
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
- /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
Remarque
Sur les modules EOLE 2.6 utilisant un noyau Linux 4.4, le montage distant est paramétré avec l'ancienne option sec=ntlm
qu'il est possible de remplacer par vers=2.0
si le montage distant le requiert
Paramètres pour l'envoi de rapports
L'envoi de courriels est proposé si le directeur Bareos est activé sur le serveur.
EOLE offre la possibilité d'envoyer deux types de courriel :
- les rapports d'erreurs de Bareos ;
- les rapports de sauvegarde réussie.
Il est recommandé de définir les deux types d'envoi. Le premier type de rapport informe que la sauvegarde s'est mal déroulée, alors que le second informe qu'une sauvegarde s'est bien déroulée. Pensez à configurer correctement votre relai SMTP[10].
Truc & astuce
Il est possible de déclarer plusieurs destinataires en séparant les adresses par des virgules.
Exemple : admin@ac-dijon.fr,technicien@ac-dijon.fr
Configuration depuis la ligne de commande
Il n'est pas nécessaire de passer par l'EAD pour configurer le support de sauvegarde.
L'ensemble des paramétrages peut être réalisé avec le script bareosconfig.py
.
Les informations définies dans l'EAD sont modifiables en ligne de commande et inversement.
Configuration du support
- Si le support est un partage SMB :
# bareosconfig.py -s smb --smb_machine=nom_machine --smb_ip=adresse_ip --smb_partage=nom_du_partage --smb_login=login --smb_password=mot_de_passe
- Si le support est un disque USB local :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
- Si le support est un disque USB local avec un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
- Si le support est à configurer manuellement :
# bareosconfig.py -s manual
Vous devez ensuite configurer le support dans le fichier template /usr/share/eole/creole/distrib/bareossupport.conf
Pour que la solution soit pérenne il est nécessaire de créer un patch EOLE[8].
Attention
nom_machine
ne doit pas comporter de majuscule
Truc & astuce
Pour tester le support de sauvegarde (USB local ou SMB), il est possible d'utiliser le script bareosmount.py
:
# bareosamount.py -t
Test de montage OK
Attention
En USB le numéro du périphérique dans /dev
peut changer selon si un autre périphérique est connecté au serveur.
Truc & astuce
Une astuce consiste à utiliser un label pour identifier de façon plus certaine le périphérique utilisé.
Pour donner un label au périphérique :
# tune2fs -L Sauvegardes /dev/sdX
Pour configurer le support de sauvegarde sur le périphérique USB :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/Sauvegardes
Options de montage du support de sauvegarde
Truc & astuce
Il existe trois variables paramétrables DISTANT_LOGIN_MOUNT
, DISTANT_MOUNT
et USB_MOUNT
:
la ligne de commande permettant de monter un support distant avec authentification, la valeur par défaut de
DISTANT_LOGIN_MOUNT
est :/bin/mount -t cifs -o username={0},password={1},ip={2},uid={3},noexec,nosuid,nodev,vers=3.0 //{4}/{5} {6}
la ligne de commande permettant de monter un support distant sans authentification, la valeur par défaut de
DISTANT_MOUNT
est :/bin/mount -t cifs -o password={0},ip={1},uid={2},noexec,nosuid,nodev,vers=3.0 //{3}/{4} {5}
la ligne de commande permettant de monter un support USB :
Par défaut la valeur de la variable USB_MOUNT est :
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
- /bin/mount {0} {1} -o noexec,nosuid,nodev pour le reste.
- /bin/mount {0} {1} -o noexec,nosuid,nodev,uid={2},umask=0077 pour les systèmes VFAT et NTFS
Remarque
Sur les modules EOLE 2.6 utilisant un noyau Linux 4.4, le montage distant est paramétré avec l'ancienne option sec=ntlm
qu'il est possible de remplacer par vers=2.0
si le montage distant le requiert
Paramètres pour l'envoi de rapports
La configuration de l'adresse courriel se fait de la façon suivante :
# bareosconfig.py -m --mail_ok=adresse_courriel --mail_error=adresse_courriel
Les paramètres --mail_ok et --mail_error ne sont pas obligatoires.
Afficher la configuration
Il est possible de lister l'ensemble des paramètres depuis la ligne de commande avec la commande bareosconfig.py
:
# bareosconfig.py -d
Support : {'usb_path': '/dev/sdb1', 'support_type': 'usb'}
Mail : {'mail_error': [], 'mail_ok': []}
Programmation :
Aucun job programmé.
Programmation des sauvegardes
Une fois le support de sauvegarde défini, il est possible de programmer un type de sauvegarde par périodicité.
Cette programmation se fait soit par l'EAD soit depuis la ligne de commande.
EOLE propose trois périodicités et trois types de sauvegarde pour la programmation des sauvegardes :
Périodicité | Type de sauvegarde |
sauvegardes mensuelles | totale |
sauvegardes hebdomadaires | totale, différentielle, incrémentale |
sauvegardes quotidiennes | totale, différentielle, incrémentale |
En plus des périodicités proposées, il est possible de lancer une sauvegarde immédiate de type totale, différentielle ou incrémentale.
Seules les sauvegardes totales sont possibles dans le cas de la périodicité mensuelle.
Les sauvegardes mensuelles se font la première semaine du mois.
Si une autre sauvegarde est programmée la même nuit, celle-ci sera automatiquement reportée à la semaine d'après.
Les sauvegardes se programment pour une nuit de la semaine. Une nuit va de 12h à 11h59.
Pour les sauvegardes quotidiennes, il est possible de choisir une plage de jours.
Programmation depuis l'EAD
Programmation depuis la ligne de commande
Pour ajouter une nouvelle programmation, il faut connaître les paramètres suivants :
- choix de la périodicité : quotidienne → daily, hebdomadaire → weekly ou mensuelle → monthly ;
- le type : totale → Full, différentielle → Differential ou incrémentale → Incremental ;
- le jour de la semaine : de 1 (pour la nuit de dimanche à lundi) à 7 (pour la nuit du samedi à dimanche) ;
- en cas de sauvegarde quotidienne, éventuellement le jour de fin : de 1 à 7 ;
- l'heure de la sauvegarde : de 0 à 23, sachant que la nuit commence à 12h et fini à 11h le lendemain
Exemple pour ajouter une programmation de sauvegarde depuis la ligne de commande :
# bareosconfig.py -j daily --job_level=Incremental --job_day=2 --job_end_day=5 --job_hour=22
Les programmations ajoutées depuis la ligne de commande sont également visibles dans l'EAD.
Il est également possible de lancer une sauvegarde immédiate.
Il est nécessaire de choisir le type de sauvegarde totale (Full), différentielle (Differential) ou incrémentale (Incremental)).
Si aucune sauvegarde n'a été effectuée préalablement sur le serveur, la première sauvegarde sera automatiquement une sauvegarde totale.
Pour effectuer une sauvegarde immédiate, il faut exécuter la commande suivante :
# bareosconfig.py -n --level=Full
Il est possible de suivre l'évolution de la sauvegarde dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.info.log
.
Les éventuelles erreurs sont enregistrées dans le fichier /var/log/rsyslog/local/bareos-dir/bareos-dir.err.log
.
Truc & astuce
bareosconfig.py --help donne la liste des options de bareosconfig.py
Il existe également des pages de manuel :
man bareos, man bareos-dir, ...
Afficher la configuration
Il est possible de lister l'ensemble de la configuration depuis la ligne de commande avec la commande bareosconfig.py
:
# bareosconfig.py -d
Support : {'usb_path': '/dev/sdb1', 'support': 'usb'}
Mail : {}
Programmation :
1 : Sauvegarde totale dans la première nuit du mois du mercredi au jeudi à 02:00
2 : Sauvegarde incrémentale de la nuit du lundi au mardi à la nuit au vendredi à 22:00
3 : Sauvegarde totale dans la première nuit du mois du lundi au mardi à 21:00
Supprimer un job
Il est possible de supprimer un job depuis la ligne de commande grâce à la commande bareosconfig.py
. Elle s'utilise comme suit :
# bareosconfig.py -x <numéro_job>
ou encore :
# bareosconfig.py --job_to_delete=<numéro_job>
La restauration des sauvegardes EOLE
La restauration peut être :
complète, elle va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.
partielle, elle peut restaurer l'ensemble ou une partie des fichiers sauvegardés.
Restauration complète
Attention
La restauration d'un serveur s'effectue toujours sur un serveur instancié.
Préparation du serveur avant restauration
Mise à jour
Idéalement, le niveau de mise à jour du serveur avant restauration doit être identique au à celui du serveur sauvegardé.
Mettre à jour les paquets :
Maj-Auto
Choix du mode conteneur ou non
Si le serveur sauvegardé était en mode conteneur, il faut re-créer les conteneurs, avec la commande gen_conteneurs
.
Configurer Bareos
si le serveur est enregistré dans Zéphir, il faudra redescendre la configuration en ré-enregistrant le serveur avec la commande
enregistrement_zephir
;si le serveur n'est pas enregistré dans Zéphir, il sera nécessaire de récupérer la sauvegarde de la configuration sur le support de sauvegarde.
Configuration de Bareos pour un serveur non enregistré dans Zéphir
# bareosconfig.py -s usb --usb_path=/dev/device_usb
Configuration de Bareos pour un serveur non enregistré dans Zéphir avec le label du périphérique
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Il est normal d'avoir le message suivant lors de l'utilisation de
bareosconfig.py
:Fichier template /var/lib/creole/bareossupport.conf inexistant
Il peut être utile de configurer l'envoi des courriels en même temps que le support de sauvegarde.
# bareosconfig.py -m --mail_ok=mailok@ac-dijon.fr --mail_error=mailerror@ac-dijon.fr
Paquets additionnels
Pour les paquets additionnels ajoutés sur l'ancien serveur (eole-ejabberd
par exemple) il est impératif que le paquet soit installé sur le serveur au moment où on exécute la restauration.
si le serveur était enregistré sur un serveur Zéphir, les paquets additionnels déclarés sont installés à la fin de l'enregistrement auprès du serveur Zéphir ;
dans le cas d'une installation isolée, il est judicieux de réinstaller les paquets avant d'instancier le serveur.
Truc & astuce
Si l'ancien serveur est toujours accessible, il est possible de lister l'ensemble des paquetages installés grâce à la commande :
# dpkg --get-selections
Il est possible de filtrer uniquement les paquets préfixé par eole-
:
# dpkg --get-selections | grep eole-
La liste des paquets peut être exportée dans un fichier pour être transférée sur une autre machine :
# dpkg --get-selections > paquetages.txt
Récupération de la liste précédente :
# dpkg --set-selections < paquetages.txt
Installation des paquets de la liste :
# apt-get dselect-upgrade
Remarque
Pour avoir plus d'informations (version, architecture et descriptif) sur les paquets installés il est possible d'utiliser l'option -l
# dpkg -l | grep eole
Montage du support
Une fois que le serveur est enregistré dans Zéphir ou que le support est configuré, il faut monter le support de sauvegarde :
# bareosmount.py --mount
Montage OK
Extraire le fichier config.eol de la sauvegarde
Pour extraire le fichier config.eol
de la sauvegarde il est nécessaire de connaître le nom du directeur.
Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).
Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :
# ls /mnt/sauvegardes/*-catalog-0003
/mnt/sauvegardes/amonecole-dir-catalog-0003
Le directeur est dans ce cas amonecole-dir.
# bareosrestore.py --configeol amonecole-dir
Le fichier config.eol
extrait est enregistré dans /root/zephir-restore.eol
.
Instance
Avant toute chose, il faut déplacer et renommer le fichier de configuration :
# mv /root/zephir-restore.eol /etc/eole/config.eol
Instancier maintenant votre serveur avec la commande : instance
Si vous avez enregistré votre serveur sur Zéphir, il est possible d'utiliser directement le fichier de configuration zephir.eol
À l'étape de Postconfiguration, sauf besoin exceptionnel il ne faut pas réinitialiser le catalogue :
Le catalogue Bareos a déjà été initialisé, voulez-vous le réinitialiser ? [oui/non]
Ne pas tenir compte du message d'erreur suivant :
ERREUR : /var/lib/eole/config/shedule.conf not exist
Récupération du catalogue
Pour récupérer le catalogue de sauvegarde il est nécessaire de connaître le nom du directeur.
Le nom du directeur est, par défaut, de la forme : nom_du_module-dir (par exemple : scribe-dir).
Si vous ne vous souvenez plus du nom du directeur de votre serveur, il suffit de regarder le contenu du support de sauvegarde :
# ls /mnt/sauvegardes/*-catalog-0003
/mnt/sauvegardes/amonecole-dir-catalog-0003
Le directeur est dans ce cas amonecole-dir.
Lancer la récupération du catalogue :
# bareosrestore.py --catalog
Restauration du catalog
Pas de fichier /var/lib/eole/config/bareosjobs.conf dans le volume nom_du_directeur-catalog-0003
Pas de fichier /etc/eole/bareos.conf dans le volume nom_du_directeur-catalog-0003
Les messages concernant l'absence de certains fichiers sont normaux.
Le répertoire /var/lib/bareos/
doit contenir :
- nom_du_directeur-JobDefsCatalog.bsr
- nom_du_directeur-JobDefsSauvegarde.bsr
- bareos.sql
Démontage du support
Pour démonter le support de sauvegarde :
# bareosmount.py --umount
Restauration
Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.
Il peut changer en fonction du nombre de périphériques connectés :
# bareosmount.py -t
Si le périphérique n'a plus le même nœud la commande bareosmount.py
renvoie :
ERREUR : le périphérique /dev/sdb1 n'existe pas
Il faut alors changer la configuration du support :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
ou si le disque a un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Le test de montage doit renvoyer OK :
# bareosmount.py -t
Test de montage OK
Lister l'ensemble de la configuration :
# bareosconfig.py -d
La restauration complète du serveur va restaurer l'ensemble des bases de données, l'annuaire, les quotas, ... ainsi que l'ensemble des fichiers sauvegardés.
Pour ce faire il faut utiliser la commande bareosrestore.py
:
# bareosrestore.py --all
Truc & astuce
Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt
Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.
Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.
Lorsque la restauration complète est terminée, il faut re-configurer votre serveur à l'aide de la commande reconfigure
.
Restauration partielle
Rechercher un fichier à restaurer
Pour rechercher un fichier ou un répertoire dans le support de sauvegarde (sur la dernière sauvegarde uniquement), on utilise l'option
--search
:
# bareosrestore.py --search nom_du_fichier
Il est possible d'utiliser les caractères ?
ou *
pour remplacer respectivement un ou plusieurs caractères en l'échappant de la façon suivante :
# bareosrestore.py --search nom_du_\*
Il est également possible de lister le contenu d'un répertoire sauvegardé avec l'option --ls_folder
:
# bareosrestore.py --ls_folder /etc/eole
liste du contenu de /etc/eole
config.eol
Restauration d'un fichier ou d'un répertoire
Pour restaurer un fichier de la dernière sauvegarde, on peut utiliser la commande :
# bareosrestore.py --file /chemin_absolu/nom_du_fichier
Exemple :
# bareosrestore.py --file /etc/eole/config.eol
Pour restaurer un répertoire et l'intégralité de son contenu, on peut utiliser la commande :
# bareosrestore.py --folder /chemin_absolu/nom_du_répertoire
Exemple :
# bareosrestore.py --folder /usr/share/ead2/backend/config
Restauration de l'ensemble des fichiers sauvegardés
Pour restaurer l'ensemble des fichiers sauvegardés, il est possible d'utiliser la commande :
# bareosrestore.py --all_files
Restauration spécifique
Les bases de données, les quotas, l'annuaire, ... ne sont pas sauvegardés sous forme de fichiers binaires.
Ils sont extraits avant la sauvegarde.
Pour restaurer, il existe une procédure particulière, différente suivant l'application.
Pour connaître les possibilités, faire :
# bareosrestore.py --help
Exemple
Pour restaurer l'annuaire :
# bareosrestore.py --ldap
Restauration manuelle
Avant de lancer la restauration il est préférable de vérifier que le chemin du nœud du périphérique est toujours bon.
Il peut changer en fonction du nombre de périphériques connectés :
# bareosmount.py -t
Si le périphérique n'a plus le même nœud la commande bareosmount.py
renvoie :
ERREUR : le périphérique /dev/sdb1 n'existe pas
Il faut alors changer la configuration du support :
# bareosconfig.py -s usb --usb_path=/dev/device_usb
ou si le disque a un label :
# bareosconfig.py -s usb --usb_path=/dev/disk/by-label/LABEL
Le test de montage doit renvoyer OK :
# bareosmount.py -t
Test de montage OK
Lister l'ensemble de la configuration :
# bareosconfig.py -d
La restauration manuelle s'effectue au moyen d'un programme en ligne de commande, bconsole
:
# bconsole
Il est possible de spécifier le fichier de configuration :
#
bconsole -c /etc/bareos/bconsole.conf
Une fois bconsole démarré, il est possible d'abandonner la procédure à tout moment en quittant la console avec la commande quit
, done
ou avec les touches ctrl + c
.
Le prompt de bconsole est une étoile.
Exemple
Dans cet exemple nous verrons comment restaurer le fichier /home/a/admin/perso/icones.url
.
Dans bconsole, taper la commande restore qui indique à bconsole d'initialiser une restauration :
*restore
Il est possible de choisir directement le support de sauvegarde des fichiers, ce qui évite d'avoir à le choisir par la suite, pour cela utiliser la commande suivante (attention aux majuscules/minuscules et à la saisie sans accents) :
*restore fileset=FileSetSauvegarde
Vous avez alors plusieurs choix :
To select the JobIds, you have the following choices:
[...]
Les plus pertinents sont :
Depuis que l'utilisateur a supprimé le fichier le système n'a effectué que des sauvegardes incrémentales alors le fichier est toujours présent dans la sauvegarde, choisissez la sauvegarde la plus récente pour un client :
5: Select the most recent backup for a client (sélectionner la sauvegarde réussie la plus récente)
Depuis que l'utilisateur a supprimé le fichier le système a effectué une sauvegarde complète (Full) alors le fichier n'est présent que dans les sauvegardes précédant la sauvegarde complète, sélectionner la dernière sauvegarde pour un client avant une certaine date et entrez une date antérieure à la dernière sauvegarde complète :
6: Select backup for a client before a specified time (sélectionner la dernière sauvegarde réussie avant une date spécifiée)
La console propose trois options :
The defined FileSet ressources are :
1 : FileSetCatalog
2 : FileSetDefault
3 : FileSetSauvegarde
Il faut ensuite choisir le support de sauvegarde des fichiers (et non celui du catalogue) :
3 : FileSetSauvegarde
Un prompt apparaît et permet de naviguer dans l'arborescence des sauvegardes :
cwd is : /
$ ls
etc/
home/
root/
usr/
var/
$ cd /home/a/admin/perso
Il faut marquer les fichiers/dossiers à restaurer avec la commande mark
(attention, la commande mark est récursive) :
$ mark
icones.url
1 file marked.
Pour "dé-marquer" un fichier marqué par erreur :
$ unmark
icones.url
1 file unmarked.
Lorsque les fichiers et les dossiers à restaurer sont sélectionnés, passer à l'étape suivante avec la commande :
$
done
bconsole propose plusieurs options, il faut choisir le job de restauration, ici l'option numéro 3 :
3: Restore_file
On obtient alors le message suivant :
Bootstrap records written to /var/lib/bareos/xxxxxxxxx.restore.2.bsr
[...]
Ok to run ? (yes/mod/no) :
La restauration peut maintenant être lancée en répondant yes
à la question.
Il ne sera plus possible d'abandonner après cette étape.
OK to run? (yes/mod/no): yes
La restauration est alors placée dans une file d'attente. Le numéro JobId
est affiché à l'écran.
Il est possible de changer les paramètres de restauration en répondant mod
à la question :
OK to run? (oui/mod/non): mod
Parameters to modify :
1 : Level
2 : Storage
[...]
Par exemple pour restaurer dans un autre répertoire, il faut choisir Where
(9 dans le cas présent) et saisir le chemin de la restauration :
9 : Where
Please enter path prefix for restore (/ for none) :
/home/restauration
Ok to run ? (yes/mod/no) : yes
La restauration est alors placée dans une file d'attente. Le numéro JobId
est affiché à l'écran.
Pour quitter la console :
* quit
Truc & astuce
Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bareos/restore.txt
Les informations peuvent mettre un peu de temps avant d'apparaître car Bareos ne les "flush" pas tout de suite dans son fichier de log.
Si rien n'apparaît dans un délai raisonnable il faut vérifier le chemin du nœud du périphérique.
Attention
Pour conserver les droits étendus associés à un fichier (ACL), il faut restaurer un fichier issu d'une partition avec ACL (par exemple le répertoire /home
sur le module Scribe) dans une partition supportant les ACL.
Ajouter des données à sauvegarder
Il est tout à fait possible d'ajouter des fichiers et/ou des répertoires à sauvegarder à ceux déjà configurés par défaut sur un module.
Pour cela il faut ajouter un fichier de configuration portant l'extension .conf
dans le répertoire /etc/bareos/bareosfichiers.d/
Celui-ci ne doit comporter que les directives Include
et Exclude
, il ne faut pas, par exemple, spécifier le Name
du FileSet car il est déjà défini dans le reste de la configuration.
Exemple d'un fichier de configuration pour la prise en charge de nouvelles données à sauvegarder :
Include {
Options {
# Sauvegarde des ACL
aclsupport = yes
# Tous les fichiers seront chiffrés en SHA1
signature = SHA1
# Compression des fichiers (niveau de com
pression croissant de 0 à 9)
compression = GZIP6
# Permet de sauvegarder plusieurs systèmes de fichiers
onefs = yes
}
File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder
File = /chemin/du/repertoire/ou/du/fichier/a/sauvegarder
}
Exclude {
File = /chemin/du/repertoire/ou/du/fichier/a/ignorer
File = /chemin/du/repertoire/ou/du/fichier/a/ignorer
}
Pour sauvegarder les fichiers d'un conteneur il faut préciser le chemin complet du fichier, par exemple :
File = /var/lib/lxc/reseau/rootfs/var/www/html/fichier
Les autres options pour la ressource FileSet sont consultables dans la documentation officielle du projet Bareos :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-1030008.5
Attention
Pour que l'ajout d'un fichier de configuration soit pris en compte par Bareos il faut procéder à la reconfiguration du module avec la commande reconfigure
.
Réinitialisation de la sauvegarde
Pour réinitialiser la sauvegarde il faut vider le support de sauvegarde ou prendre un support de sauvegarde ne contenant aucun volume et surtout il faut ré-initialiser la base de données de Bareos.
Pour ce faire il faut utiliser la commande suivante :
# bareosregen.sh
La régénération du catalogue de la sauvegarde va écraser l'ancienne base, confirmez-vous ? [oui/non]
[non] : oui
bareos-webui : outil d'administration pour Bareos
bareos-webui est un logiciel libre écrit en PHP (basé sur Zend Framework), destiné à surveiller et à gérer les sauvegardes Bareos au travers d'une application web.
L'interface web permet l'utilisation de plusieurs comptes pour gérer les sauvegardes et afficher les informations détaillées sur les jobs, les clients, groupes de fichiers, Pools, Volumes, stockages, Directeur, Scheduler et les journaux.
Installation
bareos-webui s'installe manuellement, saisir les commandes suivantes dans un terminal :
# Query-Auto
# apt-eole install eole-bareoswebui
Remarque
Le paquet est pré-installé sur les modules Scribe, Horus et AmonEcole.
Configuration
Bareos doit être configuré pour utiliser une base de données MySQL.
Dans l'interface de configuration du module, dans l'onglet Directeur Bareos
, le type de la base de données du catalogue doit être positionné sur mysql
.
Le serveur web apache doit être activé sur le module. Dans l'interface de configuration du module, dans l'onglet Services
, Activer le serveur web Apache
doit être à oui
.
Dans l'onglet Applications web
, il faut passer Activer Bareos WebUI (gestion de la sauvegarde)
à oui
.
Un nouvel onglet Bareos webui
apparaît dans l'interface de configuration du module.
Il est possible de créer un ou plusieurs comptes autorisés à se connecter à l'interface bareos-webui en cliquant sur le bouton + Utilisateur autorisé à se connecter à l'interface web de gestion de la sauvegarde
.
Le mot de passe de la base de données MySQL peut éventuellement être personnalisé mais par défaut il est généré automatiquement. Une fois la configuration enregistrée, il ne sera plus possible de le modifier.
Remarque
L'application n'est pas disponible immédiatement après l'installation.
L'opération nécessite une reconfiguration du serveur avec la commande reconfigure
.
Accès à l'application
Pour accéder à l'application se rendre à l'adresse : http://<adresse_serveur>/bareos-webui/
L'authentification se fait obligatoirement avec les comptes déclarés dans l'interface de configuration du module.
Désactivation
Truc & astuce
Pour désactiver rapidement et temporairement (jusqu'au prochain reconfigure) l'application web il est possible d'utiliser la commande suivante :
# a2dissite nom_de_l'application
Le nom de l'application à mettre dans la commande est celui que l'on trouve dans le répertoire /etc/apache2/sites-available/
Pour activer cette nouvelle configuration il faut recharger la configuration d'Apache avec la commande :
# service apache2 reload
Pour réactiver l'application avec cette méthode il faut utiliser les commandes suivantes :
# a2ensite nom_de_l'application
# service apache2 reload
Pour désactiver l'application pour une période plus longue voir définitivement, il faut désactiver l'application depuis l'interface de configuration du module, dans l'onglet Applications web
.
L'opération nécessite une reconfiguration du module avec la commande reconfigure
.
Diagnostic, rapport et résolution de problème
Outils de diagnostic et rapport
En plus de l'envoi de courrier électronique, il est possible de connaître l'état de la dernière sauvegarde en utilisant la commande diagnose
.
Celle-ci liste également l'état des différents services de Bareos.

L'EAD permet également de connaître l'état de la dernière sauvegarde depuis sa page d'accueil.
Le détail de la sauvegarde est disponible en cliquant sur Afficher le rapport
.
Par contre, pour voir l'état des différents services Bareos il faut se rendre à la rubrique ETAT DES SERVICES
de la page d'accueil et cliquer sur DETAILS
, puis sélectionner État des démons bareos
.
Si l'un des services est arrêté, il est possible de le relancer à l'aide de la commande service
:
# service bareos-dir restart
* Restarting Bareos Director bareos-dir ... [ OK ]
Tester le support de sauvegarde
Pour tester le support de sauvegarde USB local ou SMB, il est possible d'utiliser le script bareosmount.py
.
Exemple
root@scribe:~# bareosmount.py -t
Test de montage OK
root@scribe:~#
Exemple
root@scribe:~# bareosmount.py -t
Problème de montage (1 essais restants)
ERREUR : périphérique /dev/sda1 non reconnu
Problème de montage (0 essais restants)
ERREUR : périphérique /dev/sda1 non reconnu
Échec du test de montage :
point de montage : Erreur
permissions : Erreur
montage : Erreur
root@scribe:~#
Exemple
root@scribe:~# bareosmount.py -t
Problème de montage (1 essais restants)
[Errno 32] mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Problème de montage (0 essais restants)
[Errno 32] mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Échec du test de montage :
point de montage : Erreur
permissions : Erreur
montage : Erreur
root@scribe:~#
Base de donnée sqlite de Bareos irrécupérable
Lors d'un incident sur l'un des modules EOLE la base de donnée sqlite de Bareos peut être irrécupérable.
Il est possible de restaurer des données sans la base de données avec les commandes bls
et bextract
.
Inspiré de l'article suivant : https://pipposan.wordpress.com/2010/06/09/bacula-tape-restore-without-database/
Truc & astuce
Il est également possible de réaliser la récupération avec la commande bconsole
.
Montage du support de sauvegarde et affichage des volumes par date
La commande ls -lrt
permet de trier l'affichage des volumes par date :
root@srv-scribe:~# ls -lrt /mnt/sauvegardes/
On voit une sauvegarde FULL le 06/06/2015 (de nombreux volumes de 2Go ont la même date) :
-rw-r----- 1 bareos root 1999997379 2015-06-06 02:02 ScribeVolume0044
-rw-r----- 1 bareos root 1999936662 2015-06-06 02:05 ScribeVolume0068
-rw-r----- 1 bareos root 1999936707 2015-06-06 02:09 ScribeVolume0045
[...]
-rw-r----- 1 bareos root 1999936658 2015-06-06 04:34 ScribeVolume-0241
-rw-r----- 1 root root 1999936613 2015-06-06 04:38 ScribeVolume-0302
Utilisation de la commande bsl
root@srv-scribe:~# bls -j -V ScribeVolume0044 /mnt/sauvegardes
bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.
15-jun 16:38 bls JobId 0: Prêt à lire les données du volume « ScribeVolume0044 » depuis le device "FileStorage" (/mnt/sauvegardes).
Volume Record: File:blk=0:208 SessId=103 SessTime=1427205136 JobId=1 DataLen=173
End Job Session Record: File:blk=0:603258940 SessId=103 SessTime=1427205136 JobId=3381
Date=03-jun-2015 02:08:39 Level=I Type=B Files=13,342 Bytes=752,617,191 Errors=0 Status=T
Begin Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382
Job=BackupCatalog.2015-06-03_02.00.00_48 Date=03-jun-2015 02:12:24 Level=I Type=B
End Job Session Record: File:blk=0:603259372 SessId=104 SessTime=1427205136 JobId=3382
Date=03-jun-2015 02:12:24 Level=I Type=B Files=0 Bytes=0 Errors=0 Status=T
[...]
Begin Job Session Record: File:blk=0:1308041742 SessId=109 SessTime=1427205136 JobId=3387
Job=Complet.2015-06-06_02.00.00_53 Date=06-jun-2015 02:00:12 Level=F Type=B
15-jun 15:54 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume0044 »
15-jun 15:54 bls JobId 0: Fin de tous les Volumes.
Le Job du 06/06/2015 a SessId=109 et SessTime=1427205136. Ainsi que le Job du dernier volume en date du 06/06/2015
root@srv-scribe:~# bls -j -V ScribeVolume-0302 /mnt/sauvegardes
bls: butil.c:282 Using device: "/mnt/sauvegardes" for reading.
15-jun 15:59 bls JobId 0: Prêt à lire les données du volume « ScribeVolume-0302 » depuis le device "FileStorage" (/mnt/sauvegardes).
Volume Record: File:blk=0:209 SessId=109 SessTime=1427205136 JobId=33 DataLen=174
15-jun 16:00 bls JobId 0: Fin de Volume au fichier 0 sur le Device "FileStorage" (/mnt/sauvegardes), Volume « ScribeVolume-0302 »
15-jun 16:00 bls JobId 0: Fin de tous les Volumes.
Génération d'un fichier bootstrap avec la liste des volumes à utiliser (tous ceux du 06/06/2015)
root@srv-scribe:~# cat boostrap.bsr
Volume="ScribeVolume0044"
VolSessionId=109
VolSessionTime=1427205136
Volume="ScribeVolume0068"
VolSessionId=109
VolSessionTime=1427205136
Volume="ScribeVolume0045"
VolSessionId=109
VolSessionTime=1427205136
[...]
Volume="ScribeVolume-0302"
VolSessionId=109
VolSessionTime=1427205136
Restauration
root@srv-scribe:~# root 15133 15119 25 16:26 pts/5 00:07:31 bextract -b boostrap.bsr /mnt/sauvegardes /home/restore/
Restauration LDAP
root@srv-scribe:~# service slapd stop
root@srv-scribe:~# md /home/sav/ldap
root@srv-scribe:~# mv /var/lib/ldap/*.* /home/sav/ldap/
root@srv-scribe:~# slapadd -l /home/sauv_ldap.ldif
Restauration MySQL
root@srv-scribe:~# mysql_pwd.py eole21 nomodif
root@srv-scribe:~# mysql -uroot -peole21 < /home/sauv_mysql.sql
Restauration Quotas
root@srv-scribe:~# bareosrestore.py --quota
Restauration SID
root@srv-scribe:~# cat /etc/eole/${MODULE}_SID | xargs net setlocalsid
Reconfiguration du serveur
Il faut procéder à la reconfiguration du serveur à l'aide de la commande reconfigure
.
Annexes
Voici un complément d'information (outils d'administration, liens, …) pour aller plus loin avec Bareos.
Autres outils d'administration pour Bareos
L'administration de Bareos se fait au travers d'une console (texte ou graphique), qui pourra être installée sur le même serveur que le directeur (Director), mais aussi sur d'autres postes pour permettre de commander Bareos à distance.
Différentes versions existent :
bconsole est la console en mode texte ;
Bareos Administration Tool (BAT) est l'interface graphique standard qui permet d'exploiter bconsole, installable (25Mo) sur les modules EOLE avec la commande :
# apt-eole install bareos-bat
BAT se lance avec la commande suivante :
# bat -c /etc/bareos/bat.conf
Il est possible de lancer l'interface BAT à travers SSH avec l'option -X pour activer le déport de l'affichage et l'option -C pour éventuellement compresser les données (pratique pour les lignes à faible débit) :
# ssh -C -X <adresse_serveur>
bgnome-console est une console graphique (notamment pour les opérations de restauration), mais nécessite l'installation des librairies GNOME 2.x ;
bwx-console est une version graphique utilisant wxWidgets
L'installation de bwx-console est décrite pour Mandriva et pour Ubuntu à l'adresse suivante : http://m-k.cc/spip.php?rubrique3
bacula-win (http://sourceforge.net/projects/bacula/files/) permet notamment d'installer :
un client Windows (File Daemon) ;
des consoles : BAT, bconsole et TrayMonitor.
Il existe aussi des versions Web comme :
bacula-web écrit en PHP :
ou bweb écrit en perl :
http://bacula.svn.sourceforge.net/viewvc/bacula/trunk/gui-old/bweb/
Pour avoir plus d'informations sur les outils mentionnés : http://wiki.bacula.org/doku.php?id=3rd_party_addons
Quelques références
Voici quelques références autour de Bareos et des sauvegardes.
Définition de la sauvegarde : http://fr.wikipedia.org/wiki/Sauvegarde
Le site officiel de Bareos : http://www.bareos.org
L'accès à la documentation en HTML mais aussi en PDF : http://www.bareos.org/en/documentation.html
Tutoriel : http://www.bareos.org/en/HOWTO.html
Manuel utilisateur : http://www.bareos.org/en/manual/articles/manual.html
Définition des éléments de sauvegarde Bareos :
http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-60001.3
Un répertoire partagé Windows 7 comme support de sauvegarde
Les modules EOLE permettent d'utiliser plusieurs supports pour effectuer les sauvegardes, dont un répertoire partagé.
Pour la sauvegarde, les accès au partage doivent impérativement se faire en utilisant un compte local du poste sur lequel se trouve le dossier partagé.
Remarque
Donner des droits d'accès au partage à un compte du domaine pose un problème pour le bon déroulement des sauvegardes. En effet pour avoir accès au partage, la station va vérifier la validité de l'utilisateur et de son mot de passe auprès du contrôleur de domaine mais le service Samba est arrêté par Bareos pour éviter qu'un fichier/dossier ne soit modifié pendant la sauvegarde. L'accès au partage n'est donc pas validé par le contrôleur de domaine et la sauvegarde ne peut pas se faire.
Voici comment créer un partage avec les droits d'accès adéquats sur un poste équipé de Windows Seven.
Le dossier partagé peut se trouver sur le disque dur de la station Windows mais il peut aussi se trouver sur un disque dur externe connecté à la station.
Création d'un compte dédié sur le poste Windows 7
Ouvrir une session en administrateur local de la station sur laquelle vous voulez créer le partage.
Puis ouvrir la console de Gestion de l'ordinateur : Menu démarrer → Ordinateur → clic droit Gérer.

Aller dans le menu : Outils système → Utilisateurs et groupes locaux → Utilisateurs, puis effectuer un clic droit dans l'espace vide.

Configurer l'utilisateur comme ceci :

Finaliser l'opération en cliquant sur le bouton Créer
.
Partage du dossier et réglage des droits d'accès
Après avoir créé un dossier sauvegardes
à l'emplacement de votre choix, effectuer un clic droit sur le dossier et sélectionner Partager avec
puis Des personnes spécifiques...
Entrer le nom de l'utilisateur créé précédemment et cliquer sur le bouton Ajouter
.
Lui donner les droits en Lecture/écriture.
Finaliser l'opération en cliquant sur le bouton Partager
.
Attention
L’interface propose une liste déroulante pour la sélection des utilisateurs spécifiques. Elle affiche le nom complet alors qu’il faut fournir le nom d’utilisateur.
En cas d’erreur du type Windows n’a pas pu trouver <utilisateur>, vérifier que le nom saisi correspond bien au nom d’utilisateur.
Un répertoire partagé Windows XP comme support de sauvegarde
Les modules EOLE permettent d'utiliser plusieurs supports pour effectuer les sauvegardes, dont un répertoire partagé.
Pour la sauvegarde, les accès au partage doivent impérativement se faire en utilisant un compte local du poste sur lequel se trouve le dossier partagé.
Remarque
Donner des droits d'accès au partage à un compte du domaine pose un problème pour le bon déroulement des sauvegardes. En effet pour avoir accès au partage, la station va vérifier la validité de l'utilisateur et de son mot de passe auprès du contrôleur de domaine mais le service Samba est arrêté par Bareos pour éviter qu'un fichier/dossier ne soit modifié pendant la sauvegarde. L'accès au partage n'est donc pas validé par le contrôleur de domaine et la sauvegarde ne peut pas se faire.
Voici comment créer un partage avec les droits d'accès adéquats sur un poste équipé de Windows XP.
Le dossier partagé peut se trouver sur le disque dur de la station Windows mais il peut aussi se trouver sur un disque dur externe connecté à la station.
Création d'un compte sur le poste Windows XP
Ouvrez une session en administrateur local de la station sur laquelle vous voulez créer le partage. Puis ouvrez la console de Gestion de l'ordinateur.

Ensuite, créez un nouvel utilisateur : Menu "Action" ou clic droit dans l'espace vide de la colonne de droite.

... avec les options configurées.

Partage du dossier et réglage des droits d'accès
Après avoir créé un dossier "sauvegardes" à l'emplacement de votre choix, partagez-le à l'aide d'un clic droit sur le dossier.
Puis cliquez sur Autorisations. Supprimez les autorisations par défaut ("Tout le monde") puis ajoutez "usersauv" avec "Contrôle total".
Fermez la fenêtre des autorisations puis allez dans l'onglet "Sécurité" et cliquez sur "Paramètres avancés".
Décochez "Hérite de l'objet parent...", une fenêtre s'ouvre alors, sélectionnez "Supprimer".

Ajoutez ensuite l'utilisateur "usersauv" toujours avec le "Contrôle total".

Enfin, affectez le "Contrôle total".
