Sun NFS サーバーの調整

障害追跡用ツール

この章では、以下のような問題が発生した場合の対処方法似ついて説明します。

調整に関する一般的な障害

調整で問題が発生した場合の対処方法を以下に示します。

表 4-1 一般的な障害と対処方法

コマンド/ツール 

コマンドの出力 

対処方法 

netstat -i

Collins+Ierrs+Oerrs/Ipkets + Opkets が 2 %を超える 。

Ethernet ハードウェアに問題がないかどうか調査してください。 

netstat -i

Collins/Opkets が 10 %を超える 。

Ethernet インタフェースを増設して、クライアント負荷を分散させてください。 

netsat -i

Ierrs/Ipks が 25 %を超える。

入力エラー率が高く、ホストでパケットが失われています。ネットワークのハードウェアの帯域幅制限を補償するには、パケットを小さくする、つまり、読み取りバッファーの大きさ (rsize)、あるいは書き込みバッファーの大きさ (wsize)、またはその両方を 2048 に設定します。この設定は、mount コマンドを使用するか、/etc/vfstab ファイルで指定します。「ネットワークを調べる」を参照してください。

nfsstat -s

readlink が 10 %を超える。

シンボリックリンクをやめ、マウントをするようにしてください。 

nfsstat -s

writes が 5 %を超える。

Prestoserve NFS アクセラレータ (SBus カードか NVRAM-NVSIMM) をインストールして、最高の性能が得られるようにしてください。「Prestoserve NFS アクセラレータ」を参照してください。

nfsstat -s

badcall が発生する。

ネットワークが過負荷になっている可能性があります。ネットワークインタフェースの統計情報をもとに過負荷になっているネットワークを特定してください。 

nfsstat -s

getattr が 40 %を超える。

actimeo オプションを使用してクライアントの属性キャッシュを大きくしてください。また、DNLC キャッシュと i ノードキャッシュが十分な大きさであるか確認してください。vmstat -s を使用して DNLC のヒット率 (cache hits) を調べ、必要ならば /etc/system ファイルの ncsize 値を大きくします。「ディレクトリ名ルックアップキャッシュ (DNLC) 」を参照してください。

vmstat -s

ヒット率 (cache hits) が 90 %より低い。 

/etc/system ファイルの ncsize 値を大きくします。

SunNet Manager(TM)、SharpShooter 、NetMetrix などの Ethernet モニター 

load が 35 %を超える。

Ethernet インタフェースを増設して、クライアント負荷を分散させてください。 

クライアント側の問題

クライアント側の問題と対処方法を以下に示します。

表 4-2 問題となるクライアント側の状態

状態 

コマンド/ツール 

原因 

対処方法 

NFS マウントを行っているディレクトリを使用すると、"NFS server ホスト名 not responding"というメッセージが表示される、または、コマンドに対する応答が遅い。

nfsstat

ユーザーのパス変数 

ローカルファイルシステム、リモートファイルシステムの重要なディレクトリ、リモートファイルシステムのその他のディレクトリの順にディレクトリを指定してください。 

NFS マウントを行っているディレクトリを使用すると、"NFS server ホスト名 not responding"というメッセージが表示される、または、コマンドに対する応答が遅い。

nfsstat

NFSにマウントを行っているファイルシステムから実行可能なファイルを実行した。 

使用頻度の高いアプリケーションはローカルファイルシステムにコピーして使用してください。 

"NFS server ホスト名 not responding"というメッセージが表示される、または、badxid が総コール数の 5 %を超え、badxid = timeout になる

nfsstat -rc

サーバーが応答する前にクライアントが時間切れになる。 

サーバー側で障害となっている問題がないか調査してください。サーバーの応答時間が改善できない場合は、クライアントの /etc/vfstab ファイルの timeo パラメタ値として、25 か 50、100、200 (単位: 10 分の 1 秒) を試します。変更した場合、その都度 1 日様子を見て、タイムアウトの発生回数が減るかどうかを確認してください。

badxid = 0 である

nfsstat -rc

ネットワークが低速である。 

/etc/vfstab ファイルの rsize 値と wsize 値を大きくして、相互接続デバイス (ブリッジ、ルーター、ゲートウェイ) に問題がないかどうか調べてください。

サーバー側の問題

サーバー側の問題と対処方法について以下に示します。

表 4-3 問題となるサーバー側の状態

状態 

コマンド/ツール 

原因 

対処方法 

"NFS server ホスト名 not responding"というメッセージが表示される

vmstat -s または iostat

キャッシュヒット率が90 %より低い。 

DNLC 関連のパラメタを推奨値に設定して、状態が改善されるかどうか確認してください。改善されない場合は、DNLC 関連のパラメタを再設定します。同様に、バッファーキャッシュ、i ノードキャッシュについても、順に再設定してください。 

"NFS server ホスト名 not responding"というメッセージが表示される

netstat -m または nfsstat

サーバーが要求の到着速度に対応できない。 

ネットワークに問題がないか調査し、ネットワークに問題がない場合は、Prestoserve NFS アクセラレータを追加するか、サーバーをアップグレードしてください。 

入出力待ち時間または CPU アイドル時間が長いか、ディスクアクセスが遅い。あるいは、"NFS server ホスト名 not responding"というメッセージが表示される

iostat -x

入出力負荷がディスクに均等に分散していない。svc_t の値が 40ms より大きい。

長期 (最高 2 週間) にわたるサンプリングにより、ディスクにかかる負荷を分散させて、必要ならばディスクを増設してください。同期書き込みには、Prestoserve NFS アクセラレータを追加します。ディスクとネットワークのトラフィックを減らすためには、サーバーとクライアント両方の /tmptmpfs を使用してください。さらに、システムキャッシュの効率性を測定し、ディスクにかかる負荷を分散させ、必要ならばディスクを増設します。

リモートファイルにアクセスした時の応答が遅い 

netstat -s または snoop

Ethernet インタフェースでパケットが失われている。 

再伝送が指示された場合は、バッファーサイズを大きくしてください。snoop の使用方法については、snoopを参照してください。

ネットワーク関連の問題

ネットワーク関連の問題と対処方法を以下に示します。

表 4-4 ネットワーク関連の状態

状態 

コマンド/ツール 

原因 

対処方法 

複数のサブネットにマウントされているディレクトリにアクセスしたときの応答が遅い、または "NFS server ホスト名 not responding"というメッセージが表示される。

netstat -rs

NFS要求が経路指定されている。 

サブネット上のクライアントを、サーバーに直接接続したままにしておいてください。 

複数のサブネットにマウントされているディレクトリにアクセスしたときの応答が遅い、または "NFS server ホスト名 not responding" というメッセージが表示される。

netstat -s によって不完全または不正なヘッダー、不正なデータ長のフィールド、不正な検査合計値が示される。

ネットワークに問題がある。 

ネットワークのハードウェアを調査してください。 

複数のサブネットにマウントされているディレクトリにアクセスしたときの応答が遅い、または "NFS server ホスト名 not responding"というメッセージが表示される。または、インタフェースの 1 秒あたりの入出力パケットの合計値が 600 を超える。

netstat -i

ネットワークの過負荷 

ネットワークセグメントが非常にビジーになっています。問題が再発する場合は、ネットワークインタフェース (le) の増設を検討してください。

ネットワークインタフェースにおける、 1 秒あたりの衝突が 120 回を超える。 

netstat -i

ネットワークの過負荷 

ネットワーク上のマシン数を減らすか、ネットワークハードウェアを調査してください。 

複数のサブネットにマウントされているディレクトリにアクセスしたときの応答が遅い、または "NFS server ホスト名 not responding" というメッセージが表示される。

netstat -i

パケット衝突率が高い (Collis/Opkts が 0.10を超える)

- パケットが壊れている場合は、MUXボックスが壊れている可能性があります。Network General Sniffer か、他のプロトコルアナライザを使用して原因を突き止めてください。 

- ネットワークに負荷がかかりすぎていないかどうかを調査し、ノードが多すぎる場合は、サブネットを作成してください。 

- ネットワークのハードウェアを調査してください。10BASE-T のタップ、トランシーバ、ハブに問題がある可能性があります。ケーブルの長さと終端に問題がないかどうかを調べてください。