如果根文件系统不工作,有什么方法可以通过 SSH 重新启动 Linux 机器吗?

如果根文件系统不工作,有什么方法可以通过 SSH 重新启动 Linux 机器吗?

只是出于好奇; Linux 机器出了问题,导致根文件系统显示为“64Z”。一些命令可以工作,例如topdfkill,但其他命令reboot会出现“找不到命令”(因为它无法读取根文件系统),并chmod出现分段错误。

有没有什么方法可以重新启动系统,即无需程序reboot?我尝试过kill -PWR 1(向 init 发送 SIGPWR),但这似乎没有做任何事情。

这主要是一种学术好奇心。正在做任何导致故障的大型数据库工作的实验室伙伴很快就会物理地重新启动机器。

答案1

尝试使用 magic sysrq 键重新启动:

echo b > /proc/sysrq-trigger

欲了解更多信息,请阅读维基百科或者内核文档

答案2

RAC(远程访问卡)或 iLO(集成熄灯)或 MP(管理处理器)将为您提供重置服务器的方法。

例如,如果您有带有 RAC 卡(称为 DRAC)的 Dell PowerEdge,您可以通过 ssh 重新启动服务器:

ssh drac "racadm serveraction powercycle"

另一种选择是使用 RAC/iLO 的 Web-GUI 并在那里执行相同的操作。

这些东西也有一个开放标准:IPMI。

答案3

比 @Rush 的回答更有趣的是,即使系统根本不响应键盘,也能够重新启动(以及更多)系统。但它必须响应 ping (ICMP) 数据包。

这里有关如何实施的完整文档和说明。

答案4

这需要事先设置,但如果您习惯于使机器崩溃(例如,因为您正在其上进行低级开发),您可能需要设置一个看门狗,即内核或用户任务在无响应时自动重新启动。Linux如果您的主板有看门狗,则可以使用硬件看门狗,否则可以使用软件看门狗。

相关内容