4.6. 配置 Watchdog


4.6.1. 在虚拟机中添加 Watchdog Card

您可以在虚拟机中添加 watchdog 卡来监控操作系统的响应。

流程

  1. 单击 Compute Virtual Machines 并选择虚拟机。
  2. Edit
  3. 单击 High Availability 选项卡。
  4. Watchdog Model 下拉列表中选择要使用的 watchdog 模型。
  5. Watchdog Action 下拉菜单中选择一个操作。这是虚拟机触发 watchdog 时执行的操作。
  6. 点击 确定

4.6.2. 安装 Watchdog

要激活附加到虚拟机的 watchdog 卡,您必须在该虚拟机上安装 watchdog 软件包并启动 watchdog 服务。

安装 Watchdogs

  1. 登录到附加了 watchdog 卡的虚拟机。
  2. 安装 watchdog 软件包和依赖项:

    # yum install watchdog
  3. 编辑 /etc/watchdog.conf 文件并取消注释以下行:

    watchdog-device = /dev/watchdog
  4. 保存更改。
  5. 启动 watchdog 服务并确保在引导时启动该服务:

    • Red Hat Enterprise Linux 6:

      # service watchdog start
      # chkconfig watchdog on
    • Red Hat Enterprise Linux 7:

      # systemctl start watchdog.service
      # systemctl enable watchdog.service

4.6.3. 确认 Watchdog 功能

确认 watchdog 卡已附加到虚拟机,并且 watchdog 服务处于活动状态。

警告

提供这个步骤只测试 watchdogs 的功能,且不得在生产环境中运行。

确认 Watchdog 功能

  1. 登录到附加了 watchdog 卡的虚拟机。
  2. 确认 watchdog 卡已可以被虚拟机识别:

    # lspci | grep watchdog -i
  3. 运行以下命令之一以确认 watchdog 处于活跃状态:

    • 触发内核 panic:

      # echo c > /proc/sysrq-trigger
    • 终止 watchdog 服务:

      # kill -9 pgrep watchdog

watchdog 定时器无法再重置,因此 watchdog 计数器在短时间内达到零。当 watchdog 计数器到达零时,执行该虚拟机的 Watchdog Action 下拉菜单中指定的操作。

4.6.4. watchdog.conf 中 Watchdogs 的参数

下表列出了用于配置 /etc/watchdog.conf 文件中可用的 watchdog 服务的选项:若要配置选项,您必须取消该选项注释,并在保存更改后重新启动 watchdog 服务。

注意

有关配置 watchdog 服务和使用 watchdog 命令的选项的更多详细信息,请参阅 watchdog man page。

表 4.2. watchdog.conf 变量
变量名称默认值备注

ping

N/A

watchdog 尝试 ping 验证该地址是否可访问的 IP 地址。您可以通过添加额外的 ping 行来指定多个 IP 地址。

interface

N/A

watchdog 将监控的网络接口以验证网络流量是否存在。您可以通过添加额外的 interface 行来指定多个网络接口。

file

/var/log/messages

本地系统上的文件,监视将监控是否有更改。您可以通过添加其他 file 行来指定多个文件。

change

1407

watchdog 检查文件更改的间隔数量。必须在各个 file 行后直接指定 change 行,并直接对该 change 行上方的 file 行应用更改。

max-load-1

24

虚拟机可在一分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。

max-load-5

18

虚拟机可在五分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。默认情况下,此变量的值被设置为 max-load-1 大约三季度的值。

max-load-15

12

虚拟机可在十五分钟内保持的最大平均负载。如果超过这个平均值,则会触发 watchdog。0 代表禁用此功能。默认情况下,此变量的值被设置为 max-load-1 大约一半的值。

min-memory

1

在虚拟机上必须保持可用最小虚拟内存量。这个值以页为单位。0 代表禁用此功能。

repair-binary

/usr/sbin/repair

本地系统上触发 watchdog 时将要运行的二进制文件的路径和文件名。如果指定的文件解决了阻止 watchdog 重置 watchdog 计数器的问题,则不会触发 watchdog 操作。

test-binary

N/A

watchdog 在本地系统中尝试在每个间隔内运行的二进制文件的路径和文件名。通过测试二进制文件,您可以指定一个文件来运行用户定义的测试。

test-timeout

N/A

用户定义的测试可以运行的时间限值(以秒为单位)。值 0 允许用户定义的测试持续无限。

temperature-device

N/A

用于检查运行 watchdog 服务的机器温度的设备的路径和名称。

max-temperature

120

运行 watchdog 服务的计算机允许的最大温度。如果达到这种温度,计算机将被停止。不考虑单位转换,因此您必须指定一个与正在使用的 watchdog 卡匹配的值。

admin

root

电子邮件通知发送到的电子邮件地址。

interval

10

watchdog 设备更新间隔(以秒为单位)。watchdog 设备要求每分钟至少更新一次,如果一分钟内没有更新,则触发 watchdog。这个一分钟期限硬编码到 watchdog 设备的驱动程序中,且无法配置。

logtick

1

watchdog 服务启用详细日志记录后,watchdog 服务会定期将日志消息写入本地系统。logtick 值表示在其后写入消息的 watchdog 间隔数。

realtime

指定 watchdog 是否锁定在内存中。值 yes 会将 watchdog 锁定在内存中,这样它就不会被交换出内存,而值 no 则允许将 watchdog 交换出内存。如果 watchdog 被交换出内存并且没有在 watchdog 计数器达到零之前重新交换,则触发 watchdog。

priority

1

realtime 的值设为 yes 时,调度优先级。

pidfile

/var/run/syslogd.pid

watchdog 监控的 PID 文件的路径和文件名,以查看对应的进程是否仍然处于活动状态。如果对应的进程未激活,则会触发 watchdog。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.