在 中,实现屏障的是 STONITH。它提供节点级别屏障。High Availability Extension 包括 stonith 命令行工具,一个能远程关闭群集中节点的可扩展界面。有关可用选项的概述,请运行 stonith --help 或参见 stonith 的手册页了解更多信息。
要使用节点级别屏障,首先需要有屏障设备。要获取 High Availability Extension 支持的 STONITH 设备的列表,请以 root 在任何节点上运行以下命令:
stonith -L
STONITH 设备可分为以下类别:
电源分发单元是管理关键网络、服务器和数据中心设备的电源容量和功能的基本元素。它可以提供对已连接设备的远程负载监视和独立电源出口控制,以实现远程电源循环。
通过在公共用电不可用时从独立源供电,不间断电源为已连接设备提供紧急电源。
如果是在刀片组上运行群集,则刀片外壳中的电源控制设备就是提供屏障的唯一候选。当然,此设备必须能够管理单个刀片计算机。
无人值守设备(IBM RSA、HP iLO、Dell DRAC)正变得越来越通用,将来甚至可能成为现成计算机的标准设备。然而,它们相比 UPS 设备有一点不足,因为它们与主机(群集节点)共享一个电源。如果节点没有电源,则设想为控制节点的设备就等于没用。在那种情况下,CRM 屏障节点的尝试将是徒劳,而此情况将一直继续,因为所有其他资源操作将等待屏障/STONITH 操作成功完成。
测试设备仅用于测试目的。它们通常对硬件更加友好。一旦群集进入生产阶段,它们必须替换为真实的屏障设备。
对 STONITH 设备的选择主要取决于您的预算和所用硬件的种类。
的 STONITH 实现由两个组件组成:
stonithd 是一个守护程序,可以由本地进程或通过网络访问。它接受与屏障操作相应的命令:重设置、关闭电源和打开电源。它还可以检查屏障设备的状态。
stonithd 守护程序在 CRM HA 群集中的每个节点上运行。在 DC 节点上运行的 stonithd 实例从 CRM 接收屏障请求。它会对请求作出响应,其他 stonithd 程序将执行所需的屏障操作。
对于每个受支持的屏障设备,都有一个能够控制此设备的 STONITH 插件。STONITH 插件是屏障设备的界面。所有 STONITH 插件都位于每个节点上的 /usr/lib/stonith/plugins 中。所有 STONITH 插件看上去都与 stonithd 一样,但显著区别在于反映了屏障设备的性质。
某些插件支持多个设备。ipmilan(或 external/ipmi)就是一个典型的示例,它实施 IPMI 协议并可以控制任何支持此协议的设备。