Linux系统停止后执行命令的最佳方式

Luk*_*che 3 linux electrical-power dell-poweredge halt ipmitool

问题: 我们服务器中的 SSD 需要在固件更新后重启(即关闭/打开,而不是重置/热重启)。

想法: 使用“ipmitool机箱电源循环”我可以循环服务器的电源。但是,这会在系统仍在运行、安装文件系统等时切断电源。

我基本上想要的是延迟电源循环,以便系统有机会停止。但我想这必须在服务器的 IPMI 板上实现,所以这不是一个真正的选择。

我最初的想法是动态创建一个包含工具和库的 ramdisk,并以某种方式将其集成到暂停过程中。我看到有一个 /etc/init.d/halt,所以这将是我的起点。虽然我相信内核在关闭过程中的某个时刻开始杀死剩余的进程。所以我什至不确定这是否是一种可行的方法。

问题: 在系统停止并卸载所有常规文件系统后,执行 ipmitool(或任何其他命令)的最佳方法是什么?

Ala*_*ack 7

我会把它降到单用户模式,卸载任何非操作系统文件系统并将任何现有的文件系统重新安装为只读。然后运行您的固件更新工具和“ipmitool 机箱电源循环”。

它不漂亮也不聪明,但应该足够安全