自从配了一些奇怪的东西,以及用上了奇怪的CPU,在跑了一段时间之后,小鸡总是莫名其妙的爆炸,发现无法解决问题,那就考虑定期重启,然后搜索的时看到“Watchdog” 这个关键词才知道PVE还可以这样玩w。
YFsama
配置Watchdog
PVE主机操作(母鸡)
修改Proxmox节点上的虚拟机配置文件”nano /etc/pve/qemu-server/[server_id].conf”并添加虚拟Watchdog设备
watchdog: model=i6300esb,action=reset
当然你也可以使用下面的命令(将[server_id]改成你需要配置的)偷点懒w(选择一种方式添加了就可以)
echo "watchdog: model=i6300esb,action=reset" >> nano /etc/pve/qemu-server/[server_id].conf
虚拟机操作(小鸡)
以Debian系为演示,其他系统自行替换下包管理器及路径w
1:用apt install watchdog在虚拟机上安装watchdog
2:配置Watchdog服务,编辑配置文件”nano /etc/watchdog.conf”。
watchdog-device = /dev/watchdog
log-dir = /var/log/watchdog
realtime = yes
priority = 1
#默认情况下i6300esb在黑名单里,在的话请加上下面这句
watchdog_module = i6300esb
3:设置开机启动服务 “systemctl enable watchdog”
4:在PVE上 “ Reset” 重启虚拟机
测试
1:检测watchdog服务是否正常启动且工作。
进入虚拟机,在虚拟机下执行 ” dmesg | grep i6300 “
会得到类似下面的输出则说明没问题
[ 4.572286] i6300ESB timer 0000:00:04.0: initialized. heartbeat=30 sec (nowayout=0)
2:模拟一次系统爆炸。
进入虚拟机,在虚拟机下执行” echo c > /proc/sysrq-trigger ” (执行完后你的内核便开始害怕了w)
接下来请坐和放宽的去冲杯咖啡(等待大约1分钟),机器便会自动重启完成了。
其他注意
1:虚拟机内安装和配置看门狗守护程序。要小心,一些GNU/Linux发行版(例如Ubuntu)将看门狗内核模块列入黑名单,所以要看一下/etc/modprobe.d/blacklist-watchdog.conf(如果存在)。请把i6300esb从黑名单中删除,并把它放在/etc/modules中。
2:如果您使用的是 ubuntu 云映像,这些映像不包括 i6300esb 看门狗内核模块(这意味着看门狗不会在您的 VM 中启动)
可以通过下面的方式安装
apt-get install linux-image-generic
参考(抄袭)
https://it-notes.dragas.net/2018/09/16/proxmox-enable-and-use-watchdog-to-reboot-stuck-servers/
https://forum.proxmox.com/threads/hardware-watchdog-at-a-per-vm-level.104051/