ハードリンクを使用した安価で高速な重複排除?

ハードリンクを使用した安価で高速な重複排除?

私は数千の Wordpress インストールを備えた共有ホスティングを所有しており、すべての重複ファイルを合理的かつ安全な方法で削除する優れた方法を長い間望んでいました。ディスク キャッシュのヒット率の向上と、よりシンプルなバックアップを求めています。

私は標準の Ext4 を使用しているだけで、ZFS のように (有料で) 組み込まれているものではありません。

私はrdfindのようなツールに精通していますほとんど完璧です。すべてのファイルをスキャンし、重複を見つけて、それらをハードリンクすることができます。オフピーク時に毎週 cron で実行できるので、コストは実質的にゼロになります。

問題は、1 つのアカウントでファイルを変更すると、ハード リンクが破棄され、そのアカウントのファイルのコピーが再度作成されることです。この方法だと、Wordpress やプラグインを更新する 1 つのサイトが他のサイトに影響することはありません。また、どのアカウントも別のアカウントのファイルを改ざんすることができないため、潜在的なセキュリティ問題も解消されます。リンク用の Copy-on-write のようなものでしょう。

このようなことは可能でしょうか? いくつか検索してみましたが、何も見つかりませんでした。

答え1

効率的な「オフライン」重複排除に最適なソリューションは、BTRFS reflinks のようです。

これにより、何かがファイルを変更しようとした場合 (例: Wordpress の更新) にリンクが「破壊可能」な状態になり、プラットフォームのセキュリティと使いやすさが維持されます。

そのオプションを指摘してくれた @bitinerant に感謝します。私の特定のシナリオに移行する価値があるかどうか、さらに実験してみます。EXT4 を Btrfs に移行できるということは、ZFS や類似のものよりもはるかに実現可能になります。

関連情報