私はbtrfsの経験はありませんが、ファイルを重複排除できると宣伝されています。
私のアプリケーションでは、ディレクトリツリー全体を複製する必要があります。
私が学んだことから、btrfsはただちにではなく、いくつかのポストスキャンで重複を排除するだけです。使用するだけでもcp
重複排除は行われないようです(少なくとも、df
コピーされたファイルのサイズでディスク使用量が増加していることを示しています)。
データを完全に移動させずにbtrfs
、別の場所でファイルを複製するように直接指示することはできますか?
本質的には、ハードリンクに似ていますが、独立したメタデータ(アクセス許可、修正時間など)を使用します。
これはハードリンクのようなものではないことに注意してください。を使用すると
—
ormaaj
cp --reflink=always
、ユーザーの観点からの結果は、あらゆる点で2つの完全に独立したファイルになります。基礎となるファイルシステムがコピーオンライトを介して抽象化しているという事実は、実装の詳細にすぎません。「ハードリンクではなく、独立したメタデータを使用して」。私の知る限り、btrfsはまだ自動重複排除を行いません。これは将来の計画だと思いますが、それについては前向きではありません。
@ormaaj-ハードリンクには独立したメタデータがありません。そしてUdoは実装の詳細を求めました。ファイルへのreflinkを行うと、基本的にそのメタデータを複製します。参照が独立してファイルの分岐を変更する場合にのみ-それが重複排除のすべてです!
—
mikeserv
@mikeserv Er、重複排除には別の意味があると確信しています。重複排除では、データの既存の冗長コピーを取得して再統合します。COWは重複を最小限に抑えるための手段であり、重複排除ではありません。
—
ormaaj
@ormaaj-これは奇妙なことだと思います。重複排除とは、重複を最小限に抑えることではありません。
—
mikeserv
cp --reflink=always
。