キャッシュ、ジャーナリングモードなどなど
Linuxのext4ファイルシステムのチューニングTips
Linuxのext4ファイルシステムは標準的なシステムに合わせた設定が施されている。幾つかの設定を見直すことで、パフォーマンスを最適化できるかもしれない。
通常のext4ファイルシステムの作成では、デフォルト設定が使用される。デフォルトのワークロードではそれで問題ない。だが、サーバのパフォーマンスパターンが平均的なものではない場合、ext4ファイルシステムのパフォーマンスをチューニングすることで、恩恵を受けるかもしれない。本稿では、ext4に最大限のパフォーマンスを発揮させる方法を見ていく。
システムの調査
ext4ファイルシステムの最適化とは、ファイルシステムの調整を行うことだけではない。最初のステップは、ホストサーバが高速なファイルシステムを扱えるようにすることだ。そのためにまず、十分な量のRAMを割り当てる。ファイルシステムをうまくチューニングしても、RAMが少ないと最適なパフォーマンスが得られない。ファイルシステムのメタデータテーブルを適切にキャッシュするのに十分なメモリの余裕がないからだ。
サーバのRAM量が十分かどうかを調べるには、freeコマンドを使う。バッファとキャッシュに使用されているメモリ量の合計が、RAM全体の20%以上であれば間に合う。だが、多いに越したことはない。サーバRAMの40%程度がバッファとキャッシュに使用できるのが理想的だ。
次に、ディスクをチェックする。最高のパフォーマンスを得るには、最高のディスクが必要だ。かといって、SSDが必須というわけではない。しかし、スピードが必要なら7200rpmのSATAを使うのではなく、1万5000rpmのSAS(Serial Attached SCSI)を使わなくてはならない。
ディスクコントローラーのパラメータも考慮する必要がある。バッテリーバックアップキャッシュは有効にする。書き込みパフォーマンスを上げるには、書き込みを遅らせるように設定する。読み取りパフォーマンスが重要なら、次に必要なデータが既にRAMにロードされている可能性を高めるため、先読みを設定する。
ext4ファイルシステムの最適化
サーバをチェックしたら、ext4ファイルシステムを最適化しよう。必ず考えるべき方法が2つあり、その他にもチェックするとよいパフォーマンスオプションがある。
ほとんどの状況で有効な方法が、ファイルシステムのアクセス時刻の更新を無効にすることだ。そのためには、/etc/fstabのマウントオプションとして「noatime」を指定する。このオプションを指定しないと、ファイルへのアクセス(読み取りを含む)が行われるたびに、そのファイルのメタデータが変更される。ほとんどのサーバはその情報を利用しないため、この更新は無効にすればよい。
もう1つの有用なマウントオプションが「delalloc」だ。このオプションは、ディスクブロックの割り当てを遅延させる機能を有効にする。この機能は、ファイルの書き込みに使用するディスクブロックの決定が、書き込みが行われるギリギリのタイミングで行われるようにする。これによって書き込みプロセスが最適化される。
もう1つの重要なマウントオプションは、ファイルシステムのジャーナルをチューニングするものだ。journal、ordered、writebackという3つのジャーナリングモードがあり、各モードを指定するマウントオプションが用意されている。それぞれ「data=journal」「data=ordered」「data=writeback」だ。
デフォルト設定のdata=orderedでは、パフォーマンスと保護の最適なバランスが実現される。だが、サーバが大量のデータを書き込む必要がある場合、長時間フリーズする可能性がある。こうした状態の発生時に「iotop」のようなユーティリティを使うと、kjournaldプロセスの負荷が高いことが分かる。こうした問題に対処するには、data=writebackオプションを使って書き込みパフォーマンスを改善するという手がある。ただし、このオプションを使うとクラッシュが発生した場合に、最近変更されたデータが破損するリスクが高まる。
ファイルシステムのパフォーマンスを改善するオプションの中には、ファイルシステムの作成時に利用できるものも幾つかある。
その1つが、inodeのサイズ指定だ。inodeはメタデータの保存に使われる。ファイルシステムで拡張属性やアクセス制御リスト(ACL)が使われる場合、デフォルトのinodeサイズでは、全てのデータを保存しきれず、セカンダリinodeが割り当てられる。これは、全てのファイルアクセスで2つのオペレーションが必要なことを意味する。この問題を解消するには、「-I 256」オプションを付けて「mkfs」コマンドを実行し、inodeサイズを128バイトではなく、256バイトに設定する。ユーザー拡張属性とACLを完全に無効にするのは賢明ではない。ext4のエクステントを利用するには、これらが必要だからだ。
ext4ファイルシステムはデフォルトで非常に最適化されており、ファイルシステムをさらにチューニングしようとすると、サーバハードウェア構成の最適化も必要になるかもしれない。マウントオプションのnoatimeは、ほとんどの状況でパフォーマンス向上に役立つ。その他にどのような最適化方法を利用すべきかは、対象サーバの用途によって変わってくる。ファイルシステムのパフォーマンスが低いサーバのほとんどは、データの書き込み効率に問題がある。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
Claude利用8割のGMO、AI人材の評価軸が「トークン管理」に変わった
-
3
生成AIが普及しても「技術書」を手放せないエンジニアの本音
-
4
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
5
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
6
“アジャイルの壁”に挑むオリックス生命がIBMの開発管理ツールを選んだ理由
-
7
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
8
「テザリング依存」に潜む落とし穴 “遅いVPN”を解消するネット構築術
-
9
IT製品の導入に関するアンケート「セキュリティ」編
-
10
ライオンが挑む「守りのIT」脱却:Google Cloudで加速させるデータ駆動型経営
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー