AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 7913
In Process
Joel
Joel
Asked: 2009-05-14 10:50:24 +0800 CST2009-05-14 10:50:24 +0800 CST 2009-05-14 10:50:24 +0800 CST

ping 响应慢的服务器

  • 772

为相同站点服务的具有相同负载的两个盒子往往会减慢并停止响应 ping。缓慢(或间歇性)的 ping 导致我们的负载均衡器认为服务器处于脱机状态并禁用它们。还有第三台服务器具有相同的内容,没有问题,所以我相当有信心这不是网站。

操作系统是 Windows Server 2008。配置有点特殊:因为我们在 Direct Server Return 模式下使用梭子鱼网络负载平衡器,所以我们不得不配置许多环回适配器,这些适配器“伪造”了此处描述的 IP 。物理适配器已根据 2008 年要求启用转发设置,以使环回适配器正常工作。

症状:

  • 当它发生时,ping 通常要么超时,要么丢包。
  • 修复似乎是以下一项或多项:
    • 通过远程桌面登录。
    • 清除 dns 缓存或 arp 缓存(不确定哪个)。
    • 重新启动。
  • 在上述一项或多项操作之后,服务器似乎可以正常运行大约 4 小时,然后再次运行。

问题:

这有哪些可能的原因?我应该如何诊断?我没有排除任何可能。切换配置,域/dns 服务器,欢迎所有想法。

可悲的是,我对良好的网络管理知之甚少,所以也欢迎显而易见的答案。

编辑:

回答提出的一些问题。

我已经联系了梭子鱼,他们似乎认为问题与网络有关。我想我同意这一点。

IP 分配给物理接口,而不是在服务器之间共享。Ping 是在同一子网内完成的。

当其他两个出现故障并且没有太大问题时,第三个框处理所有站点负载,但有时它也有问题。我还没有找到那个模式。

今天晚上,我和另一个(更有经验的)网络人员坐下来查看一些域和服务器配置。他发现的其中一件事是域控制器上的 dns 设置错误。它们被配置为使用外部 dns 服务器作为备用服务器,而不是其他 DC。我们将它们切换为相互引用 dns,并添加到 dns 服务的转发。我们还从所有 Web 服务器中删除了外部 dns 引用。

编辑2:

使用 Wireshark,我能够在一段停机时间内检查 ICMP 流量。我开始这个测试是因为我无法从框 1 访问框 2 上的共享文件夹。

测试:

  1. 开始在框 2 上捕获流量。
  2. 观察到框 2 正在查看并回复来自梭子鱼负载均衡器的 ping。
  3. 登录到框 1 并 ping 框 2。
  4. 观察到框 2 看到但没有回复框 1 的 ping。
  5. 观察到框 2 看到但在框 1 的第一次 ping 之后的 100 秒内没有回复来自 LB 的 ping。

因此,不知何故,两个盒子之间的流量导致盒子 2 在 ICMP 上崩溃了一段时间。

我应该注意到,框 1 在整个测试过程中运行良好,但没有看到来自框 2 的任何请求。在从框 2 ping 框 1 时,框 2 上的 Wireshark 显示来自源的消息“无法访问目标(通信管理过滤)” IP我不认识。

windows-server-2008 networking icmp loopback
  • 7 7 个回答
  • 8295 Views

7 个回答

  • Voted
  1. Tim Howland
    2009-05-14T16:31:13+08:002009-05-14T16:31:13+08:00

    您是否需要使用 ICMP ping 进行服务器测试?大多数负载均衡器都支持 HTTP 请求,这通常是一个更好的主意,因为您的 Web 服务器可能会在您的网卡仍在运行时关闭。

    • 3
  2. Joseph
    2009-05-14T11:32:25+08:002009-05-14T11:32:25+08:00

    我会先与梭子鱼网络核实。这可能是一个已知问题。我们有一个类似的问题,原来是我们的 Cisco 负载均衡器。固件更新解决了这个问题。

    • 1
  3. sh-beta
    2009-05-14T13:01:11+08:002009-05-14T13:01:11+08:00

    第三台服务器是否处于负载状态,还是以另一种方式与其他两台服务器不同?

    在不了解更多信息的情况下,我建议将Wireshark安装到这些服务器上,同时 ping 它们并查看 ICMP 活动。我(可能毫无根据)的怀疑是这些服务器遇到 ARP 问题并发送回响应数据包,你只是永远不会得到它们。

    使用 Wireshark,将您的过滤器设置为“arp 或 icmp”,看看它会带来什么。您还应该快速查看您的系统事件日志 - 那里可能有一些明显的东西可以缩短任何进一步的猜测。

    如果您不熟悉 arp,它是用于将第 3 层 (IP) 地址转换为第 2 层 (MAC) 地址的协议。这必须正确发生,否则包含第 3 层数据包的第 2 层帧将永远不会被发送,或者将到达错误的目的地。

    最后,其他发布者的双工/速度建议是可靠的最佳实践,尽管我怀疑它们是这里的根本原因。请注意,在千兆以太网中,您不再需要担心自动协商会受到影响。

    编辑

    您所做的 DNS 更改肯定是个好主意,但我很难想象会导致 ICMP 超时的场景。可能该应用程序阻止了数千个 DNS 查询并消耗了太多资源以至于无法响应 ICMP?

    无论如何,如果这不能解决问题,数据包跟踪应该显示更多正在发生的事情。

    • 1
  4. palehorse
    2009-05-14T10:53:11+08:002009-05-14T10:53:11+08:00

    我发现有帮助的一件事是确保服务器上的 NIC 和它所连接的交换机上的端口都设置为相同的速度和双工设置。我遇到了“自动协商”无法很好协商的问题,这开始导致端口和 NIC 出现很多错误。

    • 0
  5. WerkkreW
    2009-05-14T10:54:51+08:002009-05-14T10:54:51+08:00

    尝试手动将接口设置为速度,并尽可能避免使用自动协商。

    • 0
  6. rmwetmore
    2009-05-19T19:04:15+08:002009-05-19T19:04:15+08:00

    将服务器上的网络驱动程序更新到硬件供应商提供的最新版本。我发现这有时可以解决奇怪的网络问题。

    • 0
  7. Kevin
    2012-02-21T17:54:25+08:002012-02-21T17:54:25+08:00

    进行管理过滤的源 IP 是什么?这很可能是问题的根源,我怀疑它是负载均衡器内部的

    • 0

相关问题

  • 为什么我的电脑休眠时 VPN 连接会中断?[关闭]

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 有什么软件可以模拟局域网?

  • 带宽利用工具?[关闭]

  • 是否可以在单个 W2008 服务器上安装 Exchange Server?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve