實際生產環境中某些狀況下 Linux 服務器系統在出現致命錯誤須要遠程進行重啓,經過常規的 reboot、init 6 等方法沒法正常重啓(例如重啓時卡在驅動程序裏等狀況),這時就須要經過下面介紹的幾種特殊的方法進行強制重啓。注意這些強制重啓的方法都是直接跳過 umount 文件系統及 sync 等操做,可能致使數據損壞,不在特殊狀況下請勿使用,固然這些都是 root 超級用戶纔有權限的哦。服務器
一、reboot 命令:ide
直接經過運行 reboot -nf 命令,這樣重啓時能夠指定跳過 init 的處理和 sync 操做,這樣能夠避免大多數狀況下的問題。工具
二、magic SysRq key 方法:spa
magic SysRq key 經過 proc 接口提供用戶直接發底層命令給 kernel 的功能,能夠實現關機、重啓、宕機等操做,Linux kernel 須要開啓 CONFIG_MAGIC_SYSRQ 才能夠支持 magic SysRq key。日誌
運行下面兩條命令就能夠直接強制重啓系統:orm
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger接口
相應的直接強制關機的命令:ip
echo 1 > /proc/sys/kernel/sysrq
echo o > /proc/sysrq-triggerit
三、watchdog 方法:class
若是 Linux kernel 未開啓 magic SysRq key 或者不起做用,能夠嘗試使用 watchdog 重啓方法。watchdog 經過監控數據輸入是否正常能夠實如今系統出現異常時自動重啓系統,這裏咱們恰好能夠借用的。
首先須要加載 watchdog 支持,這個和主板硬件設備有關,若是隻須要軟件模擬的,能夠運行:
modprobe softdog
命令加載軟件 watchdog 支持,接着再運行:
cat /dev/watchdog
命令,該命令會立刻退出並報錯,同時系統日誌中就會提示:
softdog: Unexpected close, not stopping watchdog!
這就表示 watchdog 設備是被意外關閉的而不是正常中止的,大約等待 60 秒以後你就會發現 Linux 系統自動重啓了。Linux watchdog 的異常等待時間是經過 /proc/sys/kernel/watchdog_thresh 設置的,通常默認爲 60 秒。
四、IPMI 方法:
上面幾種方法都不能用?若是你的主板恰好支持 IPMI 管理接口的話,那能夠直接經過 IPMI 實現硬件上的強制關機或重啓。
首先加載 IPMI 支持:
modprobe ipmi_msghandler ipmi_devintf ipmi_si
確認 IPMI 設備是否已找到:
ls -l /dev/ipmi*
若是輸出正常的話表示 IPMI 被正確加載了,接着安裝 ipmitool 這個管理工具。ipmitool 能夠經過 IPMI 接口完成對本機或遠程主機的一系列管理操做。
這裏咱們就用直接電源管理的,重啓系統:
ipmitool power reset
運行完成後主機就會立刻重啓,相應的關閉主機能夠運行:
ipmitool power off
ipmitool 還能夠實如今系統未啓動時遠程查看監控主板硬件狀態等功能,在 IPMI 可用的狀況下 ipmitool 仍是比較方便好用的。