BorgBackup 2.0, soporte para Rclone: añade compatibilidad con más de 70 proveedores de nube además de SSH
(borgbackup.readthedocs.io)- La beta 2.0.0b11 es solo para probar repositorios nuevos y no debe usarse en producción
- Borg 2.0 es una breaking release incompatible con los repositorios existentes; para mover archivos de repositorios borg 1.2/1.4 a un nuevo repositorio borg 2.0, es necesario usar
borg transfer - Antes de usar
borg transfer, hay que actualizar aborg >= 1.2.6o a una versión de borg con la corrección deCVE-2023-36811, y seguir las instrucciones de actualización relacionadas con manifest y archive TAM - Se añadió soporte para URLs
rclone://en repositorios Borg, lo que permite usar Amazon S3, Backblaze B2, Ceph, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, Microsoft OneDrive, OpenStack Swift, sftp, SMB/CIFS, WebDAV y más de 70 productos de almacenamiento en la nube - Soporte para trabajo en paralelo en el mismo repositorio desde el mismo cliente
- Se añadió la función Archive series;
NAMEidentifica la serie de archivos con el mismo nombre y un archivo individual específico se identifica conaid:<archive hash> - Los cambios en la sintaxis de línea de comandos requieren ajustar scripts y wrappers: el repositorio normalmente se especifica con
BORG_REPOoborg -r <MYREPO> <COMMAND>, y ya no se usa el formatorepo::archive - Se eliminó la sintaxis de repositorio estilo scp; ahora es necesario usar URLs
ssh:// - Algunos comandos que servían tanto para repositorio como para archivo se separaron o cambiaron de nombre:
borg initahora esborg repo-create, las operaciones de repositorio usanborg repo-*, y las de archivo usanborg create NAME,borg list ID,borg extract ID, etc. --glob-archivescambió de nombre a--match-archives, admite estilos de patrónid:,sh:yre:, y el valor predeterminado esid:, que hace coincidencia por cadena exacta- Al usar
platformdirs 3.x.x,XDG_*_HOMEya no se aplica en macOS ni Windows; en macOS, los directorios predeterminados de config/cache cambian a~/Library/Application Support/borg/ - Se eliminaron
--remote-ratelimit,--numeric-owner,--nobsdflags,--noatime,--save-space,--bypass-lockyborg config - Ya no se permite usar
--listy--progressal mismo tiempo, salvo la excepción de--log-json - Se mejoró el rendimiento de
borg checkycompacten repositorios de alta latencia al eliminar llamadas innecesarias arepository.list(), y el caché de índice de chunks dentro del repositorio mejora el rendimiento de la mayoría de los comandos frente a b10 en este tipo de repositorios - Se corrigió una race condition poco frecuente en el caché de archivos que podía provocar pérdida de datos
- Las entradas del caché de archivos ahora conservan tanto
ctimecomomtime, y el caché puede reconstruirse a partir de un archivo anterior de la misma archive series - El caché de archivos ahora se separa por archive series para reducir el uso de RAM
- Ya no se permite repetir algunas opciones sin sentido, por lo que scripts que antes funcionaban podrían fallar
1 comentarios
Opiniones en Hacker News
Uso BorgBackup y estoy bastante satisfecho
Fue de esos casos en los que lo configuras una vez y te olvidas, y ahora, 7 años después, las copias de seguridad con deduplicación siguen funcionando cada semana sin problemas
Recomiendo usarlo junto con borgmatic, que reduce la complejidad interna de los backups de Borg: https://github.com/borgmatic-collective/borgmatic
https://vorta.borgbase.com/
Por eso cada vez me inclino más hacia rsync o herramientas con un frontend GUI
Ahora mismo simplemente uso rclone para hacer backups en mi máquina remota, pero está claro que no es una solución profesional
Pensé en agregar Backblaze B2 como destino remoto, pero usar solo rclone no parece precisamente un enfoque moderno de backups
rclone, estrictamente hablando, no es una herramienta de backup, y aunque tiene cifrado, es algo tosco
Creo que una herramienta de backup adecuada debería dividir los datos en bloques de tamaño razonable, preservar enlaces empaquetando directorios en tar cuando sea necesario en vez de crear archivos tal cual a nivel de archivo para ajustarse a las API de S3/B2, y encargarse de buenas prácticas establecidas desde hace mucho, como la deduplicación
Me pregunto si hay alguna herramienta recomendable
Miré brevemente restic y duplicati, pero no eran tan simples como esperaría de una herramienta dedicada de backup
No necesito una GUI; de hecho, preferiría no tenerla, y me gustaría que toda la configuración estuviera en un único archivo de configuración para poder respaldarlo en otro lugar como cualquier otro dato y reproducirlo en una máquina nueva
El problema más grande es que he visto casos aterradores en los que estas herramientas corrompieron el índice y dejaron los datos imposibles de recuperar; para una herramienta de backup, esa es un área central en la que eso jamás debería pasar bajo ninguna circunstancia, así que me cuesta aceptarlo
Cumple un papel similar al de restic, pero quizá te guste más su forma de manejar la configuración
Referencia adicional: https://news.ycombinator.com/item?id=34154052
Mejor no intentar con duplicati
Varias veces quise usarlo en serio, pero siempre estaba lleno de bugs que lo hacían fallar, y es una lástima porque su interfaz me gustaba
Después actualicé mi servidor casero a hardware decente, pero en general bupstash funciona mejor, así que lo sigo manteniendo
Eso sí, hay que tener en cuenta que el último release fue hace 2 años y que el autor todavía lo marca como beta
Aun así, me parece que los estándares de calidad del autor son más altos que los de otros proyectos “no beta”
Comparación útil de herramientas de backup: https://github.com/deajan/backup-bench
Recomiendo seguir la guía de inicio rápido de la documentación
Soporta deduplicación y cifrado, y tiene muchas más funciones, pero si no las necesitas no tienes por qué usarlas
Lo uso junto con borgmatic para armar procedimientos de backup y recuperación ante desastres que reduzcan el riesgo de pérdida de datos
borgbase también es un buen servicio, pero si no necesitas las funciones adicionales de borgbase, usar el soporte de rclone con algo como B2 puede salir más barato
Lo he usado durante bastante tiempo tanto en proyectos personales como en trabajo pagado, y mi experiencia ha sido buena
Borg 2 todavía está en beta y Kopia está en una situación parecida
Kopia es una herramienta más nueva, así que la estoy probando en un backup redundante separado en la misma máquina; como tengo espacio, no hay razón para no hacerlo
De vez en cuando ejecuto una verificación de integridad, incluyendo los datos, para poder confiar en que los metadatos y los datos están bien
El “archivo de configuración” en realidad es un script de shell que configura el entorno, como la ubicación del repositorio, ejecuta el backup que quiero y luego corre el comando prune según la política de retención
Llevo varios años usando esta configuración con éxito
Nunca hice una restauración completa, pero restaurar archivos y directorios individuales no me dio problemas
Me pregunto si hay algún enlace relacionado con el problema de corrupción del índice
No lo he sufrido personalmente, pero por supuesto una sola muestra no dice mucho
Desde hace mucho quería crear un backend de rclone para Borg
Pero en v1 la abstracción de backends no estaba lo suficientemente bien hecha, así que era difícil implementarlo fácilmente
En v2, Thomas Waldmann dejó una interfaz abstracta bastante buena, y el código de rclone terminó en menos de 300 líneas de Python, así que pude hacerlo en una o dos tardes
https://github.com/borgbackup/borgstore/blob/master/src/borg...
Muy interesante
Es una función que se venía pidiendo desde hace tiempo, especialmente a medida que aumenta la popularidad del almacenamiento de objetos y bajan los costos
Que Borg funcione con almacenamiento de objetos no tenía soporte oficial, pero algunos lo usaban así
Según entiendo, la mayoría replicaba el repositorio y luego lo subía, en vez de hacer que Borg lo escribiera o manipulara directamente; el problema es que si el repositorio original estaba dañado, ese daño también podía replicarse
Con este soporte debería ser mucho más fácil y el flujo de trabajo se simplificará
Elegir soporte para rclone en vez de un servicio específico parece una decisión más inteligente y con más futuro
Artículos relacionados
Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - julio de 2024
Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - febrero de 2024
BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - diciembre de 2022
Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - enero de 2022
Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - julio de 2021
BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - noviembre de 2019
Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - diciembre de 2016
BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - febrero de 2016
Me pregunto si hay una comparación reciente entre Borg y Restic, o si existe alguna razón convincente para pasar de Restic a Borg
Antes usaba Borg, pero el hecho de no poder usar backends distintos de archivos locales o ssh era un problema
Me pasé a Restic más o menos cuando Restic empezó a soportar compresión
Para mi caso de uso, en el que hago backups de varios servidores a un proveedor de almacenamiento compatible con S3, ahora Restic y Borg parecen estar casi a la par
No quiero arreglar algo que no está roto, pero también quiero saber qué me estoy perdiendo al usar Restic en lugar de Borg
Así los backups realmente se hacen
También se siente menos cambiante, y nunca he querido un flujo constante de funciones nuevas en una solución de backup
Si estás buscando almacenamiento barato para backups en línea, vale la pena saber que la suscripción Microsoft 365 Single incluye 1 TB de OneDrive
La suscripción Family da 1 TB por persona
La he usado con éxito durante años con la combinación restic + rclone
No es rápida, pero funciona
1 TB de almacenamiento accesible por SSH por 4 euros al mes es difícil de superar
Me pregunto cuándo tendría sentido recomendar Borg en lugar de rsync común para uso personal
Actualmente hago backups con rsync de un conjunto de directorios de un disco a otro disco y a un servicio remoto (rsync.net)
Funciona bien, pero no estoy seguro de si mi caso de uso es tan simple que esta solución alcanza, o si me estoy perdiendo grandes ventajas de Borg
La encriptación de Borg me resulta atractiva, pero la complejidad de una herramienta nueva y el temor a terminar dañando mis datos me frenan
Los datos que necesito respaldar actualmente rondan los 5 TB, así que no es una cantidad enorme
En el backup del correo, 17 backups de los últimos 6 meses ocupaban originalmente 837 GB; después de comprimir quedaron en 312 GB, y después de deduplicar, en 19 GB
Postgres también bajó de 25 GB a 7 GB, y luego a 900 MB
Con enlaces duros de rsync también se podría ahorrar espacio en el backup del correo, pero no sé si se reduciría tanto sin ajustes adicionales
Tener varias snapshots es muy importante
También vale la pena consultar recursos como http://www.taobackup.com/
rsync es muy lento cuando hay muchos archivos, y tampoco maneja archivos renombrados, así que los vuelve a transferir
Si usas Borg, puedes ver todos los backups creados y volver a cualquier punto de las snapshots anteriores
Es una ventaja que también tienen muchas soluciones de backup
En concreto, si borras un archivo por error y ese estado se sincroniza con rsync, no podrás recuperar el archivo desde ese backup
Con Borg sí podrías
Me pregunto si hay alguna razón para usar el cifrado de Borg en lugar de rclone crypt, o si sería al revés
Es una herramienta para copiar archivos de una máquina a otra y, en este caso, los cifra antes de copiarlos
Se parece más a rsync usado con la nube
Borg es otro tipo de herramienta, pensada para backups
Toma el directorio de origen y lo deduplica, cifra, captura en snapshots, verifica con checksums y comprime en un solo repositorio
Funciona a nivel de bloques de datos, no a nivel de archivos
También incluye comandos de administración del repositorio para buscar datos, limpiar o fusionar snapshots, etc.
Después puedes usar herramientas como rsync/SSH o rclone para transferir o sincronizar el repositorio donde quieras
Ahora que rclone tiene soporte nativo, se puede hacer backup directamente al destino remoto sin tener que mantener el repositorio tanto en local como en remoto
Quisiera saber cómo difieren en términos de eficiencia y cifrado
Estuve viendo rsync.net, pero me decepcionó que no admita un esquema de cifrado razonable
Llevo varios años usando backups de Borg en rsync.net y estoy satisfecho
Soporta una función para forzar Borg en la sesión SSH mediante force-command, y Borg tiene una opción que permite impedir eliminaciones incluso si roban la clave SSH de backup
En general, es una solución sólida sin que la configuración sea demasiado dolorosa
Como dices, se puede hacer en rsync.net forzando el comando, y los snapshots de rsync.net también sirven como una protección contra borrados accidentales