Migration de backuppc d’une machine sous Debian Lenny à une autre

Dans un précédent en cours de rédaction je décris comment installer Lenny sur des disques WD EARS avec clusters de 4KB. Suite à cela il a fallu que je transfert le logiciel backuppc, sa configuration et le pool de sauvegarde sur cette nouvelle machine. La tâche a été assez facile, un peu de rsync, scp, chown, ln, etc. et le tour était joué. J’ai tout de même au quelques petits soucis donc j’explique la solution dans ce billet.

Après avoir tout transféré, les graphiques sur la page d’accueil de backuppc ne fonctionnaient plus. J’ai donc jeté un oeil dans le fichier error d’apache :

  1. Une fois backuppc installé sur la nouvelle machine, arrêter le service sur les deux machines.
  2. Copier /etc/backuppc sur la nouvelle machine en sauvegardant la configuration actuelle ailleurs… juste au cas où 🙂
    Vérifier les droits sur les fichiers
  3. Copier le pool de sauvegarde sur la nouvelle machine (srv02) pour moi c’était la commande suivante à lancer sur la nouvelle machine avec du rsync et du ssh :
    rsync -apzv --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --partial -e "ssh -p 22 -i /root/.ssh/id_rsa" root@srv01:/backup/backuppc/ /home/backuppc/<br style="font-family: Georgia, 'Bitstream Charter', serif; color: #444444; line-height: 1.5;" />

    Il y a peut-être plus court comme commande mais au moins on voit bien toutes les options en clair.
    La copie a duré plusieurs heures car il y avait tout de même plus d’un tera-octet de données.

  4. J’ai modifié le fichier de configuration afin d’indiquer que le pool se trouve sur /home/backuppc, c’est le paramètre suivant : $Conf{TopDir} = ‘/home/backuppc’;
    J’ai ensuite créé un lien symbolique de /var/lib/backuppc (dossier du pool par défaut) sur /home/backuppc, je ne sais pas si c’est nécessaire mais au moins je ne risque pas d’erreur avec un répertoire /var/lib/backuppc manquant.
  5. Vu que je suis passé d’une Lenny 32 bits à une Lenny 64 bits j’ai eu un souci avec rrdtool qui ne voulait plus générer les graphiques et je me suis retrouvé avec le message suivant dans le error.log d’Apache :
    « ERROR: This RRD was created on another architecture »
    J’ai donc suivi les indications données ici : http://tripleblack.net/~mmeija/?q=node/27
    Lancez la commande suivante sur la nouvelle machine : cd /var/lib/backuppc/log && rrdtool dump pool.rrd >pool.rrd.xml
    Copier le fichier pool.rrd.xml sur la nouvelle machine avec un ptit scp par exemple.
    Faites une sauvegarde du fichier pool.rrd de la nouvelle machine puis lancez la commande qui va restaurer les données des graphiques : mv pool.rrd pool.rrd.old && rrdtool restore pool.rrd.xml
    Vérifiez les droits sur les fichiers, je ne l’avais pas fait et le fichier pool.rrd était resté en root:root du coup les statistiques ne pouvaient pas être mises à jour.

Et voilà vous pouvez relancer backuppc et ouvrir l’interface web. Petit rappel, si vous ne vous souvenez pas du mot de passe dans le cas où vous l’ayez enregistré dans votre navigateur il y a six mois ;-), un petit coup de htpsswd /etc/backuppc/.htpasswd backuppc vous permettra d’en définir un nouveau.