虚拟机备份 IO 高、大于 32G 内存备份直接挂起业务(H3C CAS/UIS 场景)
现象:内存 > 32G 虚机在线备份,备份触发内存快照,需要 dump 全部内存到存储,内存 dump 超时,虚拟机直接挂起(suspend),业务中断;同时备份读取磁盘产生大量 IO 抢占业务 IO。
根因两点
备份默认开启【快照内存】:开机整机备份会做内存快照,内存越大写磁盘量越大;快照内存超时时间到,虚拟化层直接 suspend 挂起虚拟机完成内存落盘,业务中断。
备份任务读取虚拟机磁盘数据,大量存储 IO 抢占业务 IO,造成业务卡顿。
解决手段(按优先级实施,CAS/UIS 平台)
1、关闭备份策略里的【快照内存】(最关键,解决大内存挂起)
关闭后仅做磁盘快照(崩溃一致性快照),不再 dump 虚拟机内存,虚拟机不会被挂起,业务持续运行。
CVM 备份策略编辑:整机备份,取消勾选「快照内存」。
⚠代价:不再保存内存运行状态;恢复之后相当于虚拟机断电重启,不是停机前运行状态。
数据库业务:虚拟机内部需要安装 CAS tools,依赖虚拟机内部 VSS 静默实现应用一致性,弥补关闭内存快照带来的一致性损失。
❗不要调大快照内存超时时长,内存 > 32G,dump 内存本身就耗时,调大只是延长挂起等待,依然会挂起业务。
2、IO 限流与错峰,降低备份对业务 IO 冲击
1)磁盘 I/O 阈值(策略级)
备份策略配置磁盘 I/O 阈值,例如设置 20MB/s;备份触发前检测虚机磁盘 IO,如果业务 IO 超过阈值,本次备份直接跳过,等待下一个备份周期,避开业务高峰 IO 压力。
注意:这是 “避让”,不是备份限速;业务忙就不跑备份。
2)错峰备份窗口
把大内存虚拟机全部放在业务低峰窗口(凌晨)执行;不要同一时间批量启动大量备份任务,多台并发备份会打满存储带宽。
3)底层 CVK/QEMU 备份 IO 限速(后台)
CAS 没有 WEB 界面备份限速;需要在 CVK 主机通过底层 qemu‑nbd 任务 IO 节流,适合高级运维;不建议 web 界面操作。
3、备份选型优化
1)优先开启 CBT 增量备份,只备份变更块,减少读取的数据量,降低 IO 压力。
2)大内存数据库业务:优先磁盘备份,而不是整机备份。
3)如果业务能接受:维护窗口内关机备份,无快照、无 IO 冲击,一致性最好。
4、存储硬件层面优化
备份存储与业务存储分离;备份流量不要抢占业务存储带宽。
业务虚机使用 SSD 存储,快照、内存 dump 的 IO 延迟会大幅降低。
一致性风险说明
关闭【快照内存】之后:
无内存状态,恢复后虚拟机相当于硬重启;
Windows 依赖虚拟机内部 VSS 服务实现应用一致性;Linux 依赖文件系统崩溃一致性;
数据库建议开启数据库自身日志,备份后可以回滚事务。
错误做法(不要做)
调大快照内存超时时间:内存 > 32G,还是会挂起虚拟机,只是挂起等待时间变长。
多台大内存虚拟机同时触发备份:存储 IO 打满,全部虚机业务卡顿。
排查验证命令(CVK 后台)
bash
#查看虚拟机快照信息,是否带内存快照
virsh snapshot-list 虚拟机名称
#查看备份任务IO状态
virsh domjobinfo 虚拟机名称
简短总结
大内存虚机备份挂起根源:开启了快照内存,dump 大内存超时触发虚拟机 suspend,优先关闭备份策略的「快照内存」,从根源避免挂起业务。
IO 冲击:配置磁盘 I/O 阈值做业务避让、错峰备份、开启 CBT 增量;CAS 没有 web 界面的备份带宽限速功能。
关闭快照内存会丢失运行内存状态,Windows 务必保证虚拟机内部 VSS 正常,保障应用一致性。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论