• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

CAS快照任务生成多级镜像

13小时前提问
  • 0关注
  • 0收藏,26浏览
zhuyq 二段
粉丝:0人 关注:0人

问题描述:

 

虚拟机原来作了每日一次快照,保留最近2个快照,过了一年左右发现快照任务停了,把所有快照删除了后,作了一个每日一个快照,保留一个。但是在磁盘的存储路径里看到磁盘有三级镜像。这有办法清理吗。我理解是只有一个快照,应该就只有两级镜像。

如图:

 

2 个回答
粉丝:16人 关注:1人

你遇到的“多级镜像”问题,核心原因在于:历史快照的关联数据文件并未随着快照任务的停止或单个快照的删除而被彻底清理。CAS快照通常会生成增量文件,只有合并这些文件,才能真正缩减镜像层级。这解释了为什么你在设置“保留一个快照”后,磁盘上依然存在旧的三级结构。


 为什么会有三级镜像?

  • 快照残留:这是最可能的根源。虚拟机之前配置的“每日快照”可能采用的是“外部快照”方式。每次生成快照,都会在磁盘上产生一个新的增量文件,并与基础文件形成链式关系。你停掉的只是“任务”,这些历史文件依然存在于磁盘上。

  • 其他来源:此外,进行过“快速克隆”操作的虚拟机,也同样会产生多级镜像文件。


 第一步:确认镜像层级(先诊断)

在动手清理前,我们先精确地看一下镜像文件间的依赖关系。

  • 方法一:CAS前台查看(推荐)
    在CAS管理界面,找到该虚拟机,点击“概要”,选择具体磁盘,点击左下角的“...”,展开即可查看磁盘是否存在多级镜像。

  • 方法二:SSH后台查看
    登录CVK宿主机的后台(SSH),找到虚拟机磁盘文件存放目录(可从前台磁盘信息中获得),执行命令:

    qemu-img info --backing-chain <虚拟机磁盘文件名>该命令会清晰列出基础镜像和所有依赖它的增量文件层级。


 第二步:清理多级镜像(核心操作)

根据CAS版本不同,清理方法有所区别。

 通用前置步骤

  1. 备份数据:操作前,强烈建议对虚拟机或磁盘进行完整备份。

  2. 删除快照:在CAS前台,进入虚拟机管理页面,找到“快照”相关选项,删除虚拟机当前所有的历史快照。

  3. 关闭虚拟机:两套方案都要求必须关闭虚拟机,以确保数据一致性。

对于E0730及之后版本(推荐方案):使用“精简镜像链”功能

  1. 在CAS前台,进入虚拟机管理页面,点击“更多操作”。

  2. 选择“合并镜像”或“精简镜像链”菜单项。

  3. 在弹出的对话框中确认操作。该功能会安全地将多级增量文件合并到其基础镜像中,是最稳妥的方法。

对于较老版本/前台无相关菜单:使用后台命令合并
你需要手动指定文件进行合并。

  1. SSH登录CVK主机,进入虚拟机磁盘文件所在目录。

  2. 确保有足够空间:CVK所在存储卷的可用空间,必须大于当前虚拟机磁盘镜像大小的两倍以上

  3. 使用 qemu-img convert 命令进行合并。
    以将三级链合并为一个全新的单一级别文件为例:

    # 假设你的镜像链文件名分别为:base.qcow2 -> snap1.qcow2 -> snap2.qcow2 (三级)
    # 将snap2.qcow2 (三级) 合并,生成一个全新的单一级别文件 new_disk.qcow2 qemu-img convert -f qcow2 -O qcow2 snap2.qcow2 new_disk.qcow2命令执行成功后,会在当前目录生成一个合并后的 new_disk.qcow2 文件。
  4. 登录CAS前台,编辑该虚拟机的磁盘挂载,将其源文件指向新生成的 new_disk.qcow2 文件。验证虚拟机启动和业务正常后,方可手动删除原来的多级镜像文件(base.qcow2snap1.qcow2snap2.qcow2),以释放空间。

暂无评论

粉丝:10人 关注:2人

问题解析与清理方案

你遇到的是 CAS 虚拟机快照链残留导致的多级镜像冗余,现象完全符合老版本 CAS 常见的 “快照删除后镜像链未合并” 问题。

一、为什么 “只保留 1 个快照” 却出现三级镜像?

1. 镜像链的形成逻辑

  • 无快照时:磁盘是单级镜像 kl_oaapp1
  • 创建 1 个快照:会生成二级增量镜像 kl_oaapp1_inc_253
  • 再创建 1 个快照:会在二级镜像基础上生成三级增量镜像 kl_oaapp1_inc_254
  • 删除旧快照时:正常逻辑是合并增量镜像,但老版本 CAS 存在以下问题:
    • 快照任务停摆、删除操作异常(如网络闪断)
    • 镜像链合并失败,旧的增量镜像文件残留
    • 后台 XML 配置中backingStore记录未更新,导致链结构异常
  • 结果就是:前台只显示 1 个快照,后台却保留了完整的三级镜像链

二、安全清理方案(按优先级推荐)

方案 1:使用 CAS 官方「精简镜像链」功能(推荐,不影响业务)

这是解决镜像链冗余的标准操作,无需停机,风险最低。
  1. 前提:虚拟机处于运行 / 停止状态均可(建议业务低峰期操作)
  2. 操作路径
    • 进入 CAS 平台 → 虚拟机管理 → 选中目标虚拟机 → 更多 → 磁盘管理 → 精简镜像链
    • 系统会自动合并冗余的增量镜像,将三级链压缩为 “基础镜像 + 当前快照” 的两级结构
  3. 效果
    • 后台存储路径中,kl_oaapp1_inc_253 会被合并到上一级镜像中,仅保留当前快照的增量镜像
    • 虚拟机读写性能恢复正常,无业务中断风险

方案 2:虚拟机停机后「合并磁盘镜像」(彻底解决,适合无业务时段)

如果精简镜像链无效,可使用合并镜像功能将多级链直接转为单级镜像,彻底消除所有增量文件。
  1. 前提:虚拟机必须关闭状态,存储池有足够剩余容量(建议≥磁盘大小的 2 倍)
  2. 操作路径
    • 虚拟机管理 → 选中目标虚拟机 → 更多 → 磁盘管理 → 合并磁盘镜像
    • 系统会合并所有增量镜像,生成一个新的一级镜像文件
  3. 效果
    • 存储路径中仅保留 kl_oaapp1 一个文件,inc_253/inc_254 会被自动清理
    • 虚拟机恢复为无快照状态,性能最优

方案 3:手动清理(风险极高,仅应急使用,不推荐)

⚠️ 警告:此操作需直接修改存储文件,可能导致虚拟机数据损坏,仅在 CAS 平台操作无效时使用。
  1. 确认镜像链依赖关系
    • 通过 qemu-img info kl_oaapp1_inc_254 查看镜像链的父级依赖,确保inc_254的父级是inc_253inc_253的父级是kl_oaapp1
  2. 合并镜像链
    • 使用 qemu-img commit kl_oaapp1_inc_254 将增量数据提交到父级镜像
    • 再执行 qemu-img commit kl_oaapp1_inc_253 提交到基础镜像
  3. 删除残留文件:确认合并成功后,删除 inc_253/inc_254 文件
  4. 更新 XML 配置:修改虚拟机配置文件,删除冗余的backingStore记录

三、操作注意事项与预防措施

  1. 关键前提
    • 所有操作前务必备份虚拟机配置文件和重要数据
    • 避免在业务高峰期执行镜像链操作,防止 IO 性能波动影响业务
  2. 预防再次发生
    • 快照保留数量建议≤3 个,避免长期保留大量快照
    • 定期检查镜像链状态,发现冗余及时清理
    • 升级 CAS 平台到最新补丁版本,修复镜像合并相关的已知 Bug

四、操作后验证

清理完成后,在存储路径中应仅保留以下结构:

  • 仅保留 kl_oaapp1(无快照) 或 kl_oaapp1 + kl_oaapp1_inc_254(1 个快照)
  • 执行 display disk usage 查看存储占用是否下降
  • 启动虚拟机验证业务正常,无数据损坏或性能异常

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明