我想使用corosync / pacemaker / drbd设置两节点高可用性群集。 为此,我需要击剑。 据我所知,所有IPMI / iLO / …解决scheme都可以完成这项工作,但只要机箱有电源。 在节点B断电的情况下,节点A对节点B没有任何使用STONITH的机会。
什么样的硬件解决了这个问题? 是否有(标准机架)服务器提供IPMI / iLO / …硬件在电池上运行? 我应该使用networking连接的UPS吗?
您可以configuration基于iLO / IPMI的防护,然后使用带有APC电源开关的fence_apc防护代理作为辅助防护设备。 这样,如果服务器断电,那么辅助防护代理仍然能够以对集群有意义的方式对服务器执行STONITH操作。
就像这里描述的
一个节点可以有多个fence方法,每个fence方法可以有多个fence设备。
多种围栏方法被设置为冗余/保险。 例如,您可能正在为集群中的某个节点(如IPMI或iLO或RSA或DRAC)使用基板pipe理防护方法。 所有这些都取决于networking连接。 如果此连接失败,则防护不会发生,因此作为备用防护方法,您可以声明第二种防护方法,即使用电源开关或某些方法来隔离节点。 如果第一种方法未能篱笆节点,则将采用第二种篱笆方法。
您还可以考虑将fence_manual添加为辅助防护代理,这样您可以随时恢复群集,但当然需要手动干预。
据我所知,没有标准的硬件(或软件)解决scheme。
如果不在那里,则不能在头部拍摄其他节点。
您可以通过多种不同的方式来处理这个问题 – 我build议使用一种智能PDU – 当没有其他的STONITH技术工作时,作为最后的手段,它的电源sockets“closures”,您不必担心它会回来直到有人再次指挥权力“开”。 (这实际上只是防止别人不小心拉动电源线的保护措施)
也可以使用托pipe交换机closures机器所连接的端口,或者将它们放入“修复程序”VLAN中,以便您可以连接到该设备并准备好重新join群集。
上述两个想法都依赖于您的数据中心通电和连接(PDU,交换机等都需要工作,连接需要存在,以便您可以发送命令到基础设施设备)。
如果您不能依靠电源,一个经典的解决scheme是configuration您的服务器不会在电源故障后自动启动(当机箱通电时,IPMI / iLO等仍然会出现,所以您可以稍后将其作为手动步骤,也许在隔离它的networking端口之后如上所述)。
这避免了一个“坏”的节点重新联机,但却为过程添加了手动(或自动)的步骤。
如果你的问题是连通性而不是电源,那么你就会遇到一个更难的问题 – 断开连接的节点需要自己开枪。 (这个问题就是为什么我的集群configuration不能自动重新激活一个失败的成员:当一个盒子失败并返回时,它就处于部分联机状态,并等待我告诉它重新join。这是一个手动步骤,但它是一个不应该有任何频率发生。)