虚拟机改崩了回不去:openEuler virsh磁盘快照把后悔药备好

本文整理自 openEuler 官方文档,按中小企业服务器场景做了场景化梳理。

改配置前先想想退路

运维虚拟机常干两类有风险的事:升级系统、调关键配置。改动前谁都知道要备份,但完整克隆一台虚拟机要拷几十 GB 磁盘,临时操作根本等不起。openEuler 虚拟化平台提供的存储快照功能就是为这种情况准备的:官方文档描述,虚拟机可以在用户不感知的情况下制作某一时刻的快照,制作通常只需几秒钟,系统损坏后能把磁盘快速恢复到那个时点。

两个前提要记住

官方文档明确两条边界:存储快照只支持 raw 和 qcow2 格式的镜像,不支持 block 块设备。动手前先用 virsh domblklist 确认自己虚拟机的磁盘格式,qcow2 是 libvirt 创建虚拟机时的常用默认格式,多数环境直接可用。

操作走一遍

第一步,登录宿主机,查虚拟机使用的磁盘:

$ virsh domblklist openEulerVM
    Target   Source
    ---------------------------------------------
    vda      /mnt/openEuler-image.qcow2

第二步,创建磁盘快照,官方命令如下——domain 指定虚拟机,–disk-only 表示磁盘快照,–diskspec 指明对 vda 做外部快照并给出快照文件的存放路径,–atomic 保证原子性:

$ virsh snapshot-create-as --domain openEulerVM --disk-only --diskspec vda,snapshot=external,file=/mnt/openEuler-snapshot1.qcow2 --atomic
Domain snapshot 1582605802 created

命令返回快照创建成功,原镜像保持改动前的状态,之后的写入落到新的快照文件里。第三步,查询确认:

$ virsh snapshot-list openEulerVM
 Name         Creation Time               State
 ---------------------------------------------------------
 1582605802   2020-02-25 12:43:22 +0800   disk-snapshot

列表里有快照记录,后悔药就备好了:改动失败时按官方文档的快照机制把磁盘恢复到拍摄时点即可,几秒级的拍摄成本换来一次完整的回退能力。

落地提醒

一是外部快照建立后,日常写入落在快照链上,链越长读性能越受影响,风险期过后要及时做快照合并,这是和「拍了不管」的差别;二是快照不是备份,它和原镜像放在同一个存储上,宿主机磁盘坏了谁也救不了,重要业务仍要按周期把镜像备份到另一台存储;三是升级前拍快照、升级稳定后合并快照,把这两步写进变更流程,团队就不怕改配置了。

openEuler 虚拟化平台部署与运维规范建设,贵州诚鑫致达科技提供上门实施服务,欢迎留言或私信咨询。

(来源:openEuler 26.09 官方文档「虚拟化用户指南 · 管理快照」,命令与注意事项以官方文档为准)

企业存储选型参考|贵州诚鑫致达

做核心业务 SAN 存储与高可靠应用,群晖机型参考:UC3400 · UC3200 · SA3600。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。