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 配合的备份容灾方案,贵州本地企业可以找诚鑫致达科技规划落地,含日常巡检与恢复演练。