ファイルのどのコピーがCOWコピーであるかをどうやって知ることができますか?

ファイルのどのコピーがCOWコピーであるかをどうやって知ることができますか?

NFS経由でMacintoshに接続されたZFSシステムがあります。システムはほとんどいっぱいですが、重複したファイルがたくさん見つかりました。jdupes

このコピーがどのように作成されたのかわかりません。インターネットから再ダウンロードしたり、cpシステムを使用してコピーした可能性がありますが、再ダウンロードした場合は同じスペースを2回使用する必要があります。私のNFSサーバーには、ZFS重複排除のためのRAMが不足しています。

何でも交換したい物理的に繰り返されるCopy-On-Write レプリカがあるレプリカです。

どのファイルの重複が互いに書き込み中のコピーの重複であるかをどうやって知ることができますか?

ベストアンサー1

ここでZFSの2つの属性を混同しているようです。

  • CoW(記録中のコピー)ファイルの変更時にファイルシステムがどのように機能するかを説明します。 CoW以外の既存のファイルシステムには、ファイルの更新がすぐに行われる読み取り - 修正 - 書き込みサイクルがあります。つまり、ファイルの唯一のコピーは直接変更されます(更新されたバイトはファイル内の指定された場所に書き込まれます)。 )).電源を切ると破損する恐れがあります。これは、ファイルの変更がファイルに影響しないZFSなどのCoWファイルシステムの場合には該当しません。変更されたバイトは単に追加され、成功すると前の部分が削除の対象として表示されます。これにより、より多くの断片化が整合性を失うのを防ぐことができます(変更するたびに新しいスペースが必要になるため)。
  • 重複排除ZFSファイルシステムで有効にするオプション機能(デフォルトでは無効)。有効にすると、書き込まれるすべてのデータが最初に重複排除テーブル(DDT)で照会されます。すでに存在する場合は再作成されず、リンクのみとなります。これは転送(読み取りおよび書き込み)には機能しますが、繰り返し保存された「古い」データには機能しません。また、インターネットで読むことができるいくつかの欠点もあるので、ここではその概要を説明しません。

ファイルシステムで重複排除を有効にしないと、すべてのコピー(cpFinderなどのコピーなど)が新しいデータを作成し、空き容量を減らします。デフォルトの重複排除機能は組み込まれていません(推奨圧縮もデフォルトで無効になっています!)。 1MBファイルを1000回コピーすると、それを直接確認でき、1MBではなく1000MBのスペースが失われます。

どのファイルの重複が互いに書き込み中のコピーの重複であるかをどうやって知ることができますか?

これはできませんが、冗長チェッカーを使用して正確な重複エントリを見つけることができます(他のファイルシステムと同様)。また、zdb -b poolname使用することができます重複排除の利点の予測RAMを増やすことが状況に適していることを確認してください。また、圧縮を有効にするとどんな状況でも役立ちますので、まだ使用していない場合は有効にしてください。

おすすめ記事