btrfsトランスポート再開可能トランスポート

btrfsトランスポート再開可能トランスポート

btrfsスナップショットをオンラインストレージに送信してデータをバックアップする予定です。ストレージは、LUKS暗号化コンテナファイルとしてCIFS共有にマウントされます。

その後の転送は非常に高速ですが、tcを使用して合理的な量のアップストリームを残すと、1.3TBの最初の転送には23日かかります。理論的には、私の接続はそれを処理できますが、再接続することは可能です。私が理解したところによると、ただ使用すると再起動する必要があります。

 btrfs send ... | btrfs receive ...

これを行うための保存と復元の方法はありますか? uttersinkを見つけましたが、S3復元のみを許可しているようです。

どんなアイデアがありますか?

まったく異なるソリューションを提案するには、コメントを自由に活用してください。ヘッツナー収納ボックスです(https://www.hetzner.de/de/hosting/storagebox/bx40)。 FTP、FTPS、SFTP、SCP(SSHではなく、paramikoも機能しません)、Samba / CIFS、HTTPS、WebDAVアクセス権があります。暗号化されていないデータは保存用に信頼しないでください。どちらのサイトも利用可能なスペースが過剰ではありません。変更される小さなファイルがたくさんあるため、定期的なフルバックアップ(月に一度)なしで冗長化することは不可能です。同じ理由で、ローカルバージョンをリモートの場所からローカルにインストールされたバージョンと比較すると、rsyncが遅くなる可能性があります。他の当事者は時間の経過とともに単一のファイルの複数のバージョンを収集できるため、EncFSは保存できないようです。

答え1

btrbkサポートする:

バックアップの復元(一定期間にバックアップ先にアクセスできない場合)

buttersink サポートする:

ローカルbtrfsファイルシステム、SSH経由のリモートbtrfsファイルシステム、またはS3バケット。

または、手動でこれを実行できます。

  1. stdoutを介してシェルパイプに書き込むのではなく、オプションを使用して-fファイルsendにデータを書き込みます。
    btrfs send -f outfile
  2. 好みの再開可能な転送方法を使用してrsyncファイルを転送します(例:
  3. btrfs receive -f outfilestdinの代わりにoutfileからデータを読み取るために使用されます。

答え2

私が知っているのは、リモートリポジトリがファイルシステムとして公開されることです。自分を使っていませんがbtrfs考えるスナップショットは、1つの大きな「フルバックアップ」ファイルの後に複数の小さな「増分」ファイルが続くのと同じです。

これに基づいて再起動が可能なので使い続けますrsync。リモートホストに利用可能なサーバーがない場合、ファンキーインクリメンタルrsyncdiffアルゴリズムは使用できませんが、rsyncソースファイルが変更されていないと仮定し、到達したバイトオフセットから離れた後に続行できます。

test -t 2 && progress=--progress
rsync -av $progress --partial --append --sparse /path/to/source.img /path/to/remote/storage/

gzipソースファイルを転送する前に役立つことができる場合は、そうしてください。 (どちらもローカルからローカルへのファイル転送とは何の関係もありません。--rsyncablersync -zrsync

関連情報