SOFS で構成されたサーバー上のファイル共有にアクセスする場合のエラー: このコマンドを処理するのに十分なサーバー ストレージが使用できない

この記事では、ファイル サーバーの役割が構成されている SMB サーバー上のファイル共有にアクセスするときに発生する問題Scale-Outを提供します。

適用対象:  Windows Server 2012R2
元の KB 番号:   3101545

現象

次のような状況で問題が発生します。

  • Window Server 2012 R2 を実行しているサーバーでスケールアウト ファイル サーバー (SOFS) の役割を構成します。
  • ファイル共有に頻繁にアクセスするサーバー アプリケーションとクライアントがあります。
  • アプリケーションとクライアントは多くの短命セッションを開き、接続、認証、ファイルの変更、セッションの即時終了を行います。

このシナリオでは、しばらくすると、ファイル共有へのアクセスは失敗し、ネットワーク キャプチャSTATUS_INSUFF_SERVER_RESOURCESエラーが記録されます。

さらに、ユーザーが SOFS 共有に接続しようとすると、次のエラー メッセージが表示されます。

このコマンドを処理するのに十分なサーバー ストレージが使用できません。

また、クラスターのコーディネーターノードとLsass.exeノードの両方に高いハンドル数が表示されます。

注意

ディスク リソースを別のノードにフェールオーバーしても、問題は一時的に発生しません。

原因

この問題は、アプリケーションがセッションを再利用して多くのメタデータ変更を生成するのではなく、ファイルを変更する度に新しいセッションを作成するために発生します。

CSV ファイル システムは、SMB プロトコルを使用して、クラスター ノード間でメタデータ情報の整合性を保ちます。 メタデータの変更量が多い場合、クラスターのコーディネーター以外のノードとコーディネーター ノードの間に多数の SMB セッションが生成され、コーディネータ ノードの SMB テーブルが枯渇します。

解決方法

このような種類のアプリケーション ワークロードでこの問題を解決するには、SOFS の代わりに File Server for General Use ロールを使用することをお勧めします。

注意

新しいファイルを開いて作成したり、既存のファイルの名前を変更したりなど、ワークロードが非常に多くのメタデータ操作を生成する場合は、SOFS ロールを使用する必要があります。

詳細

コーディネーター以外のノードとコーディネーター ノード間のネットワーク キャプチャでは、SMB セッション セットアップ要求の後、コーディネーター ノードがエラーメッセージSTATUS_INSUFF_SERVER_RESOURCES表示されます。