web-dev-qa-db-ja.com

ブロックレベルのストレージファイルシステムはありますか?

ブロックのコンテンツごとにファイルを保存するファイルシステムを探しています。そのため、同様のファイルは1ブロックしか使用しません。これはバックアップ用です。これは、zbackupなどのブロックレベルのバックアップストレージが提案するものと似ていますが、透過的に実行できるLinuxファイルシステムが必要です。

6
MappaM

あなたの質問がデータ重複排除についてであると仮定すると、Linuxでそれをサポートするファイルシステムがいくつかあります。

  • [〜#〜] zfs [〜#〜] 、オンライン重複排除(データが保存されるときにデータが重複排除される)であるが、実際に機能を使用するのが困難な極端なメモリ要件がある。
  • Btrfs 、「のみ」を使用 帯域外重複排除 、ただし、データが保存された後、適度に迅速な重複排除を提供する緊密に統合されたプロセスでは;
  • SquashFS ですが、読み取り専用であるため、おそらく要件に適合しません。

[〜#〜] xfs [〜#〜] はある時点で重複排除を取得することになっており、Btrfsもオンライン重複排除を取得することになっています。

Wikipediaのファイルシステムの比較 に注目して、これがいつ変更されるかを確認してください。

5
Stephen Kitt

S3QL filesystem にはブロックレベルの重複排除があります。 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

これは、基になるストレージが4TB弱を使用しているが、約12TBの重複排除されたデータを格納していることを示しています。 (私のアーカイブには、非常に多くの重複したブロックが含まれています。当然のことながら、私は願っています。)圧縮層はここでは無効になっています。真のS3ストレージを使用している場合は、有効のままにしておきます。

ファイルシステム自体を管理するSQLiteデータベースは1GBを少し超えるだけです。これは非常に大きいですが、これをフルオンデマンドの高い運用環境での使用ではなくアーカイブに使用しているので問題ありません。

3
roaima