PVE 虚拟机心跳检测并重启

本文讲述了作者在折腾PVE环境中安装iStoreOS和DMS时遇到的问题,因性能原因导致黑裙崩溃。为监控VM运行,作者探索了看门狗和脚本监控方法,最终优化了一个基于bash的脚本,用于检测并重启虚拟机,以解决ping不通的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

折腾PVE,安装了ikuai+iStoreOS+黑裙,其中DMS安装了小雅alist超集,可能是小主机性能太差导致黑裙多次崩溃,后来就想着有没有什么办法监控VM的运行情况,经过搜索一番后有两种方案看门狗(watchdog)和脚本监控,其中看门狗(watchdog)要求硬件支持就没搞,参考文章后优化了下脚本实现

参考文章:PVE 虚拟机心跳检测并重启 - Lucien's Blog

问题1:save保存后,faile.txt文件的count数就是没有叠加

解决过程:定位问题后发现,是source的问题导致,使用 source. 命令执行文件时,source 的行为是在当前 shell 环境中执行命令,所以全局声明在这个情景下是不必要的,因为 source 执行后,变量已经是当前环境的一部分了。

解决方案:将 -A 替换为 -gA,可以直接使用 sed

完整代码

#!/bin/bash

# 脚本常量定义
QMPATH="/usr/sbin/qm"
MAX_FAILURES=3
RESET_AFTER_SUCCESS=2
FAILURE_FILE="/path/to/failure_file.txt"

# 关联数组,用于保存各虚拟机的失败次数
declare -gA failure_count

# 从文件中加载失败次数
load_failure_count() {
    if [[ -f "$FAILURE_FILE" ]]; then
        source "$FAILURE_FILE"
        echo "Loaded failure count from $FAILURE_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值