btrfs send / receiveを使用して、低速で信頼性の低いネットワーク接続を介してバックアップスナップショットを送信する方法


11

btrfsの送信/受信機能を使用して、バックアップスナップショットをかなり低速(初期シードは約50〜100GB、アップストリームバンドは約1〜2MBit / s)で信頼できない(両端で毎日強制的に中断)接続で送信したいと思います。

次の要件が表示されます。

  • 暗号化された転送(通常はSSHトンネルを使用して実現されます)
  • 中断された接続に対する堅牢性

そうですZFSは自動的に中断された転送を再開することができます rsyncはないかと同様に、。これはBTRFSにも適用されますか?センド/ wikiページは受信中断した転送に関して有用ではありません。btrfsが中断された転送を再開する場合、私がしなければならないことは、SSHトンネルを使用して、中断された場合に再開することだけです。

そうでない場合は、中間でバッファを使用して、btrfs-connectionが割り込みに耐えることを確認するか、シードのために両方のサーバーを互いに近くに配置する必要があります(これは、毎日の送信に優れた追加ファイルに関して問題になります)容量とスナップショットの送信)。

シードとスナップショットを送信するために何を考慮する必要がありますか?

回答:


8

しばらくの間、バックアップに「btrfs send」を使用しています。壊れた転送の再開処理しませ。転送を再開し、ローカルのbtrfsファイルシステムのスナップショットをAmazon S3に自動的に同期するユーティリティを作成ました。それが役立つかどうかを確認するためにそれを試してみてください、私はフィードバックが大好きです!GitHub(https://github.com/AmesCornish/buttersink)とPyPi(https://pypi.python.org/pypi/buttersink/)の両方にあります。


時間があればすぐに間違いなく調べてみます。READMEには、ssh-backendはまだ実装されていないと書かれています。これは、リモートbtrfsファイルシステムへの同期がまだキューにあることを意味しますか?
Jens Erat

素晴らしいように聞こえますが、残念ながら私もSSHが必要です。
Matthias Urlichs 2014

2
SSHバックエンドが実装されました(0.6以降)
user80646

4

ファイルまたはパイプを介して「送信」します。反対側のファイルまたはパイプで「受信」します。疑わしい接続では、ファイルとrsyncのようなトランスポートで最善を尽くすでしょう。


1
そうです、ファイルを複数のチャンクに分割することも可能です。rsyncが中断された転送を再開する(またはrsyncで--partialを使用する)方がよい場合があります
ascobol

1

buttersinkのS3レジュームに加えて、以下をbtrbkサポートします。

バックアップの再開(バックアップターゲットにしばらく到達できなかった場合)

編集:私はそれ以来、個々のスナップショットの転送はで再開されないことを学びましたが、btrbkオフラインになるバックアップターゲット(中断されたスナップショットの転送の再開)を処理します。


私は間違いなく、btrbkそれが再開転送を実装する方法を見ていきますが、プログラミング言語の選択はやや嫌いですが、必要な機能セットをほとんど実装しているようです。
イェンスエラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.