UPS 正常关机后自动开机

UPS 正常关机后自动开机

这是我的基本设置:

  • 我运行一个服务器(DL380 G7;Linux 3.13 内核),上面托管着大约 10 个虚拟机
  • 已设置为自动开机
  • 我使用 NUT 进行 UPS 管理
  • 主机正常关机时长(包括首次关闭 VMS)约为 8-10 分钟
  • 在电池充满电的情况下,UPS 的总运行时间(我有 2 个,每个为服务器中的一个 PSU 供电,另一个为所连接的存储设备供电)约为 75 分钟。
  • 我已经设置了 UPS/NUT 的级别,以便我拥有临界级别 (LOWBATT),即在剩余 15 分钟时启动关机(我不敢再低了)

下面的情景在过去的 12 个月中已经发生过两次:

  • 断电后,UPS 即可正常接管
  • 电源关闭约 1 小时 -> 启动关机,正如它应该的那样
  • 服务器停止虚拟机,开始关机程序
  • --> 有时在这里电力恢复
  • 服务器完成关机并断电
  • 服务器确实不是重新上线,因为 UPS 再次通电,并且服务器实际上从未断电(由 UPS 供电),因此基本上在服务器看来,就好像是一次故意的正常关机。
  • 我一意识到这一点,就通过 ILO 远程启动了服务器 [上次发生这种情况是今天凌晨 03:46 :-),所以我才问的]

正如 ewwhite 所指出的,具体UPS 型号将会有所帮助:

  • 伊顿 5PX 2200VA,带 +1 EBM
  • Roline Prosecure II,1500VA RM2U,带 +1 EBM

你们中有人遇到过同样的问题吗?某些 UPS 是否有现成的解决方案?

到目前为止,我已经考虑设置一些低功耗 Linux 设备(Raspberry Pi?)来接管监控;它会检查 UPS 装置的电池是否有足够的电量以及输入电源状态,然后通过 ILO/IPMI 重新启动服务器。

任何自动解决方案是否都太麻烦(就我的情况和一般情况而言)并且如果发生这种情况我是否应该采取手动干预?

问候

马丁

答案1

在这种情况下,不应该使用两个 UPS 装置,每个 UPS 都为一个电源供电。这可能是您遇到的问题的主要部分,因为单个 UPS 可以在断电后恢复之前的电源状态(这也是 HP ProLiant BIOS 中的默认设置)。使用两个 UPS 似乎会破坏这个逻辑。

您是通过串行电缆还是 USB 电缆连接到 UPS?

具体建议请参见:
当主电源恢复时,UPS 关闭服务器,如何唤醒服务器?

这应该很容易测试,但说实话,我花很少的时间来处理这些极端情况。服务器机房电源是最容易规划的事情之一,因为您可以指定 x 小时的电池运行时间,并能够度过这样的断电场景。

如果停电时间较长,我只需确保我可以远程手动处理事情。

答案2

另一种不需要更改硬件的解决方案是设置关机过程,以便在所有虚拟机都关机后,如果 UPS 有电,则重新启动。这将涉及确定在关机过程中可以将 init 脚本放在何处,并且您需要确保螺母不会提前关闭,因为您需要它与 UPS 进行通信。

您是否在服务器关闭结束时向 UPS 发送关机命令?如果没有,您也可以考虑这样做,然后您可以设置延迟直到关机,以便您的服务器真正完成关机,并在 UPS 断电后以及在电源恢复后为服务器供电之前设置超时。如果在关机完成之前电源恢复,您仍可以通过关机命令完全关闭服务器,但经过一段时间后服务器将重新启动。

检查 NUT upscmd shutdown.return 和相关的超时。

答案3

这是一个贫民窟的解决方案,但它确实有效。买一个小型 mikrotik 路由器或 Linux 主板,并在其中安装 LAN 唤醒功能。放置没有 UPS 备份的设备,将其配置为每分钟或 30 秒发送一次 LAN 唤醒。因此,当它断电时,它不会发送任何命令,但当它通电时,它会每 1 分钟或 30 秒发送一次 WOL。因此,当通电时,您的服务器永远不会关闭。

相关内容