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...

dimanche 19 novembre 2023

LVM2 setup on kid3

Physical

Laptop (ASUS) with 7-slot USB hub with USB (5V1A) power supply

3x2TB USB external drives (Seagate,W...,Toshiba)

LVM

  1. sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
  2. sudo vgcreate VGurbackup /dev/sdb /dev/sdc
  3. sudo lvcreate -L 5T -n LVurbackup VGurbackup
  4. sudo mkfs.ext4 /dev/VGurbackup/LVurbackup 
  5. sudo vi /etc/fstab 
  6. sudo mount /var/backups/urbackup
  7. sudo chgrp urbackup /var/backups/urbackup
  8. sudo chmod 770 /var/backups/urbackup

Issues

With 2xUSB external drives it proved to be working fine and reliably even without external supply (the laptop itself is AC powered)
However with 3 drives...Well maybe this powered USB hub is not the right solution... I keep getting I/O errors after a short elapsed time of usage.  Will try a 5V 2A power adapter.