Hyper-V 备份报“无法创建生产检查点”?查空间和集成服务

痛点:备份没停,但一致性悄悄降级了

ABB 备份 Hyper-V 虚拟机时,日志出现一句:“拍摄虚拟机应用程序感知快照失败,因为无法创建生产检查点。此次系统将禁用应用程序感知处理并尝试重新拍摄快照。”任务未必失败,但应用程序感知(保证数据库、邮件服务等应用处于一致状态的快照机制)被降级了,这种备份拿去恢复业务应用,数据一致性要打问号。

系统创建不了生产检查点,原因基本就两类:虚拟机所在卷空间不够;访客操作系统里缺 Hyper-V 集成服务。

第一步:先验证访客能不能手动建生产检查点

Hyper-V 管理器方式:右键虚拟机 > 设置 > 检查点,确认勾选的是“生产检查点”,且不要勾“如果访客不支持创建生产检查点,则创建标准检查点”。然后右键虚拟机点“检查点”,手动创建一个试试。

PowerShell 方式(把 $vm_name 换成实际虚拟机名,在宿主机以管理员运行):

get-vm $vm_name | select Id,CheckpointType   # 查看检查点类型
set-vm $vm_name -CheckpointType ProductionOnly   # 设为仅生产
checkpoint-vm $vm_name   # 创建检查点

测试成功后清掉测试检查点,并把类型切回默认:

Get-VM $vm_name | Get-VMSnapshot | Remove-VMSnapshot
set-vm $vm_name -CheckpointType Production

手动都建不出来,基本就是集成服务的问题,进入第二步。

第二步:按访客系统补集成服务

Windows 访客:搜索打开 services.msc,确认“Hyper-V 卷影复制请求程序”(服务名 vmicvss)处于运行状态;仍不正常再检查卷影复制服务(VSS)本身是否正常工作。

Linux 访客:打开终端确认守护进程在跑:

ps aux | grep [h]ypervvssd
ps aux | grep [h]v_vss_daemon

没有输出就安装 Hyper-V 集成服务,root 身份执行:

# Ubuntu
apt install -y linux-cloud-tools-virtual && reboot

# CentOS
yum install hyperv-daemons

# Debian
apt-get install -y hyperv-daemons && update-initramfs -u && reboot

另外别忘了检查虚拟机所在存储卷的剩余空间,空间不足同样建不了检查点。

验证与预防

回到 ABB 重跑任务,日志里不再出现该提示、应用程序感知正常生效,才算修复完成。

预防上,做虚拟机模板时就把集成服务预装进去;宿主机与访客系统保持补丁更新;给检查点和备份预留足够的卷空间,别贴着容量上限跑。

Hyper-V 与群晖 NAS 配合的备份容灾方案,贵州本地企业可以找诚鑫致达科技规划落地,含日常巡检与恢复演练。