nfso コマンド

目的

ネットワーク・ファイルシステム (NFS) のチューニング・パラメーターを管理します。

構文

nfso [ -p | -r ] [ -c ] { -o Tunable[ =newvalue ]}

nfso [ -p | -r ] { -d チューナブル }

nfso [ -p | -r ] -D

nfso [ -p | -r ] -a [-F] [ -c ]

nfso -h [ チューナブル ]

nfso -l [ ホスト名 ]

nfso [-F] -L [ チューナブル ]

nfso [-F] -x [ チューナブル ]

nfso [ -@ WparName ] [ -p | -r ] -a [ -c ]

nfso [ -@ WparName ] [ -p | -r ] [ -c ] { -o Tunable[ =newvalue ]}

nfso -H {ha 操作}

注: 複数のフラグ -o-d-x、および -L を使用できます。

説明

ネットワーク・ファイルシステムのチューニング・パラメーターを構成するには、 nfso コマンドを使用します。 nfso コマンドは、ネットワーク・ファイルシステムの チューニング・パラメーターの現行値または次のブート値を設定または表示します。 このコマンドを使用して、 永続的な変更を行ったり、あるいは次のリブートまで変更を先送りすることも できます。 コマンドがパラメーターを設定するのか表示するのかは、一緒に指定するフラグによって決まります。 -o フラグを 使用すると、両方のアクションを実行します。 パラメーターの値を表示したり、パラメーターに新しい値を設定したりすることができます。

チューナブル・パラメーター変更の効果の理解

このコマンドの使用には注意してください。 nfso コマンドを正しく使用しない場合、 システムが操作不能になることがあります。

チューナブル・パラメーターを変更する前に、その目的を完全に理解するために、 まず以下の「チューナブル・パラメーター」セクションで、 チューナブル・パラメーターの特性のすべてについて注意して読み、 「参照」ポインターがあればこれに従ってください。

次に、そのパラメーターの「診断」および「チューニング」のセクションをご使用の環境に実際に適用できるかどうか、そのパラメーターの値を変更するとシステムのパフォーマンスの向上に役立つかどうか、確認してください。

診断セクションとチューニング・セクションの両方に「N/A」のみが含まれている場合は、 AIX® の開発によって特に指示されない限り、このパラメーターを変更しないでください。

フラグ

項目 説明
-a すべてのチューナブル・パラメーターについて、現行値とリブート 値 (-r を使用した場合) または 永続値 (-p を使用した場合) を表示します。 それぞれの組み合わせが 1 行あたり 1 つずつ表示されま す (Tunable = Value)。 永久オプションの場合、パラメーターの値はそのリブート値と現行値が 等しい場合のみ表示されます。 値が異なる 場合は、値として NONE が表示されます。
-c nfso コマンドの出力フォーマットをコロンで区切るフォーマットに変更します。
-d チューナブル Tunable 変数をデフォルト値に戻します。 チューナブル を変更する必要がある場合は、以下のようにします。 現在はデフォルト値に設定されていません)。タイプが Bosboot または Reboot であるか、またはタイプが Incremental でデフォルト値から変更されていて、 -r が組み合わせて使用されていない場合は、変更されずに警告が表示されます。
-D すべての Tunable 変数をデフォルト値に戻します。 変更する必要のある Tunable がタイプ Bosboot または Reboot であるか、 またはタイプが Incremental でデフォルト値が変更されていて -r フラグが指定されていない場合、変更は行われず、警告が表示されます。
-F コマンド・ラインでオプション -a-L、または -x を指定したとき、制限付きチューナブル・パラメーターの表示を強制します。 -F フラグを指定しない場合、制限付きチューナブルは、関連する表示オプションで明確に指定されない限り、組み込まれません。
-h [チューナブル] Tunable パラメーターのヘルプを表示します (このパラメーターが指定されている場合)。 このパラメーターが指定されていない場合は、 nfso コマンド使用ステートメントを表示します。
-H {ha operation} ハイ・アベイラビリティー (HA) 操作を実行します。 HA 操作は、次のとおりです。
enable_ha
HA 機能をオンにします。
disable_ha
HA 機能をオフにします。
sm_register <hostname>
PowerHA® SystemMirror® は、このホストを登録します。
sm_unregister <hostname>
PowerHA SystemMirror は、このホストを登録解除します。
sm_gethost
PowerHA SystemMirror はホストを取得します。
dump_dupcache <log device>
HA dupcache をダンプします。
-l ホスト名 システム管理者が NFS サーバー上で NFS ファイル・ロックを解除できるようにします。 hostname 変数は、NFS サーバー上でファイル・ロックが保持されている NFS クライアントのホスト名を指定します。 nfso -l コマンドは、NFS サーバーの rpc.lockd ネットワーク・ロック・マネージャーへのリモート・プロシージャー・コールを実行して hostname NFS クライアントが保持しているファイル・ロックの解除を要求します。
ファイル・ロックを NFS サーバー上に保持している NFS クライアントがあり、 このクライアントがネットワークから切断されているためにリカバリーできない場合、 他の NFS クライアントが類似するファイル・ロックを取得できるように、 nfso -l コマンドを使用して問題のロックを解除することができます。
注: nfso コマンドは、ローカル NFS サーバー上のロックのみを解放するために使用できます。
-L [チューナブル] 1 つまたはすべての Tunable の特性を、次の形式で 1 行に 1 つずつリストします。
NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE
     DEPENDENCIES
--------------------------------------------------------------------------------
portcheck                 0      0      0      0      1      On/Off            D
--------------------------------------------------------------------------------
udpchecksum               1      1      1      0      1      On/Off            D
--------------------------------------------------------------------------------
nfs_socketsize            600000 600000 600000 40000  1M     Bytes             D
--------------------------------------------------------------------------------
nfs_tcp_socketsize        600000 600000 600000 40000  1M     Bytes             D
--------------------------------------------------------------------------------
... 
where: 
    CUR = current value 
    DEF = default value 
    BOOT = reboot value 
    MIN = minimal value 
    MAX = maximum value 
    UNIT = tunable unit of measure 
    TYPE = parameter type: D (for Dynamic), 
           S (for Static), R (for Reboot),B (for Bosboot), M (for Mount),
           I (for Incremental), C (for Connect), and d (for Deprecated) 
    DEPENDENCIES = list of dependent tunable parameters, one per line
-o チューナブル[ =newvalue ] 値を表示するか、Tunablenewvalue に設定します。 パラメーターを変更する必要があり (指定された値が現行値と異なる)、 このタイプが Bosboot または Reboot であるか、 またはタイプが Incremental でその現行値が指定された値より大きく、 かつ -r が指定されていない場合、変更は行われず、 警告が表示されます。

新しい値を指定せずに -r を指定すると、 Tunable の次のブート値が表示されます。 -pnewvalueなしで組み合わせて使用すると、 Tunable の現行ブート値と次のブート値が同じ場合にのみ値が表示されます。 値が異なる 場合は、値として NONE が表示されます。

-p -o-d または -D を指定した場合、 現行値とリブート値の両方を変更します。つまり、現行値の更新だけでなく、 /etc/tunables/nextboot ファイルの更新をオンにします。 Reboot および Bosboot タイプのパラメーターでは 現行値を変更できないため、これらの組み合わせは使用できません。

新しい値を使用せずに -a また は -o の組み合わせを使用すると、パラメーターの現 行ブート値と次のブート値が同じ場合のみ値が表示されます。 値が異なる 場合は、値として NONE が表示されます。

-r -o-d または -D を指定した場合、 リブート値を変更します。つまり、 /etc/tunables/nextboot ファイルの更新をオンにします。 タイプ Bosboot のパラメーターを変更すると、bosboot を実行するというプロンプトがユーザーに出されます。

新しい値を使用せずに -a または -o を指定して使用すると、チューナブルの現行値ではなく、次のブート値が表示されます。

-x [チューナブル] 1 つまたはすべての Tunable の特性を、 次のスプレッドシート形式で 1 行に 1 つずつリストします。
tunable,current,default,reboot,min,max,unit,type,{dtunable } 

where: 
    current = current value 
    default = default value 
    reboot = reboot value 
    min = minimal value 
    max = maximum value 
    unit = tunable unit of measure 
TYPE = parameter type: D (for Dynamic), 
           S (for Static), R (for Reboot),B (for Bosboot), M (for Mount),
           I (for Incremental), C (for Connect), and d (for Deprecated) 
       dtunable = space separated list of dependent tunable parameters 
-@ WparName 指定されたワークロード区画のチューナブル・パラメーターを設定または表示します。 -@ フラグは、nfso コマンドがグローバル区画で実行される場合にのみ使用できます。

制限付きチューナブル・パラメーターを変更すると (-o-d、または -D を指定)、限定使用タイプのチューナブル・パラメーターが変更されたという警告メッセージが表示されます。 コマンド・ラインで -r または -p オプションも指定した場合は、変更の確認を求めるプロンプトが出されます。 さらに、システム・リブート時に制限付きチューナブル・パラメーターが /etc/tunables/nextboot ファイルにあって、それらのパラメーターがデフォルト値と異なる値に (コマンド・ラインで -r または -p オプションを指定して) 既に変更されていた場合は、それらの変更されたチューナブル・パラメーターのリストを示すエラー・ログ・エントリーが作成されます。

タイプ Mount のパラメーターを変更すると (-o-d 、または -D フラグを指定)、その変更は将来のマウントについてのみ有効であるという警告メッセージが表示されます。

タイプ Connect のパラメーターを変更すると (-o-d 、または -D フラグを指定)、inetd が再始動され、その変更は将来のソケット接続についてのみ有効であるという警告メッセージが表示されます。

-r を指定せずに、タイプ Bosboot または Reboot のパラメーターを変更すると (-o-d、または -D を指定)、エラー・メッセージが出されます。

タイプ Incremental のパラメーターの現在の値を、現在の値より小さい新しい値に変更すると (-o -d、または -D を指定し、 -r を指定しない)、エラー・メッセージが出されます。

注: システム全体に適用されるチューナブル変数は、 ワークロード・パーティション内では変更できません。
注: nfso コマンドがワークロード・パーティション内で実行される場合 (または -@ フラグが指定されている場合)、 -o フラグを使用して設定できるのは以下のチューナブルのみです。
  • nfs_dynamic_retrans
  • nfs_iopace_pages
  • nfs_use_reserved_port
  • nfs_v4_fail_over_timeout
  • utf8_validation
  • nfs_auth_rbr_trigger
  • クライアント委任

チューナブル・パラメーターのタイプ

チューニング・コマンド (nonfsovmoiooschedo、および raso) によって操作されるすべてのチューナブル・パラメーターは、以下のカテゴリーに分類されました。
項目 説明
Dynamic パラメーターをいつでも変更できる場合
Static パラメーターをいかなる時にでも変更できない場合
Reboot パラメーターをリブート時にのみ変更できる場合
Bosboot bosboot を実行してマシンをリブートする場合にのみパラメーターを変更できる場合
Mount パラメーターの変更が将来のファイルシステムまたはディレクトリーのマウントにのみ有効である場合
Incremental ブート時を除き、 パラメーターを増やすことだけが可能な場合
Connect パラメーターへの変更が、今後のソケット接続に対してのみ有効な場合
Deprecated このパラメーターの変更が現行リリースの AIXでサポートされなくなった場合。
タイプ Bosboot のパラメーターの場合は、変更が加えられるたびに、 チューニング・コマンドは自動的に、 bosboot コマンドを実行したいかどうかを尋ねるプロンプトを出します。 タイプ Connect のパラメーターの場合は、チューニング・コマンドは自動的に inetd デーモンを再始動します。

nfso コマンドにより管理されるパラメーターの現行セットには、 Dynamic、Mount、および Incremental のタイプがあります。

互換モード

5.2 より前の互換モード ( sys0 の pre520tune 属性によって制御される) で実行している場合、パラメーターのリブート値 (タイプ Bosboot を除く) は、ブート時に適用されないため、実際には意味がありません。 AIX 5.2 互換モードを参照してください。

5.2 より前の互換モードでは、チューニング・パラメーターへのリブート値の設定は、 ブート中に呼び出されるスクリプト内でチューニング・コマンドを呼び出すことにより行います。 したがって、タイプ Reboot のパラメーターは -r フラグ なしで設定できるので、既存のスクリプトは従来どおり作動します。

マシンが AIX 5L バージョン 5.2にマイグレーションされると、このモードは自動的にオンになります。 完全なインストールの場合、これは OFF になり、パラメーターのリブート値は、 リブート中に /etc/tunables/nextboot ファイルの内容を適用することにより設定されます。 -r およ び -p のフラグが完全に機能するのは、このモードのときだ けです。 新しい 5.2 モードについて詳しくは、「 Performance Tools Guide and Reference 」の「 カーネル・チューニング 」を参照してください。

チューナブル・パラメーター

チューナブルのデフォルト値および値の範囲については、 nfso コマンド・ヘルプ (-h <tunable_parameter_name>) を参照してください。

注: AIX バージョン 6.1 (6100-02 テクノロジー・レベル適用)以降では、以下のパラメーターは廃止されています。ネットワーク・ファイルシステム (NFS) および仮想メモリー・マネージャー (VMM) は、ワークロードに基づいて buf 構造およびページ・デバイス・テーブル (PDT) の数を動的に調整するためです。
  • nfs_v2_pdts
  • nfs_v2_vm_bufs
  • nfs_v3_pdts
  • nfs_v3_vm_bufs
  • nfs_v4_pdts
  • nfs_v4_vm_bufs
項目 説明
クライアント委任
目的:
NFS バージョン 4 クライアントがオープン・ファイルに対する代行を受け入れるかどうかを判別します。
チューニング:
値が 0 の場合は、代行が使用不可になります。 値が 1 の場合は、代行が使用可能になります。
nfs_hang_log (nfs_hang_log)
目的:
ハングしている NFS マウント・メッセージを syslog ログ・ファイルに記録させる優先順位を設定します。
チューニング:
値は 1 から 7 までの範囲です。
  • 1: LOG_ALERT
  • 2: LOG_CRIT
  • 3: LOG_ERR
  • 4: LOG_WARNING
  • 5: LOG_NOTICE
  • 6: LOG_INFO
  • 7: LOG_DEBUG
デフォルト値は 6 です。
nfs_max_read_size
目的:
システム管理者がサーバーで NFS RPC サイズを制御できるようにします。
チューニング:
すべてのクライアントが読み取りサイズを変更する必要があり、かつクライアントを変更できない場合に役立ちます。 クライアント・マウントの値をデフォルト値として使用します。 クライアントでマウントを直接操作できないとき (特に、デフォルトの読み取りサイズでパケットをドロップしているネットワークでの NIM インストール時に)、V3 読み取りサイズを縮小するためにデフォルト値が必要です。 このような場合、512 KB の最大サイズをより小さい値に設定して、その値がネットワーク上で役立つようにします。 このパラメーターは、ネットワーク・デバイスがパケットをドロップしており、サーバーとの通信について一般的な変更が要求される場合にも役立ちます。 デフォルト値は 64 KB で、最大値は 512 KB です。
nfs_max_write_size
目的:
システム管理者がサーバーで NFS RPC サイズを制御できるようにします。
チューニング:
すべてのクライアントが書き込みサイズを変更する必要があり、かつクライアントを変更できない場合に役立ちます。 クライアント・マウントの値をデフォルト値として使用します。 クライアントでマウントを直接操作できないとき (特に、デフォルトの読み取りサイズでパケットをドロップしているネットワークでの NIM インストール時に)、V3 書き込みサイズを縮小するためにデフォルト値が必要です。 このような場合、512 KB の最大サイズをより小さい値に設定して、その値がネットワーク上で役立つようにします。 このパラメーターは、ネットワーク・デバイスがパケットをドロップしており、サーバーとの通信について一般的な変更が要求される場合にも役立ちます。 デフォルト値は 64 KB で、最大値は 512 KB です。
nfs_rfc1323
目的:
非常に大きい TCP ウィンドウ・サイズ (65535 バイトより大きい) のネゴシエーションをシステム間で行えるようにします。
チューニング:
NFS クライアントとサーバー間で TCP トランスポートを使用し、両方のシステムがこれをサポートしている場合、システムは TCP ウィンドウ・サイズをネゴシエーションして、クライアントとサーバー間でより多くのデータを転送できるようにします。 これにより、クライアントとサーバー間で使用可能なスループットが増えます。 no コマンドの rfc1323 オプションと異なり、これは NFS のみに影響し、システム内の他のアプリケーションには影響しません。 値が 0 の場合はこれが使用不可になり、値が 1 の場合はこれが使用可能になります。 no コマンドのパラメーター rfc1323 が既に設定されている場合は、この NFS オプションを設定する必要はありません。
nfs_securenfs_authtimeout
目的:
DES クレデンシャルの秒数を設定します。
チューニング:
値が 0 の場合は、DES クレデンシャルのタイムアウトが使用不可になります。
nfs_server_base_priority (nfs_server_base_priority)
目的:
nfsd デーモンの基本優先順位を設定します。
チューニング:
デフォルトでは、nfsd デーモンは浮動するプロセス優先順位を使用して実行されます。 したがって、デーモンの累積 CPU 時間が増えると、デーモンの優先順位は変更されます。 このパラメーターは、nfsd デーモンに静的なパラメーターを設定するために使用できます。 値 0 は浮動する優先順位 (デフォルト) を表します。 許容範囲内の他の値は、NFS 要求をサーバーで受信したときの nfsd デーモンの優先順位を設定するために使用されます。 このオプションは、NFS サーバーの負荷がシステムにとって過剰になっている場合に使用できます (下げるか、または nfsd デーモンの優先順位を低くする)。 また、nfsd デーモンをサーバー上で最も優先させるプロセスの 1 つにしたい場合にも使用できます。 このパラメーターを設定すると、その他のプロセスはシステムをほとんど使用できないことになりがちなので注意してください。 この状態は、NFS サーバーが非常にビジー状態であり、サーバー上でその他のプロセスが実行時間を持てないように実質的に締め出す場合に起こります。
nfs_server_clread
目的:
このオプションを使用すると、NFS サーバーはファイルの読み取りを非常に積極的に実行できるようになります。 NFS サーバーは、NFS クライアントからの特定の NFS 読み取り要求にしか応答できません。 ただし、NFS サーバーは、ファイル内の現在の読み取り要求の直後に存在するデータを読み取ることができます。 これは通常、「先読み」と呼ばれます。 NFS サーバーは、デフォルトで「先読み」を実行します。
チューニング:
これはサーバーのメモリーが低く、ディスクからメモリーへのアクティビティーが多く行われている場合に有効です。 nfs_server_clread オプションを使用可能にすると、NFS サーバーは NFS クライアント用の先読みを非常に積極的に行うようになります。 値が 1 の場合は、積極的な先読みが行われます。値が 0 の場合は、通常のシステム・デフォルトの先読み方式が使用されます。 通常のシステム先読みは VMM (JFS ファイルシステムの場合) および JFS2 (JFS2 ファイルシステムの場合) により制御されます。 nfs_server_clread オプションで可能になる、より積極的なトップ・ハーフの先読みは、順序に従わない要求による先読みの中断 (これは NFS サーバーではよくあることです) の影響を受けにくくなっています。 このメカニズムを活動化すると、一度に 1 つのクラスター全体 (128 KB の LVM 論理トラック・グループ・サイズ) を読み取ります。
nfs_server_close_delay
目的
予期される遅延があまり長くない場合に、NFS バージョン 4 サーバーは NFS4ERR_DELAY 応答を送信するのを回避する必要があります。 サーバーからの NFS4ERR_DELAY 応答を検出したときにアプリケーションを長時間休止する NFS クライアントが使用される場合、サーバーは、アプリケーションの休止を回避する nfs_server_close_delay オプションを使用してサーバー上の遅延を処理しようとします。
チューニング
値が 0 の場合、この機能はオフにされます。 デフォルト値は 0 です。 値が 1 の場合は、サーバー・サイドでの短時間の遅延のローカル処理が有効になります。
nfs_use_reserved_ports
目的:
予約されていない IP ポート番号の使用を指定します。
チューニング:
値が 0 の場合は、NFS クライアントが NFS サーバーと通信するときに予約されていない IP ポート番号を使用します。
nfs_v3_server_readdirplus
目的:
READDIRPLUS 呼び出しがサーバーでサポートされているかどうかを判別します。
チューニング:
値が 0 の場合は、READDIRPLUS の処理が使用不可になります。
nfs_v4_fail_over_timeout
目的:
NFS バージョン 4 クライアントの操作が、NFS バージョン 4 サーバーが提供するレプリカにフェイルオーバーするタイムアウトの時間を指定します。 単位は秒です。
チューニング:
値 0 を指定した場合、タイムアウト値は tcp のタイムアウト値に 4 を掛けた値になります。 1 から 4 までの値は予約されており、 NFS バージョン 4 クライアントはそれを 0 として扱います。 NFS バージョン 4 では、メイン・サーバーが応答しない場合に、クライアントが他のレプリカ・サーバーにフェイルオーバーすることができます。 この値により、クライアントが fsid に対するすべての NFS バージョン 4 の要求を他のレプリカ・サーバーに切り替えるまで、サーバーからの応答を待機する時間が決まります。
ポート・チェック
目的:
NFS 要求が特権のあるポートからのものかどうかを検査します。
チューニング:
値が 0 の場合は、NFS サーバーが行うポート検査が使用不可になります。 値が 1 の場合は、着信する NFS 要求のポート検査を NFS サーバーが行うようにします。 これは、最低限のパフォーマンス結果を伴う構成決定です。
サーバー委任
目的:
NFS バージョン 4 サーバーがオープン・ファイルに対する読み取りの代行を実行するかどうかを判別します。
チューニング:
値が 0 の場合は、代行の許可が使用不可になります。 値が 1 の場合は、代行の許可が使用可能になります。
utf8_validation
目的:
NFS バージョン 4 のクライアントとサーバーがストリング・データで UTF-8 の正確性を検査するかどうかを判別します。
チューニング:
値が 0 の場合は、UTF-8 の検査が使用不可になります。 値が 1 の場合は、UTF-8 の検査が使用可能になります。
gss_window
目的:
GSS ウィンドウ・サイズ検査を有効/無効にします。
チューニング:
値 0 は、GSS ウィンドウ・サイズ検査を無効にします。 値 1 は、GSS ウィンドウ・サイズ検査を有効にします。 デフォルト値は 1 です。

  1. portcheck チューナブル・パラメーター の値をゼロにするには、次のように入力します。
    nfso -o portcheck=0
  2. udpchecksum チューナブル・パラメーター の値を次のリブートでデフォルト値の 1 にするには、次のように入力します。
    nfso -r -d udpchecksum
  3. すべてのチューナブル・パラメーターとその現在値のリストを、 コロンで区切ったフォーマットで印刷するには、次のように入力します。
    nfso -a -c
  4. nfso コマンドが管理するすべてのチューナブル・パラメーターの、現行値とリブート値、範囲、単位、タイプと依存関係を リストするには、次のように入力します。
     nfso -L
  5. nfs_tcp_duplicate_cache_size のヘルプ情報を表示するには、次のように入力します。
    nfso -h nfs_tcp_duplicate_cache_size
  6. nfs_dynamic_retrans を永久にオフにするには、次のように入力します。
    nfso -p -o nfs_dynamic_retrans=0
  7. すべてのネットワーク・ファイルシステム・チューニング・パラメーター のリブート値をリストするには、次のように入力します。
    nfso -r -a
  8. nfso コマンドが管理するすべてのチューナブル・パラメーターの、 現行値とリブート値、範囲、単位、タイプと依存関係をリスト (スプレッドシート形式) するには、 次のように入力します。
    nfso -x