AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 533793
Accepted
Alexander Farber
Alexander Farber
Asked: 2013-08-27 04:06:03 +0800 CST2013-08-27 04:06:03 +0800 CST 2013-08-27 04:06:03 +0800 CST

我的 CentOS 服务器上是否已经有一个硬件看门狗处于活动状态?

  • 772

我以低成本的托管服务租用了一台专用服务器(带有 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?

linux
  • 3 3 个回答
  • 18435 Views

3 个回答

  • Voted
  1. ewwhite
    2013-09-08T02:19:17+08:002013-09-08T02:19:17+08:00

    好吧,这里有几个问题需要解决......

    • 服务器挂起时会发生什么?屏幕上有什么?日志中有什么?您是否必须与托管服务提供商合作才能重新启动?您可以自己执行重置吗?

    • 您的服务器不应挂起、停止或崩溃!!在使用低端、DIY 或定制硬件的环境中工作过,我了解服务提供商的目标是降低成本。但是,如果存在稳定性问题,则提供商有责任修复这些问题。搭建一个稳定的Linux服务器平台并不难。然而,它比它应该发生的频率更高。如果硬件/软件/操作系统/固件的组合是有毒的,那是一个不好的迹象。提供商的运营规模应该能够在问题影响多个客户之前了解问题。

    • 您的硬件是否有 IPMI 设备?您有 IPMI 访问权限吗?通常,看门狗是带外管理设备的一部分。例如,HP ProLiant 服务器具有自动服务器恢复 (ASR)功能集来处理此问题。

    • 您的系统检测到的设备是正在使用的英特尔芯片组的一部分。所以从技术上讲,有一个看门狗设备,并且有通用的内核支持(看起来它在 CentOSPlus 内核中,而不是你拥有的那个)。但是,看门狗包可以作为软件级看门狗提供帮助,在您可能拥有的硬件挂钩之外。

    但同样,你在这里治疗症状。找到根本原因很重要。如果其他客户遇到这些问题,您都需要与服务提供商一起解决。

    • 9
  2. Best Answer
    sciurus
    2013-09-08T08:35:53+08:002013-09-08T08:35:53+08:00

    Linux 有一个通用的看门狗接口。您可以通过启用iTCO_wdt 硬件支持的 NMI 看门狗或安装和配置不依赖于硬件的软件看门狗来使用它。

    • 7
  3. Dagelf
    2016-06-23T13:28:16+08:002016-06-23T13:28:16+08:00

    中央操作系统

    yum install watchdog
    

    在 Ubuntu 上

    apt-get install watchdog
    #optional
    #apt-get install das-watchdog
    

    然后...

    sudo vi /etc/watchdog.conf
    

    当然你应该知道,在 VIM 中,冒号 (:) 按钮打开菜单(或者更确切地说是命令行), w 告诉它写下你的更改,或者 w! 强制它,然后 q 退出。(您也可以使用旧的 ZX Spectrum 光标键 - hjkl 移动,字母 d 删除和 i 插入,escape 停止插入。)

    取消注释:

     watchdog-device = /dev/watchdog
    

    看

     man watchdog.conf
    

    更多……当你完成时……

    service watchdog restart
    

    是的,这些进程与看门狗有关,但除非它们配置正确,否则它们只是坐在那里无所事事。

    这应该可以帮助您应对将随机锁定变成随机重启的不可靠电源。

    你可以用

    echo *todo* placeholder while I test how to test it, in case I reboot...
    

    如果它仍然不起作用,您可能需要多出一点汗并找出您的平台支持的驱动程序。

    就个人而言,会尝试单独加载和测试每个看门狗定时器模块,使用类似这样的东西,在 shell 中以 root 身份运行:

    echo "Testing default... " | tee -a /var/log/watchdog-test.log; sync
    service watchdog stop
    echo Didn't work, we're still here... | tee -a /var/log/watchdog-test.log; sync
    # If the default watchdog does work, I bet stopping the service disabled the default watchdog then... *todo* test and update this
    echo Modules still loaded...
    DOGS=`lsmod|grep -e wdt -e dog|cut -d\  -f1`
    echo $DOGS
    for dog in $DOGS; do
      echo Unloading $dog
      rmmod $dog || { echo "Oops.. didn't work, $dog won't unload"; sleep 70; };
    done;
    echo Did they all unload...? If not, I think the rest of this is a waste of time... reboot and skip that one next time
    sleep 63
    DOGS=`find /lib/modules|grep watchdog|awk -F'\watchdog/' '{print $2}'|sed [email protected]@@g|sort|uniq`
    for dog in $DOGS; do 
       echo "Testing $dog... " | tee -a /var/log/watchdog-test.log; sync
       modprobe -v $dog && if [ -e /dev/watchdog ]; then
          dmesg|tail -5
          echo $dog Loaded. Ready for a reboot? | tee -a /var/log/watchdog-test.log; sync
          echo *todo* force a quicker timeout? *todo* read kernel source
          cat /dev/watchdog & test=$!
          sleep 0.5
          [ -e /proc/$test ] && { sleep 63; kill $test; };
      fi
      rmmod $dog
      echo $dog Didn't work, we're still here... | tee -a /var/log/watchdog-test.log; sync
    done
    

    如果它只是通过,没有延迟......那么似乎没有一个模块可以工作。如果您的 PC 重新启动,则在启动时:

    尾 -1 /var/log/watchdog-test.log

    将显示一个可能的候选人...现在确保您的服务器加载它...

    Ubuntu 似乎使用了您在此处记下的模块:

    sudo vi /etc/default/watchdog
    

    我没有测试过这个。如果你这样做,来更新这个答案。待办事项 这是 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

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve