恢复市电后,UPS关闭服务器后如何唤醒服务器?


16

我有几台Linux服务器连接到APC UPS。它们通过USB连接到UPS,并配置为如果UPS发送的信号表明一段时间后市电已经丢失并且没有返回,则将其关闭。这很好。另外,它们通过跳线配置为在断电后自动上电,然后返回。这也很好。

导致问题的情况是主电源断电,服务器关闭,但是在UPS耗尽之前恢复主电源。在那种情况下,我们希望服务器重新启动,但是由于在UPS之后实际上并没有断电,因此服务器永远不会看到电源返回事件,因此不会开机。

我希望有一种设备可以插入市电预UPS,检测电源返回状态并通过“局域网唤醒”发送唤醒信号到预配置的服务器,以在市电返回后将其唤醒可以指向我。

我们也欢迎您提出其他建议,我唯一不能做的就是更换服务器硬件,如果可能的话,我希望保留相同的UPS。

Answers:


13

使用UPS时实现的典型方案是:

  1. 断电时,UPS会通知与其连接的系统上的软件组件。
  2. 如果断电时间超过n秒,则UPS驱动程序会通知UPS并在不关闭电源的情况下暂停系统(这很重要)。
  3. UPS等待数秒以使系统停止运行,并切断电源。
  4. 当电源恢复并且UPS电池的充电量超过最低电量时(以便它可以支持电源打开并清洁关机,以防在机器启动后立即断电),UPS会恢复系统的电源。
  5. 系统注意到(在BIOS / UEFI级别),它们在断电之前已经通电,因此可以启动。

在大多数服务器BIOS中,您可以将系统设置为从断电之前恢复电源状态。这意味着,如果服务器已关闭电源并且断电,则在插入电源后仍将保持关闭状态。另一方面,如果服务器已打开电源,则在断电时,在交流电源接通时也会通电。恢复。

BillThor提到的NUT应该可以让您实现这种情况。


1
谢谢!除步骤(3)之外,我已完成所有上述工作,直到电池电量过低,我的UPS才切断电源。我的某些服务器可能要花费几分钟才能完全停止或关闭,并且两次关闭之间的时间会有所不同。在预先配置的时间后让UPS上电,我要么冒过早上电的风险,要么等待时间过长,冒着在UPS上电之前重新通电的风险,而我始终无法获得开机信号。也许我需要的是支持系统反向通道的UPS,这样一来,只要服务器电源中断,它就会立即断电。
bk。

2
查看NUT Docs,我认为这是我面临的问题,因此我将在那里尝试他们建议的解决方案。感谢networkupstools.org/docs/FAQ.html#_i_8217_m_lining_a_power_race
bk。

9

我通过使用一个小的Linux盒(Asus wl deluxe或smth)解决了这个问题,该盒已插入主UPS,并在恢复电源后尽快唤醒。启动脚本包括5分钟的延迟,以避免电源状态(上下)的任何变化,对所有服务器(所有w2k3,一个linux)进行WOL修改,并通过状态向我发送短信。


4

阅读了许多建议之后,我认为一个好的解决方案是使用任何旧计算机(如果您不关心功耗)或某种直接连接到能源的树莓派。

因此,当电源打开时,一个脚本将检查服务器是否打开,如果没有打开,则通过网络发送OWL。


3

我使用NUT(网络UPS工具)这种情况下,。您将需要基于Unix / Linux的服务器来监视UPS。一旦关闭开始,它将确保UPS重新启动。如果在恢复电源后重新启动服务器,这将使服务器备份。

Windows服务器有一个客户端,因此可以干净地关闭它们。


1

如果您的BIOS可以设置开机时间,则可以将其设置为关机后50分钟,如果关机是通过UPS关机信号触发的。

因此,在您的情况下,服务器将在50m +引导+最晚关闭时间后再次运行。


-2

我喜欢前面提到的所有想法。我建议在盖上盖子的情况下在笔记本电脑上运行“ NUT”服务器或“ WoL”服务器。这样,仅依靠电池就可以运行4-6个小时。某些笔记本电脑可以一次安装两节电池,甚至更长的运行时间。


您应该阅读PawełBrodacki的评论;NUT或apcupd的要点是,可以在不关闭 Linux服务器的情况下将其关闭。这意味着“最后状态”再次打开服务器,这时它将打开所有Windows服务器。长期备用电池与这里完全相反。
Michael Lowman

migabi提到的WoL解决方案如何?
jftuga 2011年

他们是同一想法。“打开所有Windows服务器”是通过WoL完成的;您不会因为要关闭电源的方式而使“ WoL盒子”保持打开状态(即,使最后一个状态仍然有效)
Michael Lowman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.