Tag Archive | "restauration"

Tags: , , ,

Restaurer une sauvegarde Amanda avec Amrestore

Posted on 20 May 2010 by Thomas Ginestet

L’utilitaire Amrestore permet tout comme Amrecover de restaurer les fichiers sauvegardés par Amanda, mais de manière moins “fine”. En effet, si les données à sauvegarder sont trop volumineuses, Amanda effectue la sauvegarde en découpant en plusieurs morceaux les disques déclarés dans votre fichier disklist. Cela permet d’effectuer la sauvegarde plus rapidement.

Amrestore se base sur ces morceaux (chunks) pour établir une restauration. Il ne peut restaurer qu’au minimum un morceau. Pour restaurer un seul fichier, vous êtes obligé de restaurer l’intégralité du morceau dans lequel il se trouve.

Quel est alors l’intérêt d’utiliser un outil “moins puissant” ? C’est simple, contrairement à Amrecover, Amrestore n’a pas besoin des fichiers d’index pour effectuer une restauration. Si vos index sont perdus, vous pouvez donc quand même effectuer une restauration de vos fichiers.

Voici la méthode

Rembobiner la bande:

thomas@cryonux:~$ mt -f /dev/nst0 rewind

Lancer la commande pour lister le contenu de la bande:

thomas@cryonux:~$ amrestore -p /dev/nst0 no-such-host > /dev/null

Voici un exemple de listing qu’amrestore va vous générer:

CMD  N° DE CHUNK   ACTION  SERVEUR._DISQUE.DATE
amrestore: 1: skipping pdc._home.20080917.3.01
amrestore: 2: skipping pdc._home.20080917.3.02
amrestore: 3: skipping pdc._home.20080917.3.03
amrestore: 4: skipping pdc._etc.20080917.3.1
amrestore: 5: skipping pdc._var_lib.20080917.3.2
amrestore: 6: skipping sgbd._opt.20080917.3.3
amrestore: 7: reached end of tape: date 20080918

Puis rembobiner la bande à nouveau:

thomas@cryonux:~$ mt -f /dev/nst0 rewind

Pour restaurer l’ensemble des données du serveur “pdc” présentes sur la bande nous allons faire:

thomas@cryonux:~$ amrestore /dev/nst0 pdc | tar xvf -

Pour ne restaurer par exemple que le disque “etc” du serveur “pdc” nous allons faire:

thomas@cryonux:~$ amrestore /dev/nst0 pdc etc | tar xvf -
amrestore: 1: skipping pdc._home.20080917.3.01
amrestore: 2: skipping pdc._home.20080917.3.02
amrestore: 3: skipping pdc._home.20080917.3.03
amrestore: 4: restoring pdc._etc.20080917.3.1
amrestore: 5: skipping pdc._var_lib.20080917.3.2
amrestore: 6: skipping sgbd._opt.20080917.3.3
amrestore: 7: reached end of tape: date 20080918

Il y a un petit truc pour aller plus rapidement, si au préalable vous aviez lancé le listing de la bande (cf commande correspondante). Amrestore lance la recherche de l’emplacement des données sur la bande avant d’effectuer la restauration et ce processus peut prendre énormément de temps si vous avez beaucoup de données sauvegardées. Le truc consiste alors à se placer directement à l’endroit des données à restaurer, pour cela il suffit d’avoir le numéro du morceau correspondant à cet emplacement sur la bande (n° de chunk).

Exemple avec mon disque “etc” du serveur “pdc”:

thomas@cryonux:~$ mt -f /dev/nst0 fsf 4

4 correspondant donc au morceau où se trouve “etc”

amrestore: 4: restoring pdc._etc.20080917.3.1
amrestore: 5: skipping pdc._var_lib.20080917.3.2
amrestore: 6: skipping sgbd._opt.20080917.3.3
amrestore: 7: reached end of tape: date 20080918

Il ne reste alors plus qu’à décompresser l’archive restaurée pdc._etc.20080917.3.1 avec tar -xzvf

A noter, Amanda n’utilise pas de format propriétaire pour la sauvegarde de vos fichiers. Si votre serveur de sauvegarde est en rade et que vous devez faire une restauration en urgence, vous pouvez tout simplement utiliser les outils Linux pour restaurer vos bandes. Certes, ça va être du “tout ou rien” mais ce n’est pas le moment de chipoter !

En utilisant dd on va pouvoir restaurer tout une bande en un seul coup:

thomas@cryonux:~$ dd  if=/dev/nst0 bs=32k count=1
thomas@cryonux:~$ dd if=/dev/nst0 bs=32k skip=1 | gunzip | tar xvf

Comments (0)

Tags: , , , ,

Sauvegarder et restaurer sa base OpenLDAP

Posted on 19 May 2010 by Thomas Ginestet

Sauvegarder sa base openLDAP ? Rien de plus simple si l’on prend un minimum de précautions.

Bien que vous puissiez faire cela à chaud, il est quand même conseillé de couper le service avant d’effectuer la sauvegarde. Si vous ne pouvez vous le permettre, vous pouvez également passer le démon slapd en lecture seule afin de ne pas corrompre la base sur une mauvaise manip.
Pour cela il suffit de rajouter dans le fichier de configuration slapd.conf la directive “readonly on” et de relancer le démon slapd.

Sauvegarde de la base:
- Couper le démon slapd (et vérifier qu’il se soit bien arrêté…).

- Ouvrir le fichier de configuration slapd.conf et noter le chemin indiqué par la directive “directory“: c’est le chemin d’accès à votre base LDAP.

- Dans ce répertoire, sauvegarder la totalité des fichiers .bdb qui vous permettront en cas de mauvaise manipulation de retrouver votre base dans son ancien état (il suffira alors de replacer ces fichiers dans le répertoire et de relancer le démon slapd).

- Lancer la commande:

thomas@cryonux:~$ slapcat -n 1 -c /oùvousvoulez/backup.ldif

-n spécifie le nombre de base LDAP dont vous disposez (correspond au nombre de directives “directory” de votre slapd.conf) et -c faisant abstraction des erreurs potentiellement rencontrées.

- Relancer le démon slapd et vérifier que tout fonctionne correctement.

Importation de la sauvegarde:

- Couper le démon slapd (et vérifier qu’il se soit bien arrêté…).

- Dans le répertoire indiqué par “directory“, sauvegarder les fichiers .bdb puis supprimer la totalité des fichiers contenu dans ce répertoire.

- Lancer la commande:

thomas@cryonux:~$ slapadd -n 1 -l /oùvousavezsauvegardé/backup.ldif

- Vérifier que les fichiers .bdb aient bien été reconstruits dans le répertoire indiqué par “directory” et qu’ils aient les bons droits d’accès (lecture et écriture seulement pour le propriétaire de la base).

- Relancer le démon slapd et vérifier que tout fonctionne correctement.

Comments (0)