web-dev-qa-db-ja.com

1つのディレクトリに10Mを超えるファイルを含むext4ボリュームを作成およびマウントするための最良のオプション

読み取りアクセス用に1,000万個を超えるファイルを含むフォルダーを持つext4ファイルシステムのmkfsおよびmountに適切なオプションは何ですか?

これまでのところ:

umount /media/dirsizetest
mkfs.ext4 -L DIRSIZETEST -E lazy_itable_init=1 -E lazy_journal_init=1 -m 1 /dev/sda1
mount -t ext4 -o nodiratime /dev/sda1 /media/dirsizetest

いくつかのコンテキストが整っています。私は、数百万の小さなファイルで満たされた単一のフォルダーで異なるファイルシステムがどのように機能するかを確認することを含む、少し(大丈夫ですが)クレイジーな実験を行っています。最終的には、1TBのドライブをいっぱいにしてこれを実行します(これはクレイジーな実験だと言いました!)。

アクセスパッテンは次のようなものです。

Recreate the volume from scratch (using mkfs) and mount it.
Create a sub-directory, fill it with N files in sequence (named 1...N)
    (where N can be up to 2^63)
Read all files in order
Read all files in random order
Print how it takes

私の自然の生息地はWindows NTFSの世界であり、mountおよびmkfsへのオプションの数は少々困難です。だから私は足で私のパフォーマンスを撃つ可能性が高いオプションについてのガイダンスを探しています。

私は64ビットのUbuntu 12.04デスクトップ環境で作業しています。

6
ligos

注意:セキュリティに関するアドバイス

これらの指示は安全ではないため、予防策なしに運用環境で使用しないでください。

たとえば、バッテリーでバックアップされたRAIDカードは、リスクを減らすのに役立ちます。

自己責任で使用する


テスト環境としてそれが好きなら、ext4オプションをお勧めします

noatime,data=writeback,barrier=0,nobh,errors=remount-ro

この

  • 読み取り時のアクセス時間を無効にします
  • メタデータを遅延書き込み
  • ジャーナルコミットの適切なディスク上の順序付けの強制を無効にします
  • バッファヘッドの関連付けを回避しようとします
  • エラー時に読み取り専用で再マウント

mkfs.ext4の場合、オプションしか見つかりませんでした

dir_index
    Use hashed b-trees to speed up lookups in large directories.

便利な

2

私が行ったいくつかの調査では、次のリンクが見つかりました。 Chris Perrinの回答は、オプションの短いリストを提供しています。これらは追加の参考資料を提供するはずです。

1
ligos