4 pontos por GN⁺ 2024-10-02 | 1 comentários | Compartilhar no WhatsApp
  • 2.0.0b11 beta é apenas para testar novos repositórios e não deve ser usado em produção
  • O Borg 2.0 é uma breaking release incompatível com repositórios existentes; para mover arquivos de repositórios borg 1.2/1.4 para um novo repositório borg 2.0, é necessário usar borg transfer
  • Antes de usar borg transfer, faça upgrade para borg >= 1.2.6 ou para uma versão do borg com a correção de CVE-2023-36811, e siga as instruções de upgrade relacionadas ao manifest e ao archive TAM
  • Adicionado suporte a URL rclone:// no repositório Borg, permitindo usar Amazon S3, Backblaze B2, Ceph, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, Microsoft OneDrive, OpenStack Swift, sftp, SMB/CIFS, WebDAV e mais de 70 produtos de armazenamento em nuvem
  • Suporte a operações paralelas no mesmo repositório do mesmo cliente
  • Adicionado o recurso Archive series; NAME identifica a série de arquivos com o mesmo nome, e um arquivo individual específico é identificado por aid:<archive hash>
  • Mudanças na sintaxe da linha de comando exigem ajustes em scripts e wrappers: o repositório normalmente é especificado com BORG_REPO ou borg -r <MYREPO> <COMMAND>, e o formato repo::archive não é mais usado
  • Removida a sintaxe de repositório no estilo scp; agora é necessário usar URL ssh://
  • Alguns comandos que serviam tanto para repositório quanto para arquivo foram separados ou renomeados: borg init virou borg repo-create, operações de repositório usam borg repo-*, e operações de arquivo usam borg create NAME, borg list ID, borg extract ID etc.
  • --glob-archives foi renomeado para --match-archives, com suporte aos estilos de padrão id:, sh:, re:, e o padrão agora é correspondência literal com id:
  • Com o uso de platformdirs 3.x.x, XDG_*_HOME não se aplica no macOS e no Windows; no macOS, os diretórios padrão de config/cache mudaram para ~/Library/Application Support/borg/
  • Removidos --remote-ratelimit, --numeric-owner, --nobsdflags, --noatime, --save-space, --bypass-lock, borg config
  • O uso simultâneo de --list e --progress é proibido, exceto no caso de --log-json
  • Melhorias de desempenho em borg check e compact ao remover chamadas desnecessárias de repository.list() em repositórios com alta latência, e melhoria de desempenho da maioria dos comandos nesses repositórios em relação ao b10 com cache do índice de chunks no repositório
  • Corrigida uma rara race condition no cache de arquivos que podia causar perda de dados
  • As entradas do cache de arquivos agora mantêm ctime e mtime, e o cache pode ser reconstruído a partir do arquivo anterior da mesma archive series
  • O cache de arquivos foi separado por archive series para reduzir o uso de RAM
  • Agora é proibido repetir algumas opções redundantes e sem sentido, o que pode fazer scripts antigos que antes funcionavam falharem

1 comentários

 
GN⁺ 2024-10-02
Comentários do Hacker News
  • Uso o BorgBackup e estou bastante satisfeito
    Foi daqueles casos de configurar uma vez e esquecer, e mesmo depois de 7 anos o backup com deduplicação continua rodando toda semana sem problemas
    Recomendo usar junto com o borgmatic, que reduz a complexidade dos backups internos do Borg: https://github.com/borgmatic-collective/borgmatic

    • Se você usa ambiente desktop e prefere GUI, o Vorta também funcionou bem para mim
      https://vorta.borgbase.com/
    • Ferramentas assim são o tipo de coisa que você aprende, configura e depois realmente esquece, e mais tarde dá preguiça até de reaprender como tudo funciona para fazer a verificação do backup
      Por isso estou cada vez mais inclinado a usar rsync ou ferramentas com frontend GUI
    • Se esse “configurei e esqueci” já dura 7 anos, espero que você esteja fazendo de vez em quando uma verificação de restauração do backup
    • Fico curioso se existe algum cliente Android decente
  • No momento estou só usando rclone para fazer backup na minha máquina remota, mas claramente não é uma solução profissional
    Pensei em adicionar Backblaze B2 como destino remoto, mas usar só rclone não parece exatamente um método moderno de backup
    Tecnicamente o rclone não é uma ferramenta de backup, e embora tenha criptografia, ela é meio bruta
    Na minha visão, uma ferramenta de backup de verdade deveria dividir os dados em blocos de tamanho adequado e, em vez de simplesmente criar tudo no formato de arquivo puro para a API S3/B2, agrupar diretórios em tar quando necessário para preservar links, além de lidar com práticas consolidadas há muito tempo, como deduplicação
    Gostaria de saber se alguém tem alguma ferramenta para recomendar
    Dei uma olhada rápida em restic e duplicati, mas para ferramentas dedicadas de backup elas não pareceram tão simples quanto eu esperaria
    Não preciso de GUI, e na verdade prefiro não ter; seria bom se toda a configuração ficasse em um único arquivo de configuração, que pudesse ser salvo em backup em outro lugar junto com meus outros dados e reproduzido em uma máquina nova
    Um problema maior é que já vi casos assustadores em que essas ferramentas corromperam o índice e tornaram impossível recuperar os dados, e para uma ferramenta de backup isso parece uma falha inaceitável justamente na área em que ela nunca deveria errar

    • Se você quer tratar a configuração como um único arquivo, vale olhar o kopia
      Ele cumpre um papel parecido com o do restic, mas o jeito como lida com configuração pode te agradar mais
      Referência extra: https://news.ycombinator.com/item?id=34154052
      Já o duplicati é melhor nem tentar
      Tentei usar direito várias vezes, mas sempre esbarrei num monte de bugs, o que é uma pena porque eu gosto da interface
    • Depois de tentar fazer backup no rpi e achar o Borg lento demais para ser usável, passei a usar bupstash
      Depois atualizei meu servidor doméstico para um hardware decente, mas continuei com o bupstash porque no geral ele funciona melhor
      Só é bom ter em mente que o último release foi há 2 anos, e o autor ainda o marca como beta
      Mesmo assim, parece que o padrão de qualidade do autor é mais alto que o de muitos projetos “não beta”
      Comparação útil de ferramentas de backup: https://github.com/deajan/backup-bench
    • Se é simples ou não depende do caso de uso, mas o borg foi excelente para mim
      Recomendo seguir o guia de início rápido da documentação
      Ele oferece deduplicação e criptografia e tem muito mais recursos, mas você não precisa usar o que não quiser
      Uso junto com o borgmatic para montar um procedimento de backup e recuperação de desastres que reduz o risco de perda de dados
      O borgbase também é um bom serviço, mas se você não precisa dos recursos extras do borgbase, pode sair mais barato usar algo como B2 aproveitando o suporte a rclone
      Já usei por bastante tempo tanto em projetos pessoais quanto em trabalho pago, e minha experiência foi boa
    • Uso a combinação restic + autorestic/resticprofile
      O Borg 2 ainda está em beta, e o Kopia está numa situação parecida
      O Kopia é uma ferramenta mais nova, então estou testando em um backup duplicado separado na mesma máquina, e como tenho espaço, não há muito motivo para não fazer isso
      De vez em quando também executo uma verificação de integridade incluindo os dados, para poder confiar que tanto os metadados quanto os dados estão corretos
    • Estou muito satisfeito fazendo backup com Restic no BackBlaze B2
      O “arquivo de configuração” na prática é um script de shell que define o ambiente, como a localização do repositório, executa o backup desejado e roda o comando de prune de acordo com a política de retenção
      Uso essa configuração com sucesso há anos
      Nunca fiz uma restauração completa, mas restaurar arquivos e diretórios individuais sempre funcionou bem
      Fiquei curioso se você tem algum link sobre esses problemas de corrupção de índice
      Nunca aconteceu comigo, mas claro que uma única amostra não quer dizer muita coisa
  • Faz tempo que eu queria criar um backend rclone para o Borg
    Mas na v1 a abstração de backend não era boa o suficiente, então não era fácil fazer isso
    Na v2, Thomas Waldmann criou uma interface de abstração decente, e o código do rclone ficou com menos de 300 linhas de Python, então deu para fazer em uma ou duas tardes
    https://github.com/borgbackup/borgstore/blob/master/src/borg...

  • Muito interessante
    Principalmente porque a popularidade do armazenamento de objetos vem aumentando e o custo vem caindo, então esse era um recurso pedido há muito tempo
    O uso do Borg com armazenamento de objetos não era oficialmente suportado, mas algumas pessoas faziam isso mesmo assim
    Pelo que entendo, na maioria dos casos, em vez de deixar o Borg gravar e manipular diretamente, as pessoas duplicavam o repositório e depois faziam o upload, o que era problemático porque, se o repositório original estivesse corrompido, essa corrupção também podia ser copiada
    Com esse suporte, tudo deve ficar bem mais fácil e o fluxo de trabalho também mais simples
    Escolher suporte a rclone em vez de um serviço específico parece uma decisão mais inteligente e mais preparada para o futuro

  • Posts relacionados
    Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - julho de 2024
    Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - fevereiro de 2024
    BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - dezembro de 2022
    Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - janeiro de 2022
    Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - julho de 2021
    BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - novembro de 2019
    Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - dezembro de 2016
    BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - fevereiro de 2016

  • Gostaria de saber se existe alguma comparação recente entre Borg e Restic, ou algum motivo realmente convincente para migrar do Restic para o Borg
    Usei Borg no passado, mas o fato de ele não poder usar backends além de arquivo local ou ssh era um problema
    Migrei para o Restic quando ele começou a oferecer suporte a compressão
    No meu caso de uso, fazendo backup de vários servidores para um provedor de armazenamento compatível com S3, agora Borg e Restic parecem quase equivalentes
    Não quero consertar o que não está quebrado, mas também quero saber o que estou deixando de ter no Restic em comparação com o Borg

    • Prefiro o restic porque é mais fácil de entender e usar
      Assim o backup realmente acontece
      Também passa menos a sensação de estar sempre mudando, e eu nunca quis um fluxo constante de novos recursos em uma solução de backup
  • Se você procura um armazenamento online de backup barato, vale saber que a assinatura Microsoft 365 Single inclui 1 TB de OneDrive
    A assinatura Family dá 1 TB por pessoa
    Já uso com sucesso a combinação restic + rclone há vários anos
    Não é rápido, mas funciona

    • Também vale olhar o produto storage box da Hetzner
      É difícil bater 1 TB de armazenamento com acesso por SSH por 4 euros por mês
  • Tenho curiosidade sobre em que momento se recomenda Borg em vez de um rsync comum para uso pessoal
    Hoje faço backup de conjuntos de diretórios do meu drive para outro drive e para um serviço remoto (rsync.net) com rsync
    Funciona bem, mas meu caso de uso é simples, então não tenho certeza se essa solução já é suficiente ou se estou perdendo alguma grande vantagem do Borg
    Invejo a criptografia do Borg, mas a complexidade de uma nova ferramenta e o receio de talvez corromper meus dados me impedem de migrar com facilidade
    Os dados a serem salvos atualmente são cerca de 5 TB, então não é um volume tão grande

    • No meu caso, desduplicação e compressão economizam muito espaço de armazenamento
      No backup de e-mails, 17 backups dos últimos 6 meses ocupavam originalmente 837 GB, viram 312 GB após compressão e 19 GB após desduplicação
      No Postgres, cai de 25 GB para 7 GB e depois para 900 MB
      No backup de e-mails, talvez os hard links do rsync também economizassem espaço, mas não sei se chegariam a esse nível sem nenhum ajuste adicional
    • Um problema comum é que, se você apagar ou corromper um arquivo e só perceber dois dias depois, um único backup diário não ajuda
      Ter vários snapshots é muito importante
      Também vale consultar materiais como http://www.taobackup.com/
      O rsync fica muito lento quando há muitos arquivos e também não lida com arquivos renomeados, então os transfere de novo
    • Com rsync você só replica o estado final
      Com Borg, você pode ver todos os backups criados e voltar ao ponto desejado em qualquer snapshot anterior
      Essa é uma vantagem que também vale para muitas outras soluções de backup
      Em termos concretos, se você apagar um arquivo por engano e esse estado for sincronizado via rsync, não será possível recuperá-lo com esse backup
      Com Borg, será possível
  • Gostaria de saber se existe algum motivo para usar a criptografia do Borg em vez do rclone crypt, ou o contrário

    1. https://borgbackup.readthedocs.io/en/2.0.0b11/quickstart.htm...
    2. https://rclone.org/crypt/
    • O rclone crypt não tem muita relação com o Borg
      É uma ferramenta para copiar arquivos de uma máquina para outra, e nesse caso a criptografia é feita antes da cópia
      É mais próximo de um rsync usado com nuvem
      O Borg é outro tipo de ferramenta, voltada para backup
      Ele transforma um diretório de origem em um repositório único com deduplicação, criptografia, snapshots, checksums e compressão
      Ele funciona no nível de blocos de dados, não de arquivos
      Também inclui comandos de gerenciamento do repositório, permitindo buscar dados, limpar ou mesclar snapshots etc.
      Depois, para transferir ou sincronizar o repositório para onde você quiser, basta usar ferramentas como rsync/SSH ou rclone
      Agora que o rclone é suportado nativamente, dá para fazer backup direto para o destino remoto sem precisar manter o repositório tanto localmente quanto remotamente
    • Também tenho curiosidade sobre a diferença entre este pacote e o Restic
      Gostaria de entender como eles diferem em eficiência e criptografia
    • Também queria saber quão bem a deduplicação funciona quando a criptografia está ativada
      Dei uma olhada no rsync.net, mas achei uma pena ele não oferecer suporte a uma forma razoável de criptografia
  • Uso backups do Borg no rsync.net há anos e estou satisfeito
    Ele oferece suporte a forçar o Borg na sessão ssh com force-command, e o Borg tem uma opção que impede exclusões mesmo que a chave ssh de backup seja comprometida
    No geral, é uma solução robusta sem que a configuração seja especialmente dolorosa

    • Eu estava procurando uma forma de impedir que um host comprometido apague seus próprios backups
      Como foi dito, isso é possível no rsync.net ao forçar comandos, e os snapshots do rsync.net também servem como uma camada extra de proteção contra exclusões acidentais