Windows共享:指定的网络名称不再可用


8

我们有一个EMC NX4 SAN盒,可将CIFS共享提供给许多Windows Server 2008 R2应用服务器。应用程序服务器正在使用CIFS共享来提供大量图像文件(共享时约为2500 ops / sec),但是SAN和应用程序服务器均未显示任何明显的压力迹象。

有时,应用服务器有时会突然断开与SAN的连接。任何尝试从SAN提供文件服务的.NET代码都会失败,并显示以下信息:

System.IO.IOException: The specified network name is no longer available

如果我RDP到应用程序服务器并尝试通过资源管理器访问“ \ san-name”,则会收到相同的错误。所有其他应用服务器都可以正常访问它。我还可以完美地访问“ \ ip-of-san”,并且可以ping通。

重新启动应用程序服务器可以解决此问题,但是考虑到SAN可以正常工作并且计算机可以访问它,因此可以用某种程度的方法解决该问题-就像“ \ san-name”访问权限f倒。

在上周,两个不同的应用程序服务器都发生了这种情况,因此我不怀疑单个应用程序服务器是原因。暂时忽略原因-如何在不重新启动计算机的情况下恢复“ \ san-name”连接?我可以以某种方式查询出了什么问题吗?

事件日志在应用程序服务器或SAN上均不显示任何内容(除了由问题引起的相关ASP.NET错误)。

更新:
根据建议,下次我将尝试重新启动Workstation服务,并查看是否有助于解决该问题。绝对不是修复程序,但是比我目前正在重启整个计算机的方法要快。有什么方法可以查询Workstation服务维护的连接状态?

更新2:
确认重新启动工作站服务可以“解决”该问题。下一步是尝试更改reg以提高MaxCmds值。无法确认是否是问题所在,只能假设它运行了很长一段时间而没有问题。


App服务器上的事件日志中是否有任何指示,尤其是系统日志中的指示,是否指示暂时性故障或某些其他机制被触发(例如,LanManagerService中的DOS保护,如此处blog.mreza.info/archive/ 2007/09/26 /…)。还有什么AV设置以及Celerra如何与之集成。
赫尔维克2010年

@Helvick事件日志中没有相关条目,无论是应用程序还是系统。我们既不在服务器上也不在Celerra上运行AV。我也在事件日志中搜索了LanManagerService DOS保护事件,但该事件返回为空。
马克·S·拉斯穆森

Answers:


7

听起来好像MaxCmds已经用完了。这里有两篇很好的文章:在这里这里

现在是要更改它了。创建一个名为update.reg的文件,并将以下内容放入其中:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters] 
"MaxCmds"=dword:00000800 

保存,然后双击并接受提示。需要重启。


由于赏金即将用完,因此我会把它奖励给您,因为这是最好的赌注,尽管我必须在接受之前进行测试。我以前已将FCNMode更改为仅注册bin目录,因为我在另一个UNC共享上托管的某些应用程序上遇到“达到bios命令限制”错误。但是我猜想FCNMode设置不会影响应用程序目录之外的目录。
马克·拉斯穆森

FCNMode也可以提供帮助,但是UNC上的大磁盘结构可能会导致两者同时起作用。我“相信” FCN与.NET 2.0及更高版本的整个目录树相对。
Scott Forsyth-MVP 2010年

除此之外:我已经看到MaxCmds耗尽了多个前端节点和用于不同文件夹的多个用户。MaxCmds是我应用于所有UNC网络场的设置。我从未见过这种改变的缺点。如果CIFS共享目标是Windows服务器,也有服务器设置,但这不适用于您。
Scott Forsyth-MVP 2010年

只是为了澄清我的意见,实际的.NET应用程序存储在本地磁盘上。这些应用程序的主要目的是提供存储在UNC共享上的图像数据。据我了解,FCNMode设置仅适用于应用程序目录,因此对我的情况没有影响。虽然MaxCmds仍然是罪魁祸首。所有应用程序都在同一个帐户下运行,但是每台服务器上都有500多个Web应用程序,很可能我快用完了。
马克·S·拉斯穆森

FCN的ASP.NET中的默认行为是遍历整个目录结构。HKLM \ Software \ Microsoft \ ASP.NET \ FCNMode的注册表项可以为0、1或2。默认值为0,每个文件夹都有一个FCN对象。如果将其更改为2,则它将对根目录和所有子目录使用一个对象。设置为1会将其完全关闭。support.microsoft.com/kb/911272。您可能还会发现此博客文章和讨论也很有帮助:weblogs.asp.net/owscott/archive/2006/02/21/ASP.NET-v2.0-2D00 -AppDomain-recycles_2C00_-more-common-than-before.aspx 。
Scott Forsyth-MVP 2010年

1

也许在应用服务器上重新启动工作站服务!


如果确实失去了名称解析功能,则可以尝试使用hosts文件来缩短名称解析过程,作为实验。
托尼·罗斯

我试图重新启动服务,但没有成功,但是随后我重新启动了服务器,此后它似乎可以工作。

0

我以前曾遇到过这种情况,尽管没有EMC后端。对于用户级应用程序,强制关闭与远程服务器的连接并重新打开它会使其恢复连接,尽管您可能必须尝试几次才能使其完全起作用。对于serverland应用程序,回收该服务的应用程序池是可行的。如果失败,则回收Workstation Service可以避免重新启动,但这几乎是非常艰巨的。


0

来源:

您能否提供有关应用服务器上安装的软件的更多详细信息?在网上,您会发现它通常是AV的问题,但是由于您没有运行任何问题……也许是另一个内核模式的应用程序,例如备份软件?

防火墙是否处于活动状态?您是否已在DC上检查了故障应用服务器的事件日志?

当出现问题时,您还应该嗅探CIFS网络流量,以查看会发生什么。

我唯一遇到此错误的时间是服务器/工作站以某种方式“丢失”了与域的链接。强制域成员身份可以达到目的(netdom / resetpwd)。出现问题时,是否可以访问其他网络共享(从RDP会话到应用服务器)?


在服务器上运行的唯一软件是运行.NET Web应用程序的IIS。防火墙处于不活动状态,因为它位于我们的DMZ后面。下次发生时,我将尝试检查AD日志。关于CIFS的好技巧-我也将尝试在下一次添加ISCSI LUN,以查看它是否仅与CIFS有关,或者是否是使用主机名的一般连接问题。发生此错误时,我可以使用CIFS访问所有其他计算机和共享。
马克·拉斯穆森

0

这可能是名称解析问题。您可以检查您的DNS服务器吗?如果那不允许解析名称,并且在重新启动您的应用服务器后将允许访问。

当某些工作站用户抱怨他们无法访问存储在另一台服务器中的应用程序时,我遇到了同样的问题,我们通过尝试使用可以正常工作但不能使用名称的server-ip进行访问来完成相同的工作,因此我们检查了DNS。我们已经对应用程序进行了更改,以使用静态IP网络访问使用IP地址的另一台服务器。

让我知道我的建议是否对您有用。


当我收到错误消息时,我可以执行一次nslookup,从本地AD DNS返回正确的IP。我也可以使用主机名和IP地址ping通。
马克·拉斯穆森

0

我遇到了类似的问题。我无法将共享从Windows 2003服务器映射到Windows Server 2012。

该网络小组已实施了一项AD策略,该策略已将较低Windows版本隔离到一个AD容器,该容器不允许较低版本的TLS连接到运行较高版本TLS的服务器。向后移动服务器或禁用策略以与较低版本的TLS连接可以更正此问题。

这是我在系统日志中遇到的一些错误:

从远程服务器收到的证书是由不受信任的证书颁发机构颁发的。因此,证书中包含的所有数据都无法验证。SSL连接请求失败。附件数据包含服务器证书。

生成致命警报并将其发送到远程端点。这可能会导致连接终止。TLS协议定义的致命错误代码为48。WindowsSChannel错误状态为552。

希望它有助于解决您的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.