4.5. 配置 Watchdog
4.5.1. 为虚拟机添加一个 Watchdog 卡 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
为虚拟机添加 watchdog 卡可以监控操作系统是否在正常工作。
过程 4.9. 为虚拟机添加 Watchdog 卡
- 点虚拟机页并选择一个虚拟机。
- 点。
- 选择高可用性标签页。
- 从 Watchdog 型号下拉列表中选择 watchdog 的型号。
- 在 Watchdog 操作下拉列表中选择一个操作。这个操作会在 watchdog 事件发生时在虚拟机上执行。
- 点。
4.5.2. 安装 Watchdog 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要激活虚拟机上的 watchdog 卡,需要在虚拟机上安装 watchdog 软件包,并启动
watchdog
服务。
过程 4.10. 安装 Watchdog
- 登录到 watchdog 卡所连的虚拟机上。
- 安装 watchdog 软件包和依赖的软件包:
yum install watchdog
# yum install watchdog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑
/etc/watchdog.conf
文件,取消以下行的注释:watchdog-device = /dev/watchdog
watchdog-device = /dev/watchdog
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存所做的改变。
- 启动
watchdog
服务,并使它可以在系统启动时被自动启动:- Red Hat Enterprise Linux 6:
service watchdog start chkconfig watchdog on
# service watchdog start # chkconfig watchdog on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Enterprise Linux 7:
systemctl start watchdog.service systemctl enable watchdog.service
# systemctl start watchdog.service # systemctl enable watchdog.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.3. 配置 Watchdog 的功能 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
确认 watchdog 卡被连到虚拟机上,
watchdog
服务已启动。
警告
以下操作只被用来测试 watchdog 的功能,请不要在实际的生产环境中运行。
过程 4.11. 配置 Watchdog 的功能
- 登录到 watchdog 卡所连的虚拟机上。
- 确认 watchdog 卡已经被虚拟机所识别:
lspci | grep watchdog -i
# lspci | grep watchdog -i
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行以下命令之一来确定 watchdog 处于激活状态:
- 产生一个内核 panic:
echo c > /proc/sysrq-trigger
# echo c > /proc/sysrq-trigger
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 终止
watchdog
服务:kill -9 `pgrep watchdog`
# kill -9 `pgrep watchdog`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
watchdog 计时器将无法被重置,它将会倒数到 0。当计时器到 0 时,在 Watchdog 操作下拉菜单中所指定的操作将会进行。
4.5.4. watchdog.conf 中的 watchdog 参数 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
以下列出了
/etc/watchdog.conf
文件中关于配置 watchdog
服务的参数。要配置一个参数,您需要确保它的配置行没有被注释并在修改后重新启动 watchdog
服务。
注意
如需了解更多关于配置
watchdog
服务和使用 watchdog
命令的信息,请参阅 watchdog
man 文档。
变量名 | 默认值 | 备注 |
---|---|---|
ping | N/A | 一个 IP 地址。watchdog 会尝试 ping 这个地址来确定这个地址是否可以被访问。您可以通过使用多个 ping 行来指定多个 IP 地址。 |
interface | N/A | 一个网络接口。watchdog 将监测这个接口来确定是否有网络通信。您可以通过使用多个 interface 行来指定多个网络接口。 |
file | /var/log/messages | 一个本地系统上的文件。watchdog 将监测这个文件的改变。您可以通过使用多个 file 行来指定多个文件。 |
change | 1407 | watchdog 的间隔数。在经过了这个间隔次数后,watchdog 才会再次检查文件的改变。change 行必须在每个 file 行后面被马上指定并只对这个 file 行有效。 |
max-load-1 | 24 | 虚拟机在 1 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。 |
max-load-5 | 18 | 虚拟机在 5 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。在默认情况下,这个变量的值被设为 max-load-1 值的四分之三。 |
max-load-15 | 12 | 虚拟机在 15 分钟的时间内可以承受的最大平均负载。如果这个平均值被超过,watchdog 将会进行相应的操作。把它设为 0 将禁用这个功能。在默认情况下,这个变量的值被设为 max-load-1 值的一半。 |
min-memory | 1 | 虚拟机上必须保留的最小可用虚拟内存的值(以内存页为单位)。把它设为 0 将禁用这个功能。 |
repair-binary | /usr/sbin/repair | 一个位于本地系统的二进制文件的路径和文件名,当 watchdog 事件被触发时需要执行这个文件。如果运行这个文件可以解决出现的问题,watchdog 将不会进行其它操作。 |
test-binary | N/A | 位于本地系统上的一个二进制文件的路径和文件名,watchdog 会在每个间隔中运行这个文件。 |
test-timeout | N/A | 用户所定义的测试可以运行的时间限制(以秒为单位)。如果它被设为 0 ,用户定义的测试的运行时间将没有限制。 |
temperature-device | N/A | 用来检查 watchdog 服务所在机器的温度的设备路径和设备名。 |
max-temperature | 120 | watchdog 服务所在机器的最高温度。如果达到了这个温度,机器将会停止。这个值必须和所使用的 watchdog 卡相匹配。 |
admin | root | Watchdog 事件相关的电子邮件通知所要发送到的电子邮件地址。 |
interval | 10 | watchdog 设备接收更新信息的间隔(以秒为单位)。watchdog 设备在每一分钟内至少应该接收到一条更新信息,如果过了一分钟还没有收到更新,watchdog 事件将会被触发。这个一分钟的限制是被 watchdog 设备所固定的,它不能被修改。 |
logtick | 1 | 如果为 watchdog 服务设置了详细日志项,watchdog 服务会定期把日志信息写到本地系统上。logtick 指定了在经过了 watchdog 的几个间隔后日志信息才会被写入本地系统。 |
realtime | yes | 指定 watchdog 是否被锁定在内存中。如果它的值为 yes ,watchdog 将被锁定在内存中,而不会被交换出内存。如果它的值为 no ,watchdog 将可以被交换出内存。如果 watchdog 被交换出内存,而且在 watchdog 计时器倒数到 0 时还没有被交换回到内存,watchdog 事件将会被触发。 |
priority | 1 | 当 realtime 被设置为 yes 时,调度的优先级。 |
pidfile | /var/run/syslogd.pid | 一个 PID 文件的路径和文件名。watchdog 会监测这个文件来确定相关的进程是否处于活跃状态。如果相关的进程没有处于活跃状态,watchdog 事件将会被触发。 |