SMB1に対する未処理のWindowsクライアント要求の最大数を増やすにはどうすればよいですか。
すべてのとおり
環境
- ONTAP 9
- Data ONTAP 7
- SMB 1
質問と回答
CIFS Max Multiplexとは何ですか?
CitrixやIISなどの一部のアプリケーションでは、より効率的に動作するために、多数のCIFSセッションを1つのTCP接続に結合しています。これらの接続は多重接続と呼ばれます。 cifs.max_mpx オプション(ONTAP の-max-mpx)は、1つのTCP接続でONTAP がサポートできる未処理のSMB処理の数を決定します。この値に達すると、クライアントはそれ以降のSMBコマンドをONTAP に送信しなくなります。
注: 環境 SMB1セッションの最大数。
cifs.max_mpx オプションに関連付けられた値は、Windows NTのデフォルト値である50よりも小さく設定しないでください。CIFSの統計出力でMax Multiplexが32より大きいことが示されている場合は、この数値を生成する必要があります。
ネットアップストレージコントローラのコマンドライン出力cifs stat -cの出力例を次に示します。
Max Multiplex = 46, Max pBlk Exhaust = 0, Max pBlk Reserve Exhaust = 0
使用できる値は、50、126、253、255*、および1124のみです。ネットアップのカスタマーサービスと明示的に会話することなく、この値を他の値に設定しないでください。このオプションを自動的に高い値に設定することは推奨されません。高い値を設定すると、クライアントのリソースが大量に消費されます。未承認の値に設定すると、一部のクライアントで原因 エラーが発生します。
注 :Data ONTAP 7.3.6および8.0.2で は、オプションcifs.max_mpxのデフォルト値は255に変更されました。
options cifs.max_mpx(SMB1セッションのみに適用される)値は、クライアントからFilerへの初期接続で渡される数を制御します。この値を変更しても、アクティブなセッションには影響しません。このため、CIFSを終了した場合にのみこのオプションを変更することを推奨します。CIFSを再起動すると、すべての接続に新しい値が設定されます。Windows側にも同様のパラメータがあります。Microsoftサポート技術情報960259を参照してください
IISサーバーで変更を行う場合は、Microsoft文書221790を参照してください。
ストレージ・システムのmax_mpxの値を増やすタイミング
max_mpx(ONTAP では-max-mpx)オプションの値は、次の状況で増やすことができます。
- CIFSの最大数が、オプションで指定された現在の値を超えています。
- Windowsクライアントは、MS Officeドキュメントを開くときに定期的にメッセージを受け取ります。「ドキュメントは既に開いている」、または「ドキュメントは書き込み禁止です」
- CIFSネットワークのパフォーマンスが低下する
- WindowsクライアントがWindows NT共有に接続できない
- cifs.max_mpx
CIFS stat
およびmaxの多重化値は同じです - ヘルスチェックの警告メッセージが表示されることがあります。
sam.misconfig.badValue.cifsMaxMpx
cifs stat
出力には、cifs.max_mpxで設定されている最大多重化値を超えていることが示されます。
CIFSプロトコルは、cifs.max_mpx値を2バイトフィールドとして定義します。指定できる値は、0 ~ 65535です。値が大きいと、Filerに接続しているクライアントのリソースが大量に消費されます。Windows 2000サーバ、ターミナルサーバ、またはワークステーションを実行している場合は、次のKBsを参照してください。
Windowsサーバには、Windowsレジストリのcifs.max_mpxに対応するオプションがあります。これはMaxMpxCtと呼ばれます。クライアントがサポートする最大値は、LanmanWorkstation MaxCmdsパラメータによって決定される必要があります。これらの値の変更については、Microsoftの技術情報
アーティクル:「Microsoft KB810886:「The network Basic Input-Output System (BIOS) command limit has been reached」というエラーメッセージがWindows Server 2003、Windows XP、およびWindows 2000 ServerでMicrosoftから詳しく説明されています
注:クライアントとサーバ(Filer)のペアについては、この2つの値のうち、小さい方の値を制限する必要があります。
最終的には、Filerにcifs.max_mpxの値を設定する場合、options cifs.max_mpxコマンドを使用して設定された設定の出力を確認し、これをcifs statコマンドで指定された最大多重化の動作値と比較して、値が近づくか超過するかを把握する必要があります。
たとえば、次の条件に該当する場合にcifs.max_mpxの値を1124よりも大きくすることができるのは、次の場合だけです。
- Filerに接続されているのは、Windows 2003以降のOSのみです
- cifs statの出力に、値1124に近づいているか、超えていることが示されます。
- テストは、この設定がWindowsクライアントで原因 のその他のパフォーマンスの問題にならないことを確認するために実行されました。
注:未処理のchangenotify要求はCIFS統計にはカウントされません。未処理の変更通知要求がCIFS多重化に関与すると予想される場合は、Windows perfmonコマンドとtrack redirectorcurrentコマンドを使用します。
Filerで許可される未処理のWindowsクライアント要求の同時最大数を増やす方法は、次のとおりです。
FilerでWindowsターミナル・サーバを使用する場合 は、技術情報アーティクル「What is the recommended tuning for Windows Terminal Server(WTS)CIFS clients?」を参照してください。
Windowsターミナル・サーバを使用しておらず、Filerに大量
のCIFSセッションがある場合は、Data ONTAP 情報ライブラリで、特定のData ONTAP バージョンのoptions cifs.max_mpxマニュアル・ページまたは『コマンド・リファレンス・ガイド』を参照して、最初に次の手順を実行します。注:これはSMB 1接続のみを対象としています。
cifs stat
次のように入力します:[%s]tatistics show-periodic -object cifs:vserver -instance vs1 interval 1 -iterations 10 -counter max_commands_outstanding|commands_outstanding (in ONTAP diag mode)
- Max Multiplexの値を記録します。
- 入力:
options cifs.max_mpx
[vserver cifs options show -vserver <vserver_name> -instance (in ONTAP diag mode)] - 出力を記録します。デフォルト値に注意してください。オプションの詳細については、options cifs.max_mpxのマニュアルページを参照してください。
- 手順1と3の値が同じ場合は、次の手順を実行します。
- CIFS を終了します。
cifs terminate
.
[cifs stop (in Clustered Data ONTAP)]
- と入力
options cifs.max_mpx 126
します。
[vserver cifs options modify -vserver <vserver_name> -max-mpx 126 (in ONTAP
diag mode
)] - CIFSを再起動
cifs restart
します。
[cifs start (in Clustered Data ONTAP)]
- CIFSクライアントが接続を再確立したら、手順1~4を再度実行します。
- CIFS を終了します。
- 手順1と3の値が同じ場合は、手順3をもう一度実行
cifs.max_mpx
し、手順5、IIの値を253に増やします。問題が解決しない場合cifs.max_mpx
は、値を1124に増やします。
注:ONTAP 9はデフォルトで255から始まります。
追加情報
ここにテキストを追加します。