Restauration complète
Attention
La restauration d'un serveur se fait sur un serveur instancié.
Préparation du serveur
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 Bacula
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 Bacula pour un serveur non enregistré dans Zéphir
# baculaconfig.py -s usb --usb_path=/dev/device_usb
Il est normal d'avoir le message suivant lors de l'utilisation de
baculaconfig.py
:Fichier template /var/lib/creole/baculasupport.conf inexistant
Il peut être utile de configurer l'envoi des courriels en même temps que le support de sauvegarde.
# baculaconfig.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 :
# baculamount.py --mount
Montage OK
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 :
# bacularestore.py --catalog nom_du_directeur
Restauration du catalog
Pas de fichier /var/lib/eole/config/baculajobs.conf dans le volume nom_du_directeur-catalog-0003
Pas de fichier /etc/eole/bacula.conf dans le volume nom_du_directeur-catalog-0003
Les messages concernant l'absence de certains fichiers sont normaux.
Démontage du support
Pour démonter le support de sauvegarde :
# baculamount.py --umount
Instanciation
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 Bacula 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
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 :
# baculamount.py -t
Si le périphérique n'a plus le même nœud la commande baculamount.py
renvoie :
ERREUR : le périphérique /dev/sdb1 n'existe pas
Il faut alors changer la configuration du support :
# baculaconfig.py -s usb --usb_path=/dev/device_usb
Le test de montage doit renvoyer OK :
# baculamount.py -t
Test de montage OK
Lister l'ensemble de la configuration :
# baculaconfig.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 bacularestore.py
:
# bacularestore.py --all
Truc & astuce
Il est possible de suivre l'évolution des restaurations dans le fichier de log : /var/log/bacula/restore.txt
Les informations peuvent mettre un peu de temps avant d'apparaître car Bacula 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
.