10.14. 配置 ACPI 以用于集成的隔离设备
如果您的集群使用集成的隔离设备,必须配置 ACPI(高级配置和电源界面)以保证迅速和完全的隔离。
如果将集群节点配置为使用集成的隔离设备保护,则为该节点禁用 ACPI Soft-Off。禁用 ACPI Soft-Off 可让集成的隔离设备立即完全关闭节点,而不是尝试彻底关闭(例如,现在的 shutdown -h
)。否则,如果启用了 ACPI Soft-Off,集成的隔离设备可能需要 4 秒以上的时间来关闭节点(请参阅下面的备注)。另外,如果启用了 ACPI Soft-Off,且在关闭过程中有一个节点 panic 或停滞,则集成的保护设备可能无法关闭该节点。在这些情况下,隔离会被延迟或者失败。因此,当使用集成隔离设备隔离节点并启用 ACPI Soft-Off时,集群恢复会很慢,或者需要管理员进行干预才能恢复。
保护节点所需时间取决于所使用的集成的保护设备。有些集成的保护设备性能与按住电源按钮相当,因此隔离设备可在 4-5 秒内关闭该节点。其他集成的隔离设备性能与按电源开关一致,依靠操作系统关闭该节点,因此隔离设备关闭该节点的时间要大大超过 4-5 秒。
- 禁用 ACPI Soft-Off 的首选方法是将 BIOS 设置更改为"instant-off"或无延迟关闭该节点的对等设置,如以下"Disabling ACPI Soft-Off"中所述。
使用 BIOS 禁用 ACPI Soft-Off 可能不适用于某些系统。如果无法使用 BIOS 禁用 ACPI Soft-Off,您可以使用以下备选方法之一禁用 ACPI Soft-Off:
-
在
/etc/systemd/logind.conf
文件中设置HandlePowerKey=ignore
,并验证隔离时节点是否立即关闭,如下所述。这是禁用 ACPI Soft-Off 的第一个替代方法。 在内核引导命令行中附加
acpi=off
,如下面的 GRUB 2 文件中"完全显示 ACPI"所述。这是禁用 ACPI Soft-Off 的第二个替代方法,如果首选方法或第一个替代方法不可用。重要这个方法可完全禁用 ACPI。当 ACPI 被完全禁用时,以下计算机可能无法正确引导。只有在其他方法无法在您的集群中使用时,才使用这个方法。
10.14.1. 使用 BIOS 禁用 ACPI Soft-Off
您可以按照以下步骤配置每个集群节点的 BIOS 来禁用 ACPI Soft-Off。
使用 BIOS 禁用 ACPI Soft-Off 的步骤可能因服务器系统而异。您应该在您的硬件文档中验证此步骤。
流程
-
重新引导节点并启动
BIOS CMOS 设置实用程序
程序。 - 进入 Power 菜单(或者对等的电源管理菜单)。
在 Power 菜单中,将
PWR-BTTN
功能(或等效)的 Soft-Off 设置为 Instant-Off
(或者使用电源按钮无延迟关闭节点的对等设置)。下面的BIOS CMOS 设置实用程序示例
显示了一个 Power 菜单,并将ACPI 功能
设置为Enabled
,而 PWR-BTTN
设置为Instant-Off
。注意与
ACPI Function
、Soft-Off by PWR-BTTN
和Instant-Off
等效的功能可能因计算机而异。但这个过程的目的是配置 BIOS,以便计算机能无延迟地关闭电源按钮。-
退出
BIOS CMOS 设置实用程序
程序,保存 BIOS 配置。 - 验证在隔离时该节点是否立即关闭。有关测试隔离设备的详情,请参考 测试隔离设备。
BIOS CMOS 设置实用程序
:
`Soft-Off by PWR-BTTN` set to `Instant-Off`
+---------------------------------------------|-------------------+ | ACPI Function [Enabled] | Item Help | | ACPI Suspend Type [S1(POS)] |-------------------| | x Run VGABIOS if S3 Resume Auto | Menu Level * | | Suspend Mode [Disabled] | | | HDD Power Down [Disabled] | | | Soft-Off by PWR-BTTN [Instant-Off | | | CPU THRM-Throttling [50.0%] | | | Wake-Up by PCI card [Enabled] | | | Power On by Ring [Enabled] | | | Wake Up On LAN [Enabled] | | | x USB KB Wake-Up From S3 Disabled | | | Resume by Alarm [Disabled] | | | x Date(of Month) Alarm 0 | | | x Time(hh:mm:ss) Alarm 0 : 0 : | | | POWER ON Function [BUTTON ONLY | | | x KB Power ON Password Enter | | | x Hot Key Power ON Ctrl-F1 | | | | | | | | +---------------------------------------------|-------------------+
本例演示了 ACPI Function
设置为 Enabled
,Soft-Off by PWR-BTTN
设置为 Instant-Off
。
10.14.2. 在 logind.conf 文件中禁用 ACPI Soft-Off
要禁用 /etc/systemd/logind.conf
文件中的 power-key 握手,请使用以下步骤。
流程
在
/etc/systemd/logind.conf
文件中定义以下配置:HandlePowerKey=ignore
重启
systemd-logind
服务:# systemctl restart systemd-logind.service
- 验证在隔离时该节点是否立即关闭。有关测试隔离设备的详情,请参考 测试隔离设备。
10.14.3. 在 GRUB 2 文件中完全禁用 ACPI
您可以通过在内核的 GRUB 菜单条目中添加 acpi=off
来禁用 ACPI Soft-Off。
这个方法可完全禁用 ACPI。当 ACPI 被完全禁用时,以下计算机可能无法正确引导。只有在其他方法无法在您的集群中使用时,才使用这个方法。
流程
在 GRUB 2 文件中使用以下步骤禁用 ACPI:
将
--args
选项与grubby
工具的 --update-kernel
选项结合使用,以更改每个群集节点的grub.cfg
文件,如下所示:# grubby --args=acpi=off --update-kernel=ALL
- 重新引导节点。
- 验证在隔离时该节点是否立即关闭。有关测试隔离设备的详情,请参考 测试隔离设备。