rsyncにbtrfsなどのファイルシステムの書き込み中にコピーファイルを尊重させることはできますか?
あるbtrfs fsから別のbtrfs fsへの1 GBファイルとそのファイルの書き込み中にコピーレプリカ(したがって1 GBが共有される)を同期させるためにいくつかのテストを試みましたが、rsyncはデータを取得するbtrfs filesystem du
と2 GBのデータを送信します。同期すると、ファイルはゼロバイト共有されます。したがって、rsync は CoW コピーの代わりに受信側に新しいコピーを作成します。
答え1
この機能は現在サポートされていませんrsync
。
ただし、次のようないくつかの方法でこの問題を解決できます。
- rsync に 2 つのファイルを転送させると、btrfs 重複排除ツールを使用してリモート側から重複を削除します。
- ファイルを独自のbtrfsサブボリュームに配置
btrfs send
しますbtrfs receive
。 rsync
1つのファイルを複製し、--checksum --inplace --no-whole-file
強制rsyncを使用して2番目のファイルにパッチを適用して、最初のファイルとの違いのみを含めます。