小さな変更を含む大容量ファイルをバックアップする方法は?

小さな変更を含む大容量ファイルをバックアップする方法は?

ファイルセット(それぞれ数GBのサイズ)があり、各ファイルが毎日少しずつ変更された場合(最後に追加された情報ではなく任意の場所で)、どのように効率的にコピーしますか?つまり、ファイル全体ではなく変更された部分だけが更新されるということです。これは、ここの数Kbとそこの数GBの間の違いをコピーすることを意味します。

答え1

これ同期プログラムはまさにそのことをします。マニュアルページから:

元のファイルと宛先にある既存のファイルの差だけを転送してネットワークに転送されるデータ量を減らす増分転送アルゴリズムとして知られています。 Rsyncはバックアップとミラーリングに広く使用され、日常的な使用のための拡張コピーコマンドとして使用されます。

答え2

最新の重複排除バックアッププログラムが必要な場合があります。確認するボグバックアップ

これにより、大容量ファイルの各バージョンを複数回バックアップしますが、異なるバージョン間で共通のコンテンツを共有するため、特定のバージョンの大容量ファイルで使用される合計容量は、単一バージョンの合計ディスク容量よりわずかに大きくなります。バージョンは互いにわずかに異なると仮定します。

答え3

何らかの方法でIOバインドされている場合は、BTRFSやZFSなどの増分バックアップを直接サポートするファイルシステムを使用してください。探すrsync何をすべきかなど、文書の違い。

使用速度rsyncが遅く、IO集約的です。

ファイルへの変更を作成するアプリケーションがIOバインドされている場合、その使用量はrsyncアプリケーションで多くのIOサイクルを占めるため、ファイルが存在します。バックアッププロセスまたはシステムがIOバインドされている場合、rsyncIOサイクルは利用可能なバックアップ帯域幅で消費されます。

Googleの「rsyncが遅い」です。たとえば、 nfs-shareからローカルディレクトリにファイルをコピーすると、rsyncはcpと比較して非常に遅くなります(8〜10倍)。

関連情報