当我重新启动服务器时 IIS 会发生什么情况?

当我重新启动服务器时 IIS 会发生什么情况?

在我的工作中,我们目前正在解决有关 IIS 的问题。我们在几台 IIS 服务器上使用 F5 负载平衡器,因此可以处理一台服务器暂时从池中取出的情况,但我们担心 Windows 更新重新启动可能会对正在进行的 IIS 事务产生影响。

我们的 IIS 应用程序全天候处理大量事务。我们目前正在自动修补服务器,因此在维护时段内可能会发生一些重启。

当我们(安全地,而不是崩溃)重新启动计算机时,当前通过 IIS 处理的事务会丢失吗?或者 Windows 是否会在关闭之前给 IIS 服务足够的时间来完成这些事务,从而允许我们的其他负载平衡服务器处理流量?

我发现了很多有关重置 IIS 的问题,但我不确定它们是否适用于机器重启。

答案1

IIS 不会在计划关闭期间“正常”关闭连接。用户会话将被重置,如果您不管理 BIG-IP,会话仍将发送到已关闭的服务器节点,直到 BIG-IP 虚拟服务器监视器将其标记为已关闭并将流量重新分配到其他节点。请注意,大多数 IIS 监视器/服务监视器会很快注意到这一点,但由于它是用户定义的,我想我会调出它。

为了减少或缓解此问题,您需要在 GUI 中手动将节点标记为离线,或通过 BIG-IP 的 API 调用将节点标记为离线,例如 (控制REST)。这将阻止新连接路由到即将进行维护的服务器,并允许现有会话根据需要耗尽并重新分配。

例外情况是长期建立的会话可能会持续比您希望的更长的时间。在这些情况下,有时您需要通过在 BIG-IP 中将节点标记为“强制脱机”来强制脱机连接。这将重置现有连接并将新连接分发到其他节点。这不是理想的做法,但它比重置 IIS 并允许连接重置(而 BIG-IP 监视器在将节点标记为关闭之前失败 X 次)要好。

以下是您的操作顺序:

  1. 将节点标记为已禁用。
  2. 允许 X 时间将活动会话转移到其他 IIS 节点
  3. 如果任何会话保持活动状态的时间过长,则将节点标记为强制脱机(取决于应用程序的预期用途)
  4. 为 IIS 做任何你需要的事情
  5. 在 BIG-IP 中将池成员(节点)标记为在线之前,请重新启动 IIS 并验证运行。

这可以在 BIG-IP 中通过机载脚本或安全管理系统的 API 调用自动实现。

您可以在 BIG-IP(在虚拟服务器统计信息中)中或通过您首选的管理软件监控到您节点的流量。这将允许您确定每个节点的现有连接。

以下是有关 GUI 和 CLI 命令的操作指南,可帮助您实现所需的功能:

K13310 - K13310:禁用节点或池成员以进行维护

相关内容