问题: 我们服务器中的 SSD 在固件更新后需要重启(即关闭/打开,而不是重置/热重启)。
想法: 使用“ipmitool chassis power cycle”我可以循环服务器的电源。然而,这会在系统仍在运行、文件系统已挂载等时切断电源。
我基本上想要的是延迟电源循环,以便系统有机会停止。但我想这必须在服务器的 IPMI 板上实现,所以这不是一个真正的选择。
我最初的想法是动态创建一个包含工具和库的虚拟磁盘,并以某种方式将其集成到暂停过程中。我看到有一个 /etc/init.d/halt,所以那将是我的起点。尽管我相信内核在关闭过程中的某个时刻开始杀死剩余的进程。所以我什至不确定这是否可行。
问题: 在系统停止并卸载所有常规文件系统后,执行 ipmitool(或任何其他命令)的最佳方式是什么?
我会把它降到单用户模式,卸载任何非操作系统文件系统并将任何现有文件系统重新挂载为只读。然后运行您的固件更新工具和“ipmitool chassis power cycle”。
它不漂亮也不聪明,但应该足够安全
做正常的全关机和断电;数到十,然后使用局域网唤醒或 BMC 的 IMPI(戴尔的 DRAC?)重新启动机器。如果您想将其完全保留在机器本地,某些 BIOS 将允许您通过 ACPI 指定唤醒/开机时间 - 请参阅http://www.mythtv.org/wiki/ACPI_Wakeup。例如,将上电时间设置为(现在)+(正常关机持续时间)+(一个小的安全裕度),然后运行关机。
我不知道服务器级硬件是否真的可以做到这一点——如果您尝试了,请告诉我们。
你在找看门狗。由您的软件激活的计时器,如果计时器在未刷新的情况下到期,则会重置计算机。为此,您需要一个带有支持定时器的 BIOS 来打开机器,一个外部 IPMI 管理器,或者 IPMI 电源循环支持直接在您的机器上工作。
首先,查看IPMI 实用程序,其中还包括具有“电源循环”重置功能的工具。
如果您可以将看门狗定时器设置为活动状态,则建立一个运行级别来启动具有硬件断电超时功能的定时器。shutdown-without-ACPI-off 运行级别的最后一个效果应该是终止计时器更新进程。
在启动时(而不是关闭时)。
使用网络引导。
您需要重启物理驱动器,所以我建议您重新启动机器,告诉它从网络启动,完成后,重启驱动器,然后从驱动器重启。