ハードリンクを行う場合は、そのファイルの権利に注意してください。通知、所有者、グループ、モード、拡張属性、時間、およびACL(これを使用する場合)はINODEに保存されます。これはディレクトリ構造に保存されているため、ファイル名のみが異なり、他のポイントはINODEプロパティを指します。この原因は、同じiノードにリンクされているすべてのファイル名が同じアクセス権を持っていることです。すべてのユーザーが他のユーザーにファイルを損傷する可能性があるため、そのファイルの変更を防止する必要があります。それは単純だ。それは十分です、すべてのユーザーが同じ名前で他のファイルを置きます。その後、iノード番号が保存され、すべてのハードリンクされた名前の元のファイルの内容が破棄(置換)されます。
より良い方法は、ファイルシステム層での重複排除です。BTRFS(前回非常に人気があった)、OCFSなどを使用できます。次のページをご覧ください:https : //en.wikipedia.org/wiki/Comparison_of_file_systems 、特にテーブルの機能と列データの重複排除。クリックして並べ替えることができます:)
特にZFSファイルシステムを見てください。これはFUSEとして利用できますが、この方法では非常に遅いです。ネイティブサポートが必要な場合は、http://zfsonlinux.org/ページをご覧ください。次に、カーネルにパッチを適用し、次に管理用のzfsツールをインストールする必要があります。なぜLinuxがドライバーとしてサポートしていないのか、他の多くのオペレーティングシステム/カーネルの方法であることがわかりません。
ファイルシステムは、重複排除ファイルまたはブロックの2つの方法で重複排除をサポートします。ZFSはブロックをサポートしています。つまり、同じファイル内で繰り返される同じコンテンツを重複排除できます。他の方法は、データが重複排除される時間です。これは、オンライン(zfs)またはオフライン(btrfs)のいずれかです。
重複排除はRAMを消費することに注意してください。これが、FUSEでマウントされたZFSボリュームにファイルを書き込むと、パフォーマンスが劇的に低下する理由です。これはドキュメントに記載されています。ただし、ボリュームの重複排除をオンラインで設定できます。データの重複排除が必要な場合は、単に重複排除をオンに設定し、一部のファイルを一時ファイルに書き換えて、最終的に置き換えます。この後、重複排除をオフにして、完全なパフォーマンスを復元できます。もちろん、任意のキャッシュディスクをストレージに追加できます。これには、非常に高速な回転ディスクまたはSSDディスクを使用できます。もちろん、これは非常に小さなディスクでもかまいません。実際の作業では、これはRAMの代替です:)
Linuxでは、ファイルシステムの管理、スナップショットの作成などを行うとすべてが正常に機能するわけではないため、ZFSに注意する必要がありますが、設定を行って変更しない場合はすべて正常に動作します。また、Linuxをopensolarisに変更する必要があります。ZFSをネイティブにサポートします:) ZFSの非常に優れている点は、LVMと同様にファイルシステムとボリュームマネージャーの両方として機能することです。ZFSを使用する場合は必要ありません。詳細については、ドキュメントを参照してください。
ZFSとBTRFSの違いに注意してください。ZFSはより古く、より成熟しており、残念なことにSolarisとOpenSolaris(残念なことにoracleによって絞殺された)の下でのみです。BTRFSはより若いですが、前回は非常によくサポートされています。新鮮なカーネルをお勧めします。ZFSにはオンライン重複排除機能があり、すべてがオンラインで計算されるため、書き込み速度が低下します。BTRFSはオフライン重複排除をサポートしています。その後、これによりパフォーマンスは節約されますが、ホストが何もすることがない場合は、重複排除のためのツールを定期的に実行します。また、BTRFSはLinuxでネイティブに作成されます。たぶんこれはあなたにとってより良いFSです:)