キャッシュ、ジャーナリングモードなどなど
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.
この記事の著者
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
5
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
6
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
221人調査で分かった「情シス最大のストレス」は?
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー