如何配置UPS以正确的顺序重启服务器?


12

这里我们有一些服务器,几乎每个服务器都有专用的UPS。它们之间存在依赖关系,因此必须以正确的顺序打开它们。最终,我们在电源方面遇到了严重的问题,因此,在关闭电源后,服务器将关闭,然后以随机顺序重新启动。如果服务器在停电期间关闭,这不是问题,重要的是它们一旦恢复电源就可以正常工作而无需任何人工干预。

我们的UPS非常便​​宜,对我的目标有用的唯一配置参数是power the load xx seconds after power is restored。从理论上讲,可以在每个UPS上设置正确的延迟,但是我可以确定服务器重新启动的顺序,但是我不相信UPS会按预期运行。

这是正确的方法吗?
高级UPS是否提供其他选项来修复重新启动顺序?
最后一点:我的Ups在1000-2200 VA范围内


1
这是提供的好处之一systemd-在启动过程中定义适当的依赖项的能力。等待,直到服务X可以尝试启动服务之前Y.
MSalters

1
@MSalters AFAIK systemd依赖管理仅在单元由同一systemd实例处理而不适用于在完全不同的服务器上运行的服务
时才有效

1
@HBruijn:诸如网络安装之类的跨服务器工作。也就是说,如果服务器1挂载了由服务器2托管的文件系统,则取决于挂载的服务1的服务将暂停,直到服务器2启动这些服务为止。而且IIRC,您还可以让服务器等待DHCP(不要问我为什么服务器使用DHCP,但这是在答案中提到的)
MSalters

Answers:


25

对此的标准答案是“一点也不”。修复软件以随机顺序处理重启。如果您确实确实需要先启动某些服务器(例如:Active Directory),则将它们放在USV上,这些USV可能会存活很多时间。基于低功耗原子的服务器足以作为Active Directory控制器,并且在小型USV上可以存活一天。

高级UPS是否提供其他选项来修复重新启动顺序?

不。我要说的是,通常假设程序员有足够的能力来适当地解决此问题。

您可以做的是:

  • 让服务器“随机”启动。除了DHCP / Active Directory外,没有什么真正需要无法解决的订单。
  • 在一段时间(5分钟)后,让控制服务器以正确的顺序启动各台机器上的服务。

我会说这种设置更为常见。我将要求服务器按特定顺序启动(纯基础结构之外)的任何软件称为损坏和不适合业务的软件。

只需注意:我们自己的设置是为服务器提供20kva USV的低成本(因为我们只用了一个,所以成本很低),从属2000VA USV则作为一台用作网络(和备用计算机)“根”的计算机。Slaved表示USV落后于大型电池-因此,只有在大型电池(持续时间为半小时至8个小时,具体取决于我们的计算网格有多少在线)进入终端关闭时,它才会切换到电池。


2
我认为这有时说起来容易做起来难(正如您所说,AD是一个明显的例子),但我同意。正确的解决方案是消除服务器或服务的启动顺序之类的依赖性。如果没有其他问题,例如,应该可以在Web应用程序上编写代码,写上“如果我无法连接到后端,请“睡眠”,然后稍后重试,而不是严重崩溃”。
罗伯·摩尔

AD的问题甚至都不是AD-主要是IPv4 DHCP,它不适合在dhcp服务器之前处于联机状态的计算机使用。ipv6处理此问题;)
TomTom,2013年

确实如此。IPv4令人痛苦……我仍然让人们在这里问我,为什么我们要打扰“这种新奇的IPv6垃圾”。
罗伯·摩尔

1
“通常假定程序员有足够的能力解决该问题” –您不得做太多编程!不,实际上,有很多原因可能需要按照特定顺序启动系统。是的,软件应该“正常失败”并重试断开的连接,但这并不总是可能的。我记得,有些不错的PDU可以启动/停止各个端口,因此也许可以在其中做些事情。
SnakeDoc '16

1
我必须搜索“ USV”并找到“无人水面载具”。我知道这是错误的,但我希望它是正确的。
Braiam

14

受管配电单元(而不是UPS)通常在恢复电源后确实支持在启用单个插座时的自定义延迟。

通常,这是为了防止在充满电源的机柜在恢复电源后立即同时打开电源时,断路器跳闸,但是这也可以用于保留系统相关性的启动顺序。


是的,正确。这是高级功能,不假定USV实际上已连接到服务器-而是为机架供电,然后使用PDU来处理详细信息。
TomTom

6

我有这个确切的问题。唯一的不同是我们投资了坚固的机架式APC电源装置(例如APC SmartUPS 3000)。使用APC PowerChute网络关闭软件(PowerChute网络关闭软件),我可以按照特定顺序关闭和启动服务器。该软件的另一个方便功能是将服务器设置为在最后一分钟关闭,即计算APC单元剩余的电池电量,并以足够的时间关闭服务器,以使其正常关闭而不是仅关闭电源。

该软件...不是用户友好的,但是如果您花一些时间弄清楚它并不难。如果您有兴趣在基础架构上进行更多投资,那么这绝对是您的最佳选择。


1
我们也有Apc Smart Ups,其中一些相对较旧,也许电池电量较弱。由于它们正在生产中,因此很难对其进行测试。除了我们没有任何异常负载之外,我的意思是可以承受突然断电而没有问题的负载。就是说,每次我模拟停电时,UPS的行为都与预期不同,这可能是由于配置错误所致,但我的感觉是这些UPS并非十分可靠。
Filippo

@Filippo当然是YMMV,但我使用PowerChute软件在多个站点上混合使用SmartUPS 3000和3000XLM进行了3年,在弄清楚该软件之后,肯定有一个学习曲线并且需要进行一些测试,它非常可靠。
Winski Tech

2

听起来,UPS装置是低成本的,并且在恢复电源后无法针对特定的输出接通等待时间进行配置(某些高端装置是这样)。为了获得相同的功能,您需要选择一台特定的主机以始终立即打开电源(可能允许任何系统在任何时间引导),并使所有其他服务器处于关闭状态(在BIOS中配置为恢复供电)施加AC时关闭电源,并纪念Wake On Lan魔术包在提示时打开电源)。然后,在启动的主主机上,运行脚本/实用程序以计时WOL魔术包到每个主机的传输。

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.