mercredi 29 novembre 2023

Erreurs BTRFS sur nouveau disque externe - simplification du backup

OK urbackup est une Rolls de système de backup mais il faut des jours et des jours pour copier mes 2TB de données environ actuellement... c'est devenu assez ingérable et les sauvegardes incrémentales ne sont pas forcément très courtes non plus.

Ce ne serait encore rien si je n'avais pas fréquemment des erreurs I/O rapportées par le kernel lors de ces longues sauvegardes.

J'ai récemment ajouté un disque externe 2 TB 2.5" en remplacement du Maxtor M3 de 6 ans d'âge qui venait de rendre l'âme... rien à faire, toujours des I/O errors (avec un LVM pour avoir 4 ou 6 TB en plusieurs drives USB)

J'ai alors ajouté un externe 4 TB 3.5" (Intenso)... utilisé seul grâce à sa plus grande capacité (pas besoin de LVM).  Mais... à nouveau des erreurs.

Bon on simplifie.  Le drive 4 TB sera formaté en BTRFS (pour bénéficier de la déduplification).  On le monte sur /var/backups/rsync au lieu du mountpoint de urbackup.  Du coup évidemment le serveur urbackup râle d'avoir perdu son disque mais bon on verra plus tard.

Un petit script de backup remplace le client urbackup:

HERE=`hostname`
THERE=root@kid3:/var/backups/rsync/$HERE

rm /tmp/usbmounted
scp $THERE/usbmounted /tmp
[ -f /tmp/usbmounted ] || exit 1

sudo rsync -av --delete --exclude 'cache' --exclude 'tmp' --exclude '.cache' /etc /root /home /media/luc/Sea $THERE

Pour le user (ici remplacé par uuu) il faut éventuellement faire un petit setup sshd sur le serveur.

En parlant du serveur, il lui faut une ligne dans fstab pour le disque externe:

UUID=a66b6bd2-4450-417b-a9d7-ea38661da852 /var/backups/rsync btrfs auto,nofail 1 1

Il y a un test basique dans le script de backup pour vérifier que le disque est monté... il faut créer ce fichier usbmounted sur le serveur, pour chaque client

Une entrée dans crontab -e permet de lancer automatiquement:

01 17,19,21,23    * * *        /home/luc/.local/bin/backup.sh > /var/backups/lastbackup

Bon voilà c'est à l'essai, on verra ce que çà donne...

Aucun commentaire: