BorgBackup 2.0、Rcloneをサポート – SSH以外に70以上のクラウドプロバイダーを追加サポート
(borgbackup.readthedocs.io)- 2.0.0b11 ベータは新しいリポジトリのテスト専用であり、本番利用は禁止
- Borg 2.0 は既存リポジトリと互換性のない breaking release で、borg 1.2/1.4 リポジトリのアーカイブを新しい borg 2.0 リポジトリへ移すには
borg transferの使用が必要 borg transferの使用前にborg >= 1.2.6またはCVE-2023-36811修正が適用された borg へアップグレードし、manifest および archive TAM 関連のアップグレード手順を実施する必要- Borg リポジトリに
rclone://URL サポートを追加し、Amazon S3、Backblaze B2、Ceph、Dropbox、Google Cloud Storage、Google Drive、Microsoft Azure、Microsoft OneDrive、OpenStack Swift、sftp、SMB/CIFS、WebDAV など、70以上のクラウドストレージ製品 を利用可能 - 同一クライアントの同一リポジトリで 並列処理 をサポート
- Archive series 機能を追加し、
NAMEは同名アーカイブのシリーズを識別し、特定の単一アーカイブはaid:<archive hash>で識別 - コマンドライン構文の変更により、スクリプトとラッパーの修正が必要: リポジトリは通常
BORG_REPOまたはborg -r <MYREPO> <COMMAND>で指定し、repo::archive形式は未使用 - scp スタイルのリポジトリ構文を削除し、
ssh://URL の使用が必要 - 一部のリポジトリ/アーカイブ兼用コマンドは分離または改名:
borg initはborg repo-create、リポジトリ操作はborg repo-*、アーカイブ操作はborg create NAME、borg list ID、borg extract IDなどを使用 --glob-archivesは--match-archivesに改名され、id:、sh:、re:パターンスタイルをサポートし、デフォルト値は同一文字列マッチのid:platformdirs 3.x.xの使用により、macOS と Windows ではXDG_*_HOMEが適用されず、macOS のデフォルト config/cache ディレクトリは~/Library/Application Support/borg/に変更--remote-ratelimit、--numeric-owner、--nobsdflags、--noatime、--save-space、--bypass-lock、borg configを削除--listと--progressの同時使用は--log-jsonの例外を除いて禁止- 高レイテンシのリポジトリで不要な
repository.list()呼び出しを削除したことでborg checkとcompactの性能が改善し、リポジトリ内の chunks index キャッシュにより b10 比で大半のコマンドの高レイテンシリポジトリ性能が改善 - ファイルキャッシュにおけるまれな データ損失の可能性がある race condition を修正
- ファイルキャッシュ項目が
ctimeとmtimeの両方を保持し、同じ archive series の前のアーカイブからファイルキャッシュを再構築可能 - ファイルキャッシュを archive series ごとに分離し、RAM 使用量を削減
- 意味のない一部オプションの重複指定が禁止され、以前は動作していたスクリプトが失敗する可能性あり
1件のコメント
Hacker Newsの意見
BorgBackupを使っていて、かなり満足している
一度設定しておけば忘れていてもいいレベルで、7年たった今でも重複排除バックアップが毎週問題なく動いている
内部のBorgバックアップの複雑さを減らしてくれるborgmaticと一緒に使うのをおすすめする: https://github.com/borgmatic-collective/borgmatic
https://vorta.borgbase.com/
なので、だんだんrsyncやGUIフロントエンドのあるツールのほうに傾いている
今は単にrcloneだけで自分のリモートマシンにバックアップしているが、専門的な解決策ではないのは明らか
Backblaze B2をリモート先として追加しようかと思ったが、rcloneだけを使うのは現代的なバックアップ方式とは言いにくそう
rcloneは厳密にはバックアップツールではないし、暗号化機能もあるにはあるが少し粗い
きちんとしたバックアップツールなら、データを適切なサイズのブロックに分割し、S3/B2 APIに合わせてファイル単位そのままにするのではなく必要に応じてディレクトリをtarでまとめてリンクを保持し、重複排除のような昔から確立されたベストプラクティスを処理すべきだと思う
おすすめできるツールがあるのか気になる
resticとduplicatiを少し見たが、専用バックアップツールなら期待するほど単純ではなかった
GUIは不要で、むしろ望んでおらず、すべての設定が単一の設定ファイルに入り、他のデータのように別の場所へバックアップして新しいマシンで再現できるとよい
さらに大きな問題は、こうしたツールがインデックスを壊してデータを復旧できなくなったという怖い事例を見た点で、バックアップツールならどんな状況でも絶対にそうなってはいけない中核領域なので納得しがたい
resticと同じ役割を果たすが、設定の扱い方がより気に入るかもしれない
追加参考: https://news.ycombinator.com/item?id=34154052
duplicatiはあえて試さないほうがよい
何度もちゃんと使おうとしたが、いつも失敗するバグだらけで、インターフェースは気に入っていたのでなおさら残念
その後ホームサーバーをちゃんとした機材にアップグレードしたが、概してよりうまく動くのでbupstashを使い続けている
ただし最後のリリースが2年前で、作者がまだベータと表示している点は考慮すべき
それでも作者の品質基準は、他の「ベータではない」プロジェクトより高いほうに思える
有用なバックアップツール比較: https://github.com/deajan/backup-bench
ドキュメントのクイックスタート案内に沿ってみることをおすすめする
重複排除と暗号化に対応し、機能ははるかに多いが、必要なければ使わなくてもよい
borgmaticと併用して、データ損失リスクを減らすバックアップおよび災害復旧手順を構成している
borgbaseも良いサービスだが、borgbaseの付加機能が不要なら、rclone対応を活用してB2のようなところを使うほうが安くなるかもしれない
個人プロジェクトと有償の仕事の両方でかなり長く使ってきており、経験は良好だった
Borg 2はまだベータで、Kopiaも似たような位置にある
Kopiaはより新しいツールなので、同じマシン上の別の重複バックアップでテスト中で、容量もあるのであえてやらない理由もない
ときどきデータも含めて整合性チェックを走らせ、メタデータとデータが問題ないと信頼できるようにしている
「設定ファイル」は実際には、リポジトリの場所などの環境を設定し、必要なバックアップを実行し、保持ポリシーに沿ったpruneコマンドを実行するシェルスクリプト
この構成を数年にわたってうまく使っている
全体復元はしたことがないが、個別のファイルとディレクトリの復元は問題なかった
インデックス破損問題に関連するリンクがあるのか気になる
自分で経験したことはないが、サンプル1件だけでは当然大きな意味はない
Borg用rcloneバックエンドを以前からずっと作りたかった
しかしv1ではバックエンド抽象化が十分うまくできておらず、簡単に作るのは難しかった
v2ではThomas Waldmannが良い抽象インターフェースを作ってくれていて、rcloneコードはPython 300行未満で済み、1日か2日の午後で作れた
https://github.com/borgbackup/borgstore/blob/master/src/borg...
非常に興味深い
特にオブジェクトストレージの人気が高まりコストが下がる中で、長らく要望されていた機能
Borgがオブジェクトストレージと一緒に動くことは公式サポートではなかったが、一部ではそう使っていた
理解している限りでは、多くの場合Borgに直接書かせたり操作させたりするより、リポジトリを複製してからアップロードしていたが、元のリポジトリが破損しているとその破損まで複製される可能性があり問題になる
今回の対応ではるかに簡単になり、ワークフローも単純になりそう
特定のサービスではなくrclone対応を選んだのは、より賢く将来志向の選択に見える
関連記事
Borg 2.0 beta (deduplicating backup program with compression and encryption) - https://news.ycombinator.com/item?id=40990425 - 2024年7月
Borgctl – borgbackup without bash scripts - https://news.ycombinator.com/item?id=39289656 - 2024年2月
BorgBackup: Deduplicating archiver with compression and encryption - https://news.ycombinator.com/item?id=34152369 - 2022年12月
Emborg – Front-End to Borg Backup - https://news.ycombinator.com/item?id=30035308 - 2022年1月
Deduplicating Archiver with Compression and Encryption - https://news.ycombinator.com/item?id=27939412 - 2021年7月
BorgBackup: Deduplicating Archiver - https://news.ycombinator.com/item?id=21642364 - 2019年11月
Borg – Deduplicated backup with compression and authenticated encryption - https://news.ycombinator.com/item?id=13149759 - 2016年12月
BorgBackup (short: Borg) is a deduplicating backup program - https://news.ycombinator.com/item?id=11192209 - 2016年2月
BorgとResticの最新の比較があるのか、あるいはResticからBorgへ移るだけの説得力のある理由があるのか気になる
以前はBorgを使っていたが、ローカルファイルやssh以外のバックエンドを使えない点が問題だった
Resticが圧縮をサポートし始めた頃にResticへ移行した
複数のサーバーをS3互換ストレージプロバイダーへバックアップする自分の用途では、今ではResticとBorgはほぼ同等に見える
壊れていないものを直したいわけではないが、Resticを使うことでBorgと比べて何を逃しているのかも知りたい
そのほうが実際にバックアップが行われる
絶えず変わっている感じも少ない。バックアップソリューションに、途切れない新機能の流れを求めたことはない
安価なオンラインバックアップストレージを探しているなら、Microsoft 365 SingleのサブスクリプションにOneDrive 1TBが含まれる点は知っておく価値がある
Familyサブスクリプションは1人あたり1TB
ここ数年、restic + rcloneの組み合わせで問題なく使っている
速くはないが動作する
SSHでアクセス可能な1TBストレージが月4ユーロなので、なかなか勝てない
個人用途で通常のrsyncの代わりにBorgを勧めるべきタイミングはいつなのか気になる
今はドライブ上のディレクトリ群を別のドライブとリモートサービス(rsync.net)にrsyncでバックアップしている
うまく動作しているが、自分の用途が単純だからこの解決策で十分なのか、Borgの大きな利点を見逃しているのか確信が持てない
Borgの暗号化はうらやましいが、新しいツールの複雑さと、もしかすると自分がデータを壊してしまうかもしれないという不安のせいで、簡単には移行できない
バックアップ対象のデータは現在約5TB程度で、それほど多くはない
メールバックアップは直近6か月分の17個のバックアップが元は837GBだったが、圧縮後は312GB、重複排除後は19GBになった
Postgresも25GBから7GB、さらに900MBまで減った
メールバックアップはrsyncのハードリンクでも容量を節約できるだろうが、特別な手入れなしでここまで小さくなるかは分からない
複数のスナップショットを持つことは非常に重要
http://www.taobackup.com/ のような資料も参考になる
rsyncはファイル数が多いと非常に遅く、名前が変わったファイルも処理できず再転送する
Borgを使えば、作成されたすべてのバックアップを見られ、以前のスナップショットの任意の時点へ戻せる
多くのバックアップソリューションにも当てはまる利点
具体的には、誤ってファイルを削除し、その状態がrsyncされると、そのバックアップからはファイルを復元できない
Borgなら可能
Borg の暗号化を rclone crypt より使うべき理由があるのか、あるいはその逆なのかが気になる
あるマシンから別のマシンへファイルをコピーするツールで、この場合はコピー前に暗号化する方式
クラウドと一緒に使う rsync に近い
Borg はバックアップのための別種のツール
元のディレクトリを 1 つのリポジトリとして重複排除、暗号化、スナップショット、チェックサム、圧縮する
ファイル単位ではなく データブロック 単位で動作する
リポジトリ管理コマンドも含まれており、データ検索、スナップショットの整理やマージなどができる
その後、リポジトリを任意の場所へ転送または同期するときに rsync/SSH や rclone のようなツールを使えばよい
今では rclone がネイティブにサポートされているため、リポジトリをローカルとリモートの両方に置く必要なく、リモート先へ直接バックアップできる
効率性と暗号化の面でどう違うのか知りたい
rsync.net を見てみたが、妥当な方式の暗号化をサポートしていない点が残念だった
ここ数年 rsync.net に Borg バックアップを使っていて満足している
force-command で ssh セッションに Borg を強制する機能をサポートしており、Borg にはバックアップ用 ssh キーが盗まれても削除を防げるオプションがある
全体として、設定がそれほど苦痛ではないうえに堅牢な解法
言われているようにコマンドを強制すれば rsync.net で可能で、rsync.net のスナップショットも誤って削除してしまう状況を防ぐ保護策になる