你遇到的“多级镜像”问题,核心原因在于:历史快照的关联数据文件并未随着快照任务的停止或单个快照的删除而被彻底清理。CAS快照通常会生成增量文件,只有合并这些文件,才能真正缩减镜像层级。这解释了为什么你在设置“保留一个快照”后,磁盘上依然存在旧的三级结构。
快照残留:这是最可能的根源。虚拟机之前配置的“每日快照”可能采用的是“外部快照”方式。每次生成快照,都会在磁盘上产生一个新的增量文件,并与基础文件形成链式关系。你停掉的只是“任务”,这些历史文件依然存在于磁盘上。
其他来源:此外,进行过“快速克隆”操作的虚拟机,也同样会产生多级镜像文件。
在动手清理前,我们先精确地看一下镜像文件间的依赖关系。
方法一:CAS前台查看(推荐)
在CAS管理界面,找到该虚拟机,点击“概要”,选择具体磁盘,点击左下角的“...”,展开即可查看磁盘是否存在多级镜像。
方法二:SSH后台查看
登录CVK宿主机的后台(SSH),找到虚拟机磁盘文件存放目录(可从前台磁盘信息中获得),执行命令:
根据CAS版本不同,清理方法有所区别。
通用前置步骤
备份数据:操作前,强烈建议对虚拟机或磁盘进行完整备份。
删除快照:在CAS前台,进入虚拟机管理页面,找到“快照”相关选项,删除虚拟机当前所有的历史快照。
关闭虚拟机:两套方案都要求必须关闭虚拟机,以确保数据一致性。
对于E0730及之后版本(推荐方案):使用“精简镜像链”功能
在CAS前台,进入虚拟机管理页面,点击“更多操作”。
选择“合并镜像”或“精简镜像链”菜单项。
在弹出的对话框中确认操作。该功能会安全地将多级增量文件合并到其基础镜像中,是最稳妥的方法。
对于较老版本/前台无相关菜单:使用后台命令合并
你需要手动指定文件进行合并。
SSH登录CVK主机,进入虚拟机磁盘文件所在目录。
确保有足够空间:CVK所在存储卷的可用空间,必须大于当前虚拟机磁盘镜像大小的两倍以上。
使用 qemu-img convert 命令进行合并。
以将三级链合并为一个全新的单一级别文件为例:
new_disk.qcow2 文件。登录CAS前台,编辑该虚拟机的磁盘挂载,将其源文件指向新生成的 new_disk.qcow2 文件。验证虚拟机启动和业务正常后,方可手动删除原来的多级镜像文件(base.qcow2, snap1.qcow2, snap2.qcow2),以释放空间。
kl_oaapp1kl_oaapp1_inc_253kl_oaapp1_inc_254backingStore记录未更新,导致链结构异常kl_oaapp1_inc_253 会被合并到上一级镜像中,仅保留当前快照的增量镜像kl_oaapp1 一个文件,inc_253/inc_254 会被自动清理qemu-img info kl_oaapp1_inc_254 查看镜像链的父级依赖,确保inc_254的父级是inc_253,inc_253的父级是kl_oaapp1qemu-img commit kl_oaapp1_inc_254 将增量数据提交到父级镜像qemu-img commit kl_oaapp1_inc_253 提交到基础镜像inc_253/inc_254 文件backingStore记录
kl_oaapp1(无快照) 或 kl_oaapp1 + kl_oaapp1_inc_254(1 个快照)display disk usage 查看存储占用是否下降暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论