C-O*_*tto 5 hardware ipmi high-availability electrical-power ilo
我想使用 corosync/pacemaker/drbd 设置一个两节点的高可用性集群。为此,当然,我需要击剑。据我所知,所有 IPMI/iLO/... 解决方案都可以完成这项工作,但前提是机箱有电。在节点 B 断电的情况下,节点 A 没有任何机会对节点 B 使用 STONITH。
什么样的硬件可以解决这个问题?是否有(标准机架)服务器提供 IPMI/iLO/... 使用电池运行的硬件?我应该使用联网的 UPS 吗?
据我所知,没有标准的硬件(或软件)解决方案。
如果它不在那里,你就不能射击头部的另一个节点。
您可以通过多种不同的方式来处理这个问题——我建议的一种方法是使用智能 PDU——作为最后的手段,当没有其他 STONITH 技术工作命令其电源插座“关闭”并且您不必担心它回来时直到有人再次命令“打开”电源。(这实际上只是为了防止有人不小心拉扯电源线......)
类似的解决方案也可以使用托管交换机关闭机器所连接的端口,或将它们放入“固定器”VLAN,以便您可以连接到那里的盒子并准备好重新加入集群。
上述两种想法都依赖于您的数据中心的供电和连接(PDU、交换机等都需要工作,并且需要存在连接性,以便您可以向基础设施设备发送命令)。
如果您不能依赖电源,一个经典的解决方案是将您的服务器配置为在断电后不自动开机(IPMI/iLO/等在机箱通电时仍会出现,因此您可以稍后将其作为手动步骤,可能在如上所述隔离其网络端口之后)。
这避免了“坏”节点重新上线,但会向过程添加手动(或自动)步骤。
如果您的问题是连接性而不是电源,那么您将面临一个更困难的问题 - 断开连接的节点需要向自己的头部开枪。(这个问题就是为什么我的集群配置不会自动重新激活失败的成员:当一个盒子出现故障并返回时,它处于部分在线状态并等待我告诉它重新加入。这是一个手动步骤,但它是一个这不应该以任何频率发生。)
您可以配置基于 iLO/IPMI 的防护,然后使用例如 fence_apc 防护代理和 APC 电源开关作为辅助防护设备。这样,如果服务器断电,辅助防护代理仍然能够以对集群有意义的方式阻止服务器。
就像这里描述的那样:
一个节点可以有多种围栏方法,每个围栏方法可以有多个围栏设备。
设置多种围栏方法以实现冗余/保险。例如,您可能正在对群集中的节点使用底板管理防护方法,例如 IPMI、iLO、RSA 或 DRAC。所有这些都依赖于网络连接。如果此连接失败,则无法进行防护,因此作为备用防护方法,您可以声明第二种防护方法,该方法使用电源开关或类似设备来防护节点。如果第一种方法无法隔离节点,则将采用第二种隔离方法。
您还可以考虑添加fence_manual作为辅助防护代理,这样您就可以随时恢复集群,但当然需要手动干预。