在配置 SOFS 的服务器上访问文件共享时出错:没有足够的服务器存储可用于处理此命令

本文提供了在配置了横向扩展文件服务器角色的 SMB 服务器上访问文件共享时出现的问题的解决方案。

原始 KB 数: 3101545

现象

假设出现了下面这种情景:

  • 在运行 Window Server 2012 R2 的服务器上配置 横向扩展文件服务器 (SOFS)角色。
  • 你有经常访问文件共享的服务器应用程序和客户端。
  • 应用程序和客户端打开许多生存期较短的会话,在其中连接、进行身份验证、更改文件并立即关闭会话。

在此方案中,在一段时间后,对文件共享的访问失败,并且网络捕获中记录了STATUS_INSUFF_SERVER_RESOURCES错误。

此外,当用户尝试连接到 SOFS 共享时,他们会收到以下错误消息:

服务器存储空间不足,无法处理此命令。

此外,群集协调器节点和非协调器节点上的Lsass.exe句柄计数也很高。

备注

如果将磁盘资源故障转移到另一个节点,则不会暂时出现问题。

原因

出现此问题的原因是应用程序每次更改文件时都创建新会话,而不是重用会话来生成许多元数据更改。

CSV 文件系统使用 SMB 协议使元数据信息在群集节点之间保持一致。 大量元数据更改会在群集的非协调器和协调器节点之间生成许多 SMB 会话,并耗尽协调器节点上的 SMB 表。

解决方法

若要修复此类应用程序工作负荷的此问题,建议使用文件服务器作为常规使用角色而不是 SOFS。

备注

如果工作负荷生成大量元数据操作(例如打开和创建新文件或重命名现有文件),则不应使用 SOFS 角色。

详细信息

在非协调器节点和协调器节点之间的网络捕获中,可以看到 SMB 会话设置请求后,协调器节点会响应STATUS_INSUFF_SERVER_RESOURCES错误。