ext2/3などのLinuxファイルシステムをどのようにカスタマイズできますか?

ext2/3などのLinuxファイルシステムをどのようにカスタマイズできますか?

実際、IOzoneはファイルシステムのベンチマークツールです。このベンチマークは、順次読み取り/書き込み、ランダム読み取り/書き込みなど、さまざまなファイル操作を作成および測定します。したがって、特定のアプリケーションのパフォーマンスがさらに向上するように、ランダム読み取り(データベース集約型またはOLTP)または順次読み取り(オーディオ/ビデオアプリケーション)用に独自のLinuxファイルシステムext3をカスタマイズしたいと思います。パフォーマンスを向上させるために、ブロックサイズ、ディスクキャッシュ、バッファサイズなどのファイルシステムパラメータをどのように変更できますか?

ベストアンサー1

これらを変更するには、ファイルシステムを作成するときに使用する必要があります。mke2fs mkfs.ext4例:使用)または、withを使用して作成した後、いくつかの調整オプションを使用できますtune2fsGentooフォーラムのこのフォーラムスレッドはext3チューニングについてです。。これが私が重要だと思う部分です(すべて一部の形式でコピーされます)*(data=journalext4の一部のパフォーマンス向上機能は無効になっています。)*

ディレクトリインデックスの使用

この機能は、ハッシュ化されたバイナリツリーを使用してディレクトリ情報を保存することで、大規模なディレクトリや多数のファイルを含むディレクトリへのファイルアクセスを向上させます。使用は非常に安全であり、ほとんどの場合、かなりの改善を提供するので、有効にすることをお勧めします。

tune2fs -O dir_index /dev/hdXY

これは、une2fsを実行した後にそのファイルシステムに作成されたディレクトリにのみ適用されます。これを現在存在するディレクトリに適用するには、e2fsckユーティリティを実行してファイルシステムのディレクトリを最適化し、再度インデックスを作成する必要があります。

e2fsck -D /dev/hdXY 

フル日記機能を有効にする

デフォルトでは、ext3パーティションは「順序付き」データモードでマウントされます。このモードでは、すべてのデータがプライマリファイルシステムに書き込まれ、対応するメタデータがログにコミットされ、ログブロックが論理的にトランザクションにグループ化され、ディスクI / Oが削減されます。これはほとんどの人にとって良いデフォルトになる傾向があります。しかし、信頼性とパフォーマンスを向上させる方法を見つけました(場合によっては):ファイルデータ自体を含むすべてを記録します(「ログ」データモードと呼ばれます)。通常、データはディスクに2回書き込まれるため、すべてのデータを書き込むとパフォーマンスが低下する可能性があります。一度はログに書き込まれ、その後はデフォルトのファイルシステムにコミットされますが、実際にはそうではありません。 9つのパーティションすべてでこの機能を有効にしました。実際には、同時に多くの読み取りおよび書き込みを必要とするファイルシステムのパフォーマンスを実際に向上させることができます。バラよりIBM Webサイトに掲載されているDaniel Robbinsの記事をご覧ください。

実際には、/usr/portageを独自のext3パーティションに置き、ログデータモードを使用すると、Emerge --syncを実行するのに必要な時間が大幅に短縮されるようです。また、コンパイル時間も少し改善されました。

ログデータモードを有効にする方法は2つあります。最初の方法は、/ etc / fstabにマウントオプションとしてdata = journalを追加することです。これを実行し、ルートファイルシステムでもそれを使用できるようにするには、ブートローダ設定でrootflags = data = journalをカーネル引数として渡す必要があります。 2番目の方法では、tune2fsを使用してファイルシステムのスーパーブロックのデフォルトのマウントオプションを変更します。

tune2fs -O has_journal -o journal_data /dev/hdXY

2番目の方法は古いカーネルでは機能しないかもしれません。特に、Linux 2.4.20以前では、スーパーブロックのデフォルトのインストールオプションを無視できます。冒険を楽しみたい場合は、ジャーナルのサイズを変更することをお勧めします。 (ログサイズはデフォルト値のままです。)ログが大きいほどパフォーマンスが向上する可能性があります(ディスク容量が増え、回復時間が長くなるのではなく)。これを行う前に、une2fs マニュアルの関連セクションをお読みください。

tune2fs -J size=$SIZE /dev/hdXY

tune2fsを使用してファイルシステムオプションを確認する

さて、私はファイルシステムを調整したので、その調整が適用されていることを確認したいと思います。そうですか?驚くべきことに、une2fsユーティリティを使用すると、このオプションを非常に簡単に実行できます。ファイルシステムスーパーブロックのすべての内容を一覧表示するには、tune2fsに "-l"(小文字の "L")オプションを渡すことができます。

tune2fs -l /dev/hdXY

他の une2fs 呼び出しとは異なり、これらの下位レベルのファイルシステムにアクセスしたり変更しようとしないため、破損せずにマウントされたファイルシステムで動作する可能性があります。

これにより、ブロック/inode情報だけでなく、私たちが探しているファイルシステムの機能や基本的なマウントオプションなど、ファイルシステムに関する多くの情報を得ることができます。すべてがうまくいったら、出力の関連部分にファイルシステム機能リストの「dir_index」および「has_journal」フラグを含める必要があり、「journal_data」のデフォルトのインストールオプションを表示する必要があります。

おすすめ記事