ブロックの内容別にファイルを保存するファイルシステムを探していますが、同様のファイルは1ブロックしか占めていません。これはバックアップ用です。これは、zbackupなどのブロックレベルのバックアップストレージに提案されているものと似ていますが、それを透過的に実行できるLinuxファイルシステムが必要です。
答え1
あなたの質問が重複排除に関するものであると仮定すると、Linuxで重複排除をサポートするいくつかのファイルシステムがあります。
- ZFSにはオンライン重複排除機能があります(データが保存されると重複排除されます)、メモリ要件は非常に高く、実際にはこの機能を使用するのが難しいです。
- BTRFS、そして「のみ」帯域外重複排除しかし、データが保存された後にかなり速い重複排除を提供する緊密に統合されたプロセスがありますが、
- スカッシュFSただし、読み取り専用なので、要件を満たしていない可能性があります。
XFS重複排除はある時点で行われ、Btrfsはオンライン重複排除も実行する必要があります。
綿密にWikipediaのファイルシステム比較いつ変更されるかを確認してください。
答え2
これS3QLファイルシステムブロックレベルのデータ重複排除機能を提供します。 S3クラウドストレージソリューションとして販売されていますが、ローカルストレージでもうまく機能します。
以下は、バックアップ/アーカイブサーバーセクションの例です。
s3qlstat /path/to/some/archives
Directory entries: 12430247
Inodes: 6343756
Data blocks: 1357349
Total data size: 12.4 TB
After de-duplication: 3.84 TB (30.92% of total)
After compression: 3.71 TB (29.84% of total, 96.52% of de-duplicated)
Database size: 1.29 GiB (uncompressed)
Cache size: 0 bytes, 0 entries
Cache size (dirty): 0 bytes, 0 entries
Queued object removals: 0
このファイルシステムで使用される基本ストレージ
df -h /var/s3ql/part-of-archive
Filesystem Size Used Avail Use% Mounted on
/dev/sde 6.0T 3.8T 2.0T 66% /var/s3ql/part-of-archive
これは、プライマリストレージが4 TB未満のスペースを使用しますが、約12 TBの重複排除データを格納することを示します。 (私のアーカイブに重複したチャンクがたくさんあります。予想通りです。)ここで、圧縮レイヤーは無効になっています。実際のS3ストレージを使用している場合は有効にします。
ファイルシステム自体を管理するSQLiteデータベースは1GBが少し以上かなり大きいですが、需要の多い本番用途ではなくアーカイブ用に使用しているので良いです。