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.