...

(EFS) Custered File SystemでのNFSのパフォーマンスチューニング

by user

on
Category: Documents
35

views

Report

Comments

Transcript

(EFS) Custered File SystemでのNFSのパフォーマンスチューニング
HP StorageWorks Enterprise File Services (EFS) Custered
File System での NFS のパフォーマンスチューニング
についてのホワイト・ペーパー
概要................................................................................................................................................... 2
ソフト・マウントとハード・マウント.............................................................................................................. 2
その他の考慮事項 ............................................................................................................................... 3
詳細情報 ............................................................................................................................................ 4
このホワイト・ペーパーは、SLES9 Linux オペレーティング・システムの HP StorageWorks Enterprise
File Services (EFS) Clustered File System (CFS) に適用されます。
概要
デフォルト設定を使用した NFS ファイル・システムのパフォーマンスは非常に低くなる可能性がありま
す。このホワイト・ペーパーでは、NFS のパフォーマンスを適切なレベルに調整する方法を説明します。
このホワイト・ペーパーの情報のほとんどは、http://nfs.sourceforge.net/nfs-howto/にある「nfs-howto」ド
キュメントの「Optimizing NFS Performance」と「Mount Options」のセクションから直接引用しています。
NFS のパフォーマンス調整についての詳細は、次をご覧ください。
http://www.tldp.org/HOWTO/NFS-HOWTO/performance.html
ソフト・マウントとハード・マウント
ソフト・マウントとハード・マウントは、エラーの処理方法によって特徴付けられます。
ハード
ソフト
動作方法
ハード・マウントの共有を持つ NFS クライアン
トがファイルを要求すると、成功するか、中断
されるまで要求を続けます。intr オプション
と nointr オプションでユーザが NFS 要求を
中断できるかどうか指定できます。
ソフト・マウントの共有を持つ NFS クライアントがファ
イルを要求すると、指定された回数(retrans)ファイ
ルを受信しようとし、試行のたびに指定された時間
(timeo)待機します。この後、ファイルが受信されな
い場合、NFS はファイルを要求したクライアント・マシ
ンのプロセスに I/O エラーを返します。
重要なパラメータ
intr:ユーザが NFS 要求を手動で中断する
ことにより重要なデータを破損してしまう可能
性がない場合に intr を指定します。ハード・
マウントが中断可能な場合、ユーザは CTRL-C
を押すか kill コマンドを使用して、サーバがダ
ウンしているために無期限にハングしている
NFS マウントを中断できます。
timeo:NFS 要求のコンマ 1 秒単位のタイムアウト。
timeo の最大値は 30(3 秒)です。デフォルト値は
7(0.7 秒)です。
nointr:ユーザが NFS 要求を手動で中断す
ることにより重要なデータを破損してしまう可
能性があり、クライアントとサーバ間のデータ
が失われる危険にさらされるよりもサーバが
ダウンしている間にシステムがハングするほう
が望ましい場合に nointr を指定します。
数分内に複数の“server not responding(サ
ーバが応答しません)”メッセージを受け取った場合
は、timeo 値を倍にしてみてください。これは、ゲー
トウェイ全体にディレクトリをマウントしている、サーバ
の速度が遅い、またはトラフィックが多いためにネット
ワークがビジー状態であるなどの場合に発生する可
能性があります。
retrans:タイムアウト後に NFS 要求が再送される
回数。指定された回数再送信された後、要求が成功
しない場合、エラーが返されます。デフォルト値は 4
です。
短いダウンタイムが頻繁にあるサーバからソフト・マ
ウントされたディレクトリには、retrans 値を大きくし
てください。これにより、サーバ復旧のための時間が
十分に取れるようになるため、ソフト・マウントによっ
てエラーが返されることがなくなります。
サンプル
/etc/fstab
10.0.0.1:/share /mnt/share nfs
hard,intr 0 0
10.0.0.1:/share /mnt/share nfs
soft,timeo=7,retrans=4 0 0
出典:Configuring and Administering an NFS Client, 2004–2005, 6/21/05, http://docs.hp.com/en/B103190043/ch02s03.html.
2
ソフト・マウントで I/O エラーを受け取った場合は、ハード・マウントに切り替えるか、補正のために
timeo パラメータや retrans パラメータを大きくすることを検討してください。I/O エラーを受け取る
までに nfs マウントが応答すべき最大許容遅延時間は、(retrans*timeo)であり、上記の例では
4*0.7=2.8 秒であることを考慮してください。
NFS のパフォーマンスを向上できるその他の変更には、次のようなものがあります。
• ギガビット・イーサネットを使用します。
• 読み書きサイズを 32 K に変更します。
• 32 K のブロック・サイズを使用すると、かなりの量がフラグメント化され、負荷の多いネットワーク上
で実際にパフォーマンスを低下させる可能性があります。この問題を避けるために、NIC の MTU を
デフォルトの 1500 バイトの代わりに 9 KB に設定します。これには、いわいる「ジャンボ・フレーム」
をサポートするスイッチを使用する必要があります。
• nfsd プロセスの数を増やします。サーバの負荷と性能に応じて、16 または 32 で試行してください。
• ソケット入力キューのサイズを大きくします。
# echo 262144 > /proc/sys/net/core/rmem_default
# echo 262144 > /proc/sys/net/core/rmem_max
これらの値は、/etc/sysctl.conf によって永久的に割り当て可能です。たとえば、次のようになります。
net.core.rmem_default = 262144
net.core.rmem_max = 262144
その他の考慮事項
NFS プロトコルの特性により、単一ストリームの書き込みパフォーマンスは、クライアントに送信された
I/O のサイズによって完全に制限されます。NFS は状態を把握しない(ファイルのロックを無視する)た
め、データの損失を避ける唯一の方法は、書き込みが実際にストレージに対して行われるようにするこ
とです。デフォルトでは、NFS v3 マウントは「同期」です。クライアントが 4-K の書き込みを送信した場合、
それぞれの書き込みが送信され、サーバによって受信され、ディスクに送信されて書き込まれ、応答が
生成される必要があります。待ち時間により、スループットが非常に低下します。クライアントが 1-MB
の書き込みを送信すると、「ダブルサイズ」の書き込みに分割されます(上記の調整が行われている場
合は 32 K)。最後以外はすべて直ちにサーバで確認され、最後だけがコミット/書き込みを必要としま
す。これにより、ストリームのパフォーマンスが大きく向上します。
これは、cp などの非常に小さなバッファ・サイズを使用するコマンドを使用する場合には、問題となる
可能性があります。cp を使用してファイルを nfs マウント・ファイル・システムにコピーすると、I/O 速度
が非常に遅くなります。大きなブロック・サイズで dd を使用して同じ動作を行うと、結果が飛躍的に改
善されます。
DBOPTIMIZE オプションによってマウントされた HP StorageWorks Enterprise File Services (EFS) ク
ラスタ・ファイル・システム(CFS)は、NFS を使用してエクスポートしないことを強くお勧めします。このオ
プションでは、書き込みがすべて同期になります。NFS によるこのようなファイル・システムへの書き込
みパフォーマンスは、クライアントの I/O ブロック・サイズにかかわらず非常に低くなります。
3
詳細情報
HP StorageWorks Enterprise File Services Clustered File System の詳細については、以下をご覧くだ
さい。
www.hp.com/go/efs
© 2005 Hewlett-Packard Development Company, L.P. ここに記載された情報は予告なく
変更されることがあります。HP の製品とサービスの保障は付属する保証書のみによって規定
されます。本書のいかなる掲載物も追加保証を意味するものではありません。HP は、本書に
含まれる技術的または編集上の誤りあるいは脱落に責任を負いません。
Linux は、米国における Linus Torvalds の登録商標です。
2005 年 6 月
Fly UP