我以低成本的托管服务租用了一台专用服务器(带有 Intel Haswell CPU 和定制硬件),并将它与 CentOS 6.4 / 64 位 Linux(带有股票内核:2.6.32-358.14.1.el6.x86_64)一起使用。
每隔几周它就会挂起,其他客户似乎也有类似的问题。
在dmesg
我看到的输出中(这里是完整的 dmesg 输出):
CPU0: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz stepping 03
....
NMI watchdog enabled, takes one hw-pmu counter.
....
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.07rh
iTCO_wdt: Found a Lynx Point TCO device (Version=2, TCOBASE=0x1860)
iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
在进程列表中我看到:
# ps uawwwx|grep [w]atchdog
root 6 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/0]
root 10 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/1]
root 14 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/2]
root 18 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/3]
root 22 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/4]
root 26 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/5]
root 30 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/6]
root 34 0.0 0.0 0 0 ? S Aug22 0:00 [watchdog/7]
这是否意味着,硬件看门狗已经在我的服务器上处于活动状态,并且会在冻结后 30 秒内重新启动我的机器?
(在我放的 /etc/sysctl.conf 中kernel.panic=10
,这样它就不会再卡在 kdb 控制台中了)。
还是我必须安装并启动 CentOS 软件包watchdog
?
好吧,这里有几个问题需要解决......
服务器挂起时会发生什么?屏幕上有什么?日志中有什么?您是否必须与托管服务提供商合作才能重新启动?您可以自己执行重置吗?
您的服务器不应挂起、停止或崩溃!!在使用低端、DIY 或定制硬件的环境中工作过,我了解服务提供商的目标是降低成本。但是,如果存在稳定性问题,则提供商有责任修复这些问题。搭建一个稳定的Linux服务器平台并不难。然而,它比它应该发生的频率更高。如果硬件/软件/操作系统/固件的组合是有毒的,那是一个不好的迹象。提供商的运营规模应该能够在问题影响多个客户之前了解问题。
您的硬件是否有 IPMI 设备?您有 IPMI 访问权限吗?通常,看门狗是带外管理设备的一部分。例如,HP ProLiant 服务器具有自动服务器恢复 (ASR)功能集来处理此问题。
您的系统检测到的设备是正在使用的英特尔芯片组的一部分。所以从技术上讲,有一个看门狗设备,并且有通用的内核支持(看起来它在 CentOSPlus 内核中,而不是你拥有的那个)。但是,看门狗包可以作为软件级看门狗提供帮助,在您可能拥有的硬件挂钩之外。
但同样,你在这里治疗症状。找到根本原因很重要。如果其他客户遇到这些问题,您都需要与服务提供商一起解决。
Linux 有一个通用的看门狗接口。您可以通过启用iTCO_wdt 硬件支持的 NMI 看门狗或安装和配置不依赖于硬件的软件看门狗来使用它。
中央操作系统
在 Ubuntu 上
然后...
当然你应该知道,在 VIM 中,冒号 (:) 按钮打开菜单(或者更确切地说是命令行), w 告诉它写下你的更改,或者 w! 强制它,然后 q 退出。(您也可以使用旧的 ZX Spectrum 光标键 - hjkl 移动,字母 d 删除和 i 插入,escape 停止插入。)
取消注释:
看
更多……当你完成时……
是的,这些进程与看门狗有关,但除非它们配置正确,否则它们只是坐在那里无所事事。
这应该可以帮助您应对将随机锁定变成随机重启的不可靠电源。
你可以用
如果它仍然不起作用,您可能需要多出一点汗并找出您的平台支持的驱动程序。
就个人而言,会尝试单独加载和测试每个看门狗定时器模块,使用类似这样的东西,在 shell 中以 root 身份运行:
如果它只是通过,没有延迟......那么似乎没有一个模块可以工作。如果您的 PC 重新启动,则在启动时:
尾 -1 /var/log/watchdog-test.log
将显示一个可能的候选人...现在确保您的服务器加载它...
Ubuntu 似乎使用了您在此处记下的模块:
我没有测试过这个。如果你这样做,来更新这个答案。待办事项 这是 SuSe 的提示:https ://www.suse.com/support/kb/doc?id=7016880和 Ubuntu:https ://github.com/miniwark/miniwark-howtos/wiki/Hardware-Watchdog- Timer-setup-on-Ubuntu-12.04 http://odroid.com/dokuwiki/doku.php?id=en:odroid_linux_watchdog