キャッシュ、ジャーナリングモードなどなど
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
-
製品資料
[LRM株式会社] 「標的型攻撃メール」事例・サンプル集 -
製品資料
[LRM株式会社] セキュリティ教育はなぜ「年間計画」を立てる必要があるのか? -
製品資料
[LRM株式会社] セキュリティの重要性が伝わらない…… 効果がない社員教育から脱却する方法 -
製品資料
[LRM株式会社] 「標的型攻撃メール訓練」導入ガイド 社員の意識を確実に高める仕組みの作り方 -
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
2
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
5
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
6
エンジニアが選考を辞退する本当の理由 7割が隠す“面接の違和感”とは
-
7
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
8
AI基盤は本当に「オンプレ回帰」する? Broadcomの言い分と企業の本音
-
9
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
10
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
7
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
8
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
9
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー