4 puntos por GN⁺ 2024-10-02 | 1 comentarios | Compartir por WhatsApp
  • 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 a borg >= 1.2.6 o a una versión de borg con la corrección de CVE-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; NAME identifica la serie de archivos con el mismo nombre y un archivo individual específico se identifica con aid:<archive hash>
  • Los cambios en la sintaxis de línea de comandos requieren ajustar scripts y wrappers: el repositorio normalmente se especifica con BORG_REPO o borg -r <MYREPO> <COMMAND>, y ya no se usa el formato repo::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 init ahora es borg repo-create, las operaciones de repositorio usan borg repo-*, y las de archivo usan borg create NAME, borg list ID, borg extract ID, etc.
  • --glob-archives cambió de nombre a --match-archives, admite estilos de patrón id:, sh: y re:, y el valor predeterminado es id:, que hace coincidencia por cadena exacta
  • Al usar platformdirs 3.x.x, XDG_*_HOME ya 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-lock y borg config
  • Ya no se permite usar --list y --progress al mismo tiempo, salvo la excepción de --log-json
  • Se mejoró el rendimiento de borg check y compact en repositorios de alta latencia al eliminar llamadas innecesarias a repository.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 ctime como mtime, 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

 
GN⁺ 2024-10-02
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

    • Si usas un entorno de escritorio y prefieres una GUI, Vorta también me funcionó bien
      https://vorta.borgbase.com/
    • Con este tipo de herramientas, una vez que las aprendes y las configuras, realmente terminas olvidándote de ellas; más adelante da flojera volver a recordar cómo funcionan y uno acaba evitando la verificación de backups
      Por eso cada vez me inclino más hacia rsync o herramientas con un frontend GUI
    • Si “lo configuré y me olvidé” ya lleva 7 años, espero que de vez en cuando estés haciendo una verificación de restauración de backups
    • Me pregunto si habrá algún buen cliente para Android
  • 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

    • Si quieres tratar la configuración como si fuera un solo archivo, vale la pena mirar kopia
      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
    • Desde que intenté hacer backups en una rpi y sentí que Borg era demasiado lento como para usarlo, estoy usando bupstash
      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
    • Que sea simple depende del caso de uso, pero borg me ha resultado excelente
      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
    • Uso la combinación restic + autorestic/resticprofile
      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
    • Estoy muy satisfecho haciendo backups a BackBlaze B2 con Restic
      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

    • Prefiero restic porque es más fácil de entender y usar
      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

    • También vale la pena mirar el producto storage box de Hetzner
      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 mi caso, la deduplicación y la compresión ahorran mucho espacio de almacenamiento
      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
    • Un problema común es que, si borras o dañas un archivo y recién lo descubres dos días después, un solo backup diario no ayuda
      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
    • Con rsync solo replicas el último estado
      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

    1. https://borgbackup.readthedocs.io/en/2.0.0b11/quickstart.htm...
    2. https://rclone.org/crypt/
    • rclone crypt no tiene mucho que ver con Borg
      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
    • También me interesa saber en qué se diferencia este paquete de Restic
      Quisiera saber cómo difieren en términos de eficiencia y cifrado
    • Me pregunto qué tan bien funciona la deduplicación cuando el cifrado está activado
      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

    • Estaba buscando una solución para evitar que un host comprometido pudiera borrar sus propios backups
      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