BorgBackup 2.0, prise en charge de Rclone – ajout de plus de 70 fournisseurs cloud en plus de SSH
(borgbackup.readthedocs.io)- La bêta 2.0.0b11 est réservée aux tests de nouveaux dépôts et ne doit pas être utilisée en production
- Borg 2.0 est une breaking release incompatible avec les dépôts existants ; pour déplacer les archives d’un dépôt borg 1.2/1.4 vers un nouveau dépôt borg 2.0, il faut utiliser
borg transfer - Avant d’utiliser
borg transfer, effectuer la mise à niveau versborg >= 1.2.6ou vers une version de borg incluant le correctif deCVE-2023-36811, puis suivre les instructions de mise à niveau liées au manifest et au TAM des archives - Ajout de la prise en charge des URL
rclone://pour les dépôts Borg, permettant d’utiliser Amazon S3, Backblaze B2, Ceph, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, Microsoft OneDrive, OpenStack Swift, sftp, SMB/CIFS, WebDAV, ainsi que plus de 70 produits de stockage cloud - Prise en charge des opérations parallèles sur un même dépôt depuis un même client
- Ajout de la fonctionnalité Archive series :
NAMEidentifie la série d’archives portant le même nom, et une archive individuelle précise est identifiée paraid:<archive hash> - La modification de la syntaxe en ligne de commande impose d’adapter les scripts et wrappers : le dépôt se spécifie généralement via
BORG_REPOouborg -r <MYREPO> <COMMAND>, le formatrepo::archiven’étant plus utilisé - Suppression de la syntaxe de dépôt de style scp, utilisation requise des URL
ssh:// - Certaines commandes mixtes dépôt/archive ont été séparées ou renommées :
borg initdevientborg repo-create, les opérations sur dépôt utilisentborg repo-*, et les opérations sur archive utilisentborg create NAME,borg list ID,borg extract ID, etc. --glob-archivesest renommé en--match-archives, avec prise en charge des styles de motifid:,sh:,re:; la valeur par défaut estid:, qui correspond à une comparaison sur chaîne identique- Avec
platformdirs 3.x.x,XDG_*_HOMEn’est plus appliqué sur macOS et Windows ; sur macOS, les répertoires config/cache par défaut deviennent~/Library/Application Support/borg/ - Suppression de
--remote-ratelimit,--numeric-owner,--nobsdflags,--noatime,--save-space,--bypass-lock, ainsi que deborg config - L’utilisation simultanée de
--listet--progressest interdite, sauf exception pour--log-json - Amélioration des performances de
borg checketcompactsur les dépôts à forte latence grâce à la suppression des appels inutiles àrepository.list(), et amélioration des performances de la plupart des commandes sur ces dépôts par rapport à b10 grâce à un cache d’index des chunks dans le dépôt - Correction d’une rare race condition dans le cache de fichiers pouvant entraîner une perte de données
- Les entrées du cache de fichiers conservent désormais à la fois
ctimeetmtime, et il est possible de reconstruire le cache de fichiers à partir de l’archive précédente de la même archive series - Le cache de fichiers est séparé par archive series afin de réduire l’utilisation de la RAM
- Il est désormais interdit de spécifier plusieurs fois certaines options redondantes et sans effet, ce qui peut faire échouer des scripts qui fonctionnaient auparavant
1 commentaires
Avis de Hacker News
J’utilise BorgBackup et j’en suis plutôt satisfait
Une fois configuré, on peut presque l’oublier, et 7 ans plus tard mes sauvegardes avec déduplication tournent toujours chaque semaine sans problème
Je recommande de l’utiliser avec borgmatic, qui réduit la complexité des sauvegardes Borg internes : https://github.com/borgmatic-collective/borgmatic
https://vorta.borgbase.com/
Du coup, je penche de plus en plus vers rsync ou des outils avec frontend GUI
Pour l’instant, je sauvegarde simplement vers ma machine distante avec rclone, mais ce n’est clairement pas une solution professionnelle
J’ai pensé à ajouter Backblaze B2 comme destination distante, mais utiliser seulement rclone ne me semble pas vraiment être une approche de sauvegarde moderne
rclone n’est pas, à proprement parler, un outil de sauvegarde, et même s’il propose du chiffrement, c’est assez rudimentaire
À mon avis, un vrai outil de sauvegarde devrait découper les données en blocs de taille appropriée, préserver les liens si nécessaire en regroupant les répertoires en tar plutôt que de créer des fichiers tels quels pour coller aux API S3/B2, et gérer des bonnes pratiques établies depuis longtemps comme la déduplication
Je me demande s’il existe un outil à recommander
J’ai jeté un rapide coup d’œil à restic et duplicati, mais ce n’était pas aussi simple que je l’attendrais d’un outil de sauvegarde dédié
Je n’ai pas besoin d’une GUI, et je n’en veux même pas ; idéalement toute la configuration serait dans un seul fichier de config, sauvegardable ailleurs comme n’importe quelle autre donnée et reproductible sur une nouvelle machine
Le plus gros problème, c’est que j’ai vu des histoires effrayantes où ce genre d’outil a corrompu son index, rendant les données irrécupérables ; pour un outil de sauvegarde, c’est une zone critique où cela ne devrait absolument jamais arriver, et j’ai du mal à l’accepter
Il joue le même rôle que restic, mais sa manière de gérer la configuration pourrait davantage vous convenir
Référence supplémentaire : https://news.ycombinator.com/item?id=34154052
Mieux vaut ne pas essayer duplicati
J’ai tenté plusieurs fois de l’utiliser sérieusement, mais il était toujours rempli de bugs bloquants, ce qui est d’autant plus dommage que j’aimais son interface
Depuis, j’ai mis à niveau mon serveur maison vers du matériel correct, mais bupstash fonctionne globalement mieux, donc je l’ai gardé
Il faut toutefois tenir compte du fait que la dernière release date d’il y a 2 ans et que l’auteur le marque encore comme bêta
Cela dit, les critères de qualité de l’auteur semblent plus élevés que ceux d’autres projets « non bêta »
Comparatif utile d’outils de sauvegarde : https://github.com/deajan/backup-bench
Je recommande de suivre le guide de démarrage rapide de la documentation
Il prend en charge la déduplication et le chiffrement, et offre beaucoup plus de fonctionnalités, mais vous n’êtes pas obligé de les utiliser si vous n’en avez pas besoin
Je l’utilise avec borgmatic pour mettre en place des procédures de sauvegarde et de reprise après sinistre qui réduisent le risque de perte de données
borgbase est aussi un bon service, mais si vous n’avez pas besoin de ses fonctionnalités additionnelles, utiliser la prise en charge de rclone pour aller vers B2 ou équivalent peut revenir moins cher
Je l’utilise depuis assez longtemps, à la fois pour des projets personnels et du travail rémunéré, et mon expérience a été bonne
Borg 2 est encore en bêta et Kopia est dans une situation similaire
Kopia est un outil plus récent, donc je le teste sur la même machine pour une sauvegarde redondante séparée ; comme j’ai de l’espace, il n’y a pas vraiment de raison de ne pas le faire
Je lance de temps en temps un contrôle d’intégrité, données incluses, pour pouvoir faire confiance à l’état des métadonnées et des données
Le « fichier de config » est en réalité un script shell qui définit l’environnement, comme l’emplacement du dépôt, exécute les sauvegardes voulues, puis lance la commande prune conforme à la politique de rétention
J’utilise cette configuration avec succès depuis plusieurs années
Je n’ai jamais fait de restauration complète, mais la restauration de fichiers et de répertoires individuels n’a posé aucun problème
Je me demande s’il existe un lien concernant les problèmes de corruption d’index
Je ne l’ai jamais vécu directement, mais un seul échantillon n’a évidemment pas grande valeur
Je voulais depuis longtemps créer un backend rclone pour Borg
Mais dans la v1, l’abstraction des backends n’était pas assez bonne pour le faire facilement
Dans la v2, Thomas Waldmann a créé une interface abstraite correcte, et le code rclone fait moins de 300 lignes de Python, donc cela a pu se faire en un ou deux après-midi
https://github.com/borgbackup/borgstore/blob/master/src/borg...
Très intéressant
C’était une fonctionnalité demandée depuis longtemps, surtout avec la popularité croissante du stockage objet et la baisse de ses coûts
Le fonctionnement de Borg avec du stockage objet n’était pas officiellement pris en charge, mais certains l’utilisaient ainsi
D’après ce que je comprends, la plupart répliquaient le dépôt puis l’uploadaient, plutôt que de laisser Borg l’utiliser ou le manipuler directement ; le problème est que si le dépôt source était endommagé, ces dommages pouvaient être répliqués aussi
Cette prise en charge devrait rendre les choses beaucoup plus faciles et simplifier le workflow
Choisir la prise en charge de rclone plutôt qu’un service particulier semble être une décision plus intelligente et plus tournée vers l’avenir
Articles liés
Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - juillet 2024
Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - février 2024
BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - décembre 2022
Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - janvier 2022
Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - juillet 2021
BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - novembre 2019
Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - décembre 2016
BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - février 2016
Je me demande s’il existe une comparaison récente entre Borg et Restic, ou une raison convaincante de passer de Restic à Borg
J’utilisais Borg autrefois, mais le fait de ne pas pouvoir utiliser de backend autre que des fichiers locaux ou ssh posait problème
Je suis passé à Restic à peu près au moment où Restic a commencé à prendre en charge la compression
Pour mon cas d’usage, qui consiste à sauvegarder plusieurs serveurs vers un fournisseur de stockage compatible S3, Restic et Borg semblent désormais presque équivalents
Je n’ai pas envie de réparer ce qui n’est pas cassé, mais j’aimerais aussi savoir ce que je rate avec Restic par rapport à Borg
C’est ce qui fait que les sauvegardes ont effectivement lieu
Il me donne aussi moins l’impression de changer en permanence, et je n’ai jamais souhaité un flux continu de nouvelles fonctionnalités dans une solution de sauvegarde
Si vous cherchez un stockage de sauvegarde en ligne bon marché, il est bon de savoir que l’abonnement Microsoft 365 Single inclut 1 To sur OneDrive
L’abonnement Family offre 1 To par personne
Je l’utilise avec succès depuis plusieurs années avec restic + rclone
Ce n’est pas rapide, mais ça fonctionne
1 To de stockage accessible en SSH pour 4 euros par mois, difficile à battre
Je me demande à partir de quel moment il faut recommander Borg plutôt qu’un simple rsync pour un usage personnel
Pour l’instant, je sauvegarde avec rsync des ensembles de répertoires d’un disque vers un autre disque et vers un service distant (rsync.net)
Ça fonctionne bien, mais mon cas d’usage est simple et je ne sais pas si cette solution suffit, ou si je passe à côté d’un gros avantage de Borg
Le chiffrement de Borg me fait envie, mais la complexité d’un nouvel outil et la crainte de peut-être abîmer mes données me retiennent
Les données à sauvegarder représentent actuellement environ 5 To, ce qui n’est pas énorme
Pour les sauvegardes de mails, 17 sauvegardes des 6 derniers mois représentent à l’origine 837 Go, puis 312 Go après compression et 19 Go après déduplication
Postgres passe aussi de 25 Go à 7 Go, puis à 900 Mo
Les sauvegardes de mails pourraient aussi économiser de l’espace avec les liens physiques de rsync, mais je ne sais pas si elles descendraient à ce niveau sans réglages particuliers
Avoir plusieurs snapshots est très important
Des ressources comme http://www.taobackup.com/ valent aussi le détour
rsync est très lent quand il y a beaucoup de fichiers, et ne sait pas non plus gérer les fichiers renommés, qu’il retransfère
Avec Borg, on peut voir toutes les sauvegardes créées et revenir au moment voulu parmi les snapshots précédents
C’est un avantage que l’on retrouve aussi dans beaucoup de solutions de sauvegarde
Concrètement, si vous supprimez un fichier par erreur et que cet état est synchronisé par rsync, vous ne pouvez pas restaurer ce fichier depuis cette sauvegarde
Avec Borg, c’est possible
Je me demande s’il y a une raison d’utiliser le chiffrement de Borg plutôt que rclone crypt, ou l’inverse
C’est un outil qui copie des fichiers d’une machine à une autre, et dans ce cas les chiffre avant la copie
C’est plus proche de rsync utilisé avec le cloud
Borg est un outil d’une autre nature, destiné aux sauvegardes
Il déduplique, chiffre, crée des instantanés, calcule des sommes de contrôle et compresse un répertoire source dans un dépôt unique
Il fonctionne au niveau des blocs de données, pas au niveau des fichiers
Il inclut aussi des commandes de gestion du dépôt, permettant de rechercher des données, de nettoyer ou fusionner des instantanés, etc.
Ensuite, on peut utiliser des outils comme rsync/SSH ou rclone pour transférer ou synchroniser le dépôt là où on le souhaite
Maintenant que rclone est pris en charge nativement, il est possible de sauvegarder directement vers un site distant sans devoir conserver le dépôt à la fois en local et à distance
J’aimerais savoir en quoi ils diffèrent en termes d’efficacité et de chiffrement
J’ai regardé rsync.net, mais j’ai trouvé dommage qu’il ne prenne pas en charge une forme raisonnable de chiffrement
J’utilise Borg Backup avec rsync.net depuis plusieurs années et j’en suis satisfait
Ils prennent en charge la possibilité de forcer Borg dans une session ssh via force-command, et Borg dispose d’une option empêchant la suppression même si la clé ssh de sauvegarde est compromise
Dans l’ensemble, c’est une solution robuste sans être trop pénible à configurer
Comme indiqué, c’est possible avec rsync.net en forçant la commande, et les instantanés de rsync.net servent aussi de protection contre une suppression accidentelle