负载平衡池中的 ARR 服务器自动从不可用变为可用

负载平衡池中的 ARR 服务器自动从不可用变为可用

我在 ARR Web 场中有 3 个 IIS Web 服务器。当我们进行滚动发布时,我们会将一台服务器离线作为备份服务器,并将其移至“不可用状态”。我注意到,使用 ARR,服务器不会保持此状态……它们会在几小时或几天后自动恢复在线状态。有人知道如何补救这种情况吗?这非常糟糕,因为停机的服务器通常没有运行我们代码的正确版本。

我需要保持服务器不可用,直到我另行通知为止。

答案1

我会建议配置健康测试检查版本是否与要运行的代码版本一致。进行更改时,只需更改响应匹配即可。您还应该禁止新连接在处于维护窗口的服务器上。这将耗尽连接,并且无论服务器的健康状况如何都不允许它们打开

答案2

我在 Windows 2008 R2 Datacenter SP1 上运行 ARR 2.5,在通过选择“禁止新连接”或“立即使服务器不可用”转换场服务器时遇到了同样的问题。控制器最终将使场服务器恢复可用。我检查了受影响服务器上的访问日志,在一个案例中,它在 2 小时后恢复可用并开始处理请求。

关于 Jim B 的解决方案,我有一个问题。如果您将正确的代码部署到主服务器,并且在下次检查之前未配置健康测试,则所有已配置新运行代码的农场服务器都将被标记为不健康,在大多数情况下,农场中的所有服务器都将被标记为不健康。我看不出农场服务器健康状况的短暂失误是否值得采用这种解决方法。如果我没有看到图片,请告诉我。

我以为自己很聪明,先将农场服务器设置为不健康,然后将其设置为不可用。服务器立即变得不可用健康。

就我个人而言,我可以确保场服务器不会自动可用的唯一方法是,在合理保证连接已耗尽后,将其从负载平衡中完全移除。

无论如何,这似乎是一个错误。当我尝试将会话流量转移出某个服务器场时(例如,进行更新和重启),我无法确定该服务器场是否不会处理会话流量。

答案3

我弄清楚了这是什么时候发生的(不是为什么)——以及如何修复它!

当负载均衡器上的默认网站(ARR 进程)的应用程序池终止或回收时,就会发生这种情况。

按照微软的建议并设置应用程序池空闲超时 = 0: Microsoft 推荐的 ARR 设置指南

相关内容