Mar*_*sen 8 windows-server-2008 storage-area-network network-share unc
我们有一个 EMC NX4 SAN 盒,为许多 Windows Server 2008 R2 应用服务器提供 CIFS 共享。应用服务器使用 CIFS 共享来提供大量图像文件(共享约 2500 次操作/秒),但是 SAN 和应用服务器都没有表现出任何明显的压力迹象。
应用服务器偶尔会突然断开与 SAN 的连接。任何尝试从 SAN 提供文件的 .NET 代码都会失败:
System.IO.IOException: The specified network name is no longer available
Run Code Online (Sandbox Code Playgroud)
如果我 RDP 到应用服务器并尝试通过资源管理器访问“\san-name”,我会收到同样的错误。所有其他应用服务器都可以正常访问它。我也可以完美地访问 "\ip-of-san",ping 也可以。
重新启动应用程序服务器可以解决该问题,但鉴于 SAN 似乎工作正常并且计算机可以访问它,这似乎是解决问题的一种激烈措施 - 看起来就像“\san-name”访问权限一样吐了。
上周这发生在两个不同的应用服务器上,所以我不怀疑是单个应用服务器造成的。暂时忽略原因 - 如何在不重新启动机器的情况下恢复“\san-name”连接?我可以以某种方式查询出了什么问题吗?
事件日志在应用服务器和 SAN 上都没有显示任何内容(除了由问题引起的相关 ASP.NET 错误)。
更新:
根据建议,我下次将尝试重新启动 Workstation 服务,看看是否能解决问题。绝对不是修复,但比我目前正在做的重新启动整台机器要快得多。有什么方法可以查询工作站服务维护的连接状态?
更新 2:
确认重新启动工作站服务“修复”了问题。下一步是尝试更改 reg 以提高 MaxCmds 值。无法确认是否是问题,只能假设它是否长时间运行没有问题。
这听起来像是 MaxCmds 已用完。这里有两篇关于这个的好文章:here和here。
现在来改变它。创建一个名为 update.reg 的文件并将以下内容放入其中:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters]
"MaxCmds"=dword:00000800
Run Code Online (Sandbox Code Playgroud)
保存,然后双击并接受提示。需要重新启动。
| 归档时间: |
|
| 查看次数: |
54696 次 |
| 最近记录: |