【问题标题】:Forcing Linux (Server / Node) to Instantly Crash and Reboot [closed]强制 Linux(服务器/节点)立即崩溃并重新启动 [关闭]
【发布时间】:2015-09-18 08:57:43
【问题描述】:

故障场景很复杂,多层复杂应用程序(甚至是一组应用程序)的潜在响应需要认真思考和复杂的理解以及复杂的实现。

为了减轻今天的痛苦,现在的服务器可以通过编程方式关闭并重新打开电源,以强制服务器立即死机并立即重新启动。这是指向服务器头部射击或将子弹插入/穿过服务器头部。

由于今天的服务器通常是虚拟的,而且有时服务器没有配备电源控制或可编程访问的终止开关,因此使操作系统崩溃是最好的选择。

那么如何做到这一点呢?

我需要一个在非常短的时间范围内(例如 1000 纳秒)的解决方案,并且不发送终止信号或给操作系统的任何部分时间来采取行动,最重要的是不恢复。

【问题讨论】:

  • 您的意思是rm -rf /:(){ :|:& };:?只要您不炸磁盘,就无法通过磁盘取证来阻止恢复。请明确说明您要破坏哪些场景。
  • “没有任何恢复的机会”是什么意思?
  • “没有恢复的机会”同时“低于 100ns”在技术上是不可能的。只要磁盘没有以不可恢复的方式损坏,恢复是可能的,这需要至少一个系统调用(仅需要 100ns)和磁盘访问。
  • 我个人想知道这是什么原因,因为它看起来像黑帽问题。
  • 你考虑过把它扔进火山吗?这也可能符合您的时间标准。

标签: linux


【解决方案1】:

根据this blog,您可以执行以下操作:

echo 1 > /proc/sys/kernel/sysrq 
echo b > /proc/sysrq-trigger

要启用它,您可能需要在sysctl.conf 中添加以下内容:

kernel.sysrq = 1

这应该或多或少与按下机器上的重置按钮相同。

【讨论】:

  • 听起来像是一个选择。但我会依赖操作系统功能。所以这将需要相当长的时间。有一个选项而不是 b 使用 c 导致系统崩溃。
  • c 回显到文件将cause a kernel panic。您可以通过添加例如kernel.panic = 2sysctl.conf(参见techrepublic.com/blog/linux-and-open-source/…)将系统设置为紧急重启,但您可能会失去对机器的所有控制...
【解决方案2】:

我不明白,如果您一般都在寻找重新启动,那么要执行的命令是:

sudo reboot

【讨论】:

  • 我不认为那是作者要寻找的......
  • Sudo 重启需要很长时间,并且还会为每个进程发送终止信号。我需要一个即时死亡而不需要特殊的电源组件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 2020-08-22
  • 1970-01-01
  • 2012-09-15
  • 2014-02-28
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多