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

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

适用于: Windows Server 2012 R2
原始 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错误。