bonjour et merci pour ce retour d'expérience, concernant en particulier BTRFS.
Pour ma part, j'ai mis en place un mécanisme permettant de dupliquer l'ensemble de nos sauvegardes, avec rsync. Les données arrivent sur un serveur dédié qui à terme sera sorti de notre salle serveur et localisé quelques centaines de mètres plus loin. C'est pour cela qu'on l'appelle PRA, bien qu'on ne se concentre que sur les données.
Les données sont collectées sur une grosse partition BTRFS de 20To extensible à 40 via LVM. Nous avons actuellement une volumétrie de 17To pour 15 millions de fichiers. Je réalise, via un script un snapshot quotidien et efface les snapshots les plus anciens. Je n'en garde que 30. Les opérations de snapshot sont pratiquement instantanées : entre 2 et 5 secondes pour la création et moins de 30ms pour la suppression.
Le couple BTRFS + rsync me semble un très bon remplacement à RSYNC + rsnapshot. Le premier permet en théorique de faire des synchros différentielles par blocs avec rsync (--inplace --no-whole-file), ce que ne permet pas rsnapshot qui ne peut en aucun cas opérer sur les snapshots en mode différentiel (contrairement à BTRFS). L'organisation en layers de BTRFS permet de conserver 2 copies d'un même fichier en différentiel par bloc.
concernant la supervision, j'ai mis en place sur certains volumes, la création d'un fichier .backup-timestamp créé par une tache cron. Il suffit de surveiller l'age de ce fichier pour lever une alarme si celui-ci prend de l'age de façon inexpliquée. J'ai couplé cela avec le plugin telegraf/filestat :
marc$ cat input.filestat.conf
# https://docs.influxdata.com/telegraf/v1.9/plugins/inputs/#filestat
# Read stats about given file(s)
[[inputs.filestat]]
files = ["/extra/backup/*/.backup-timestamp"]
interval = '1d'
concernant BTRFS, j'évite de m'appuyer sur les fonctionnalités avancées : la gestion des volumes est faite par LVM. Le RAID est géré matériellement. Cela m'évite d'avoir des soucis avec les bugs résiduels liés à la maturité de BTRFS. Je dois encore expérimenter la fonctionalité send/receive. J'aimerai bien faire mettre en place un snapshot de type hourly localement sur chacune de nos machines en réseau : un snapshot local est pratiquement instantané et n'induit aucune charge réseau. Il ne reste plus qu'a envoyer sur les serveurs de backup une daily pendant la nuit.
J'ai expérimenté le couple restic + rest-server. J'ai eu quelques déconvenues et par ailleurs, la sauvegarde génère une charge CPU non négligeable, mais non apparente sur nos applications.
# PRA
Posté par Marc Quinton . En réponse au journal Bricolage pour faire des sauvegardes. Évalué à 4.
bonjour et merci pour ce retour d'expérience, concernant en particulier BTRFS.
Pour ma part, j'ai mis en place un mécanisme permettant de dupliquer l'ensemble de nos sauvegardes, avec rsync. Les données arrivent sur un serveur dédié qui à terme sera sorti de notre salle serveur et localisé quelques centaines de mètres plus loin. C'est pour cela qu'on l'appelle PRA, bien qu'on ne se concentre que sur les données.
Les données sont collectées sur une grosse partition BTRFS de 20To extensible à 40 via LVM. Nous avons actuellement une volumétrie de 17To pour 15 millions de fichiers. Je réalise, via un script un snapshot quotidien et efface les snapshots les plus anciens. Je n'en garde que 30. Les opérations de snapshot sont pratiquement instantanées : entre 2 et 5 secondes pour la création et moins de 30ms pour la suppression.
Le couple BTRFS + rsync me semble un très bon remplacement à RSYNC + rsnapshot. Le premier permet en théorique de faire des synchros différentielles par blocs avec rsync (
--inplace --no-whole-file), ce que ne permet pas rsnapshot qui ne peut en aucun cas opérer sur les snapshots en mode différentiel (contrairement à BTRFS). L'organisation en layers de BTRFS permet de conserver 2 copies d'un même fichier en différentiel par bloc.concernant la supervision, j'ai mis en place sur certains volumes, la création d'un fichier .backup-timestamp créé par une tache cron. Il suffit de surveiller l'age de ce fichier pour lever une alarme si celui-ci prend de l'age de façon inexpliquée. J'ai couplé cela avec le plugin telegraf/filestat :
concernant BTRFS, j'évite de m'appuyer sur les fonctionnalités avancées : la gestion des volumes est faite par LVM. Le RAID est géré matériellement. Cela m'évite d'avoir des soucis avec les bugs résiduels liés à la maturité de BTRFS. Je dois encore expérimenter la fonctionalité send/receive. J'aimerai bien faire mettre en place un snapshot de type
hourlylocalement sur chacune de nos machines en réseau : un snapshot local est pratiquement instantané et n'induit aucune charge réseau. Il ne reste plus qu'a envoyer sur les serveurs de backup unedailypendant la nuit.J'ai expérimenté le couple
restic + rest-server. J'ai eu quelques déconvenues et par ailleurs, la sauvegarde génère une charge CPU non négligeable, mais non apparente sur nos applications.