访问远程计算机的MSMQ将显示"远程计算机不可用"
我们有一个Windows应用程序,该应用程序在服务器上运行,并访问其他4个服务器(它们都是域中的成员)以在每个专用队列中获取消息。我们刚刚安装了新服务器,由于某种原因,当应用程序尝试访问该计算机时,它会收到"远程计算机不可用"消息。
该应用程序使用作为管理域用户的用户访问其他服务器。
有没有人遇到过这样的问题,或者有什么可能的原因的线索?
解决方案
可能是防火墙问题吗?
http://support.microsoft.com/kb/183293
我们是否已启动了诸如Microsoft Network Monitor或者Wireshark之类的数据包捕获工具,并查看了往返于出现错误的系统的流量?通常,这是最可靠的方法,无需进行大量耗时的实验即可了解正在发生的事情。
我会从出现错误的框中设置捕获,运行直到发现错误,然后立即停止捕获。设置一个过滤器以仅查看进出该系统的流量。如果我们无法在盒子本身上安装捕获工具,请确保将其放置在网络上,使其仍然能够看到该盒子中的所有流量。 (即,不要将其放在交换机的相邻端口上,因为交换机的工作是使每个端口的流量彼此隔离)。
如果看到没有实际流量发送到有问题的远程服务器,则可能是命名/目录/ DNS类型问题。 IE。本地服务器无法确定另一台服务器在哪里。由于这是Windows域类型的情况,因此我将开始在Active Directory中寻找线索。
如果我们看到流量流向远程服务器,但是在故障发生之前我们甚至从未看到一个数据包从远程服务器返回,那么我们可能在远程设备上或者从此处到那里的路由上遇到了防火墙问题。
如果我们看到流量往返于远程服务器,但随后又停止了,则需要深入研究这些数据包,并查看流量中可能存在哪些低级错误代码。 NETMON和Wireshark都具有针对Microsoft协议的良好解码,因此我们应该能够准确了解正在发生的情况。如果我们不熟悉这些协议,则可能需要首先捕获到其他服务器之一的正确连接,以便进行比较。
对于该线程,可能为时已晚,但我在这里找到了答案:http://blogs.msdn.com/johnbreakwell/archive/2008/07/10/getting-msmq-messages-out-of-windows-server -2008.aspx
该问题最终得到解决,并且被意外解决:显然DNS服务器中存在一些混乱,并且缓存服务器难以访问正确的服务器。我们的网站管理员更正了所有服务器名称,这也解决了MSMQ问题。