访问 SOFS 配置的服务器上文件共享时出现错误:没有足够的服务器存储可用于处理此命令
09/24/2020
本文内容
本文提供了在配置了文件服务器角色的 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。
备注
如果工作负荷生成了非常多的元数据操作(如打开和创建新文件或重命名现有文件),则不应使用 SOFS 角色。
更多信息
在非处理协调器节点和处理协调器节点之间的网络捕获中,可以看到在 SMB 会话设置请求后,处理协调器节点将响应STATUS_INSUFF_SERVER_RESOURCES错误。