收起左侧

链式克隆虚拟机,实现一秒开十台,每台虚拟机占用只有256K!

4
回复
975
查看
[ 复制链接 ]
2026-3-14 21:16:30 显示全部楼层 阅读模式

如需更好的阅读模式,可点击这里前往我的博客

【【飞牛虚拟机进阶】链式克隆虚拟机,真正实现多台虚拟机只占一份大小】 https://www.bilibili.com/video/BV17dRvBPERJ/?share_source=copy_web&vd_source=6fdda38be5eb9fcf9f074fd04e9bf9ae

概述

本教程记录在飞牛NAS(FnOS)上实现 KVM 虚拟机链式克隆的完整过程。链式克隆基于 qcow2 的 backing file 技术,克隆虚拟机仅存储与模板的差异数据,极大节省磁盘空间。

优势

  • 创建速度极快 — 秒级完成
  • 磁盘空间极省 — 克隆初始仅占约 256KB ~ 数百KB
  • 批量部署方便 — 一个模板可派生出多个克隆

操作步骤

第一步:创建源虚拟机

  1. 在飞牛 Web 管理界面中,正常创建一台虚拟机并安装好操作系统。如果是Windows务必要执行通用化 运行菜单输入 sysprep
  2. 完成所有系统配置和软件安装
  3. 关闭虚拟机(模板必须从关机状态的虚拟机制作)

本教程以飞牛创建的 Ubuntu 24.04 虚拟机 za66xazz 为例。

第二步:确认源虚拟机信息

列出所有虚拟机

virsh list --all

飞牛虚拟机名称不是真实命令中的名称,请根据具体配置信息确认

sudo virsh dominfo za66xazz

image.png

查看磁盘信息:

sudo virsh domblklist za66xazz

image.png
查看磁盘镜像详情:

sudo qemu-img info /vol1/vm/pool/c2656788-aa6b-4b5f-9e96-a220aac9ae65-m2iq.qcow2

image.png

第三步:复制源磁盘为模板基础镜像

创建一个专门的模板文件夹

将源虚拟机的磁盘移动或复制到模板目录:

sudo cp /vol1/vm/pool/c2656788-aa6b-4b5f-9e96-a220aac9ae65-m2iq.qcow2 \
    /vol1/1000/templates/ubuntu24.04-base.qcow2

💡 提示:这里使用 cp 而非移动,源虚拟机保持不变,便于确认无误后再决定是否删除。

第四步:将模板镜像设为只读

这一步非常重要! 所有克隆都依赖此模板镜像,一旦被修改会影响所有克隆虚拟机:

sudo chmod 444 /vol1/1000/templates/ubuntu24.04-base.qcow2

验证:

ls -lh /vol1/1000/templates/ubuntu24.04-base.qcow2

输出:

-r--r--r--+ 1 root root 4.5G Mar 14 20:37 /vol1/1000/templates/ubuntu24.04-base.qcow2

第五步:创建链式克隆磁盘

使用 qemu-img create 基于模板创建链式克隆磁盘:

sudo qemu-img create -f qcow2 -F qcow2 \
    -b /vol1/1000/templates/ubuntu24.04-base.qcow2 \
    /vol1/1000/templates/disk/ubuntu24-clone-01.qcow2

输出:

Formatting '/vol1/1000/templates/ubuntu24-clone-01.qcow2', fmt=qcow2
cluster_size=65536 extended_l2=off compression_type=zlib size=21474836480
backing_file=/vol1/1000/templates/ubuntu24.04-base.qcow2 backing_fmt=qcow2
lazy_refcounts=off refcount_bits=16

参数说明:

参数 说明
-f qcow2 克隆磁盘格式为 qcow2
-F qcow2 backing file(模板)的格式为 qcow2
-b <路径> 指定 backing file(模板基础镜像)
最后的路径 克隆磁盘的输出路径

验证链式克隆磁盘:

sudo qemu-img info /vol1/1000/templates/ubuntu24-clone-01.qcow2

image.png
输出:

关键对比:模板镜像 4.5 GB,克隆磁盘仅 256 KB

第六步:在飞牛中新建虚拟机并选择导入qcow2

  1. 新建虚拟机


    选择一个存储空间

    直接开机即可

注意事项

⚠️ 模板镜像不可修改 — 模板镜像已设为只读(444),所有克隆都依赖此镜像,修改或删除会导致所有克隆虚拟机无法启动。

⚠️ 克隆的虚拟机与模板共用相同的系统配置(hostname、MAC 地址、SSH 密钥等),多台克隆可能产生冲突。建议首次启动后手动修改 hostname 和重新生成 SSH 密钥。

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
https://www.xiaozhuhouses.asia/欢迎访问我的博客
2026-5-4 15:14:38 楼主 显示全部楼层
目前新版已经不需要全程命令,直接从飞牛虚拟机中选择导入硬盘即可,所有功能都不受到影响!文章已更新!

42

主题

1630

回帖

0

牛值

fnOS系统内测组

飞牛百度网盘玩家fnOS1.0上线纪念勋章

2026-3-14 23:47:11 显示全部楼层

你这完全脱离了飞牛的操作,确定不会跟飞牛自身虚拟管理机产生冲突吗

2026-3-15 00:15:28 楼主 显示全部楼层
ZYan 发表于 2026-3-14 23:47
你这完全脱离了飞牛的操作,确定不会跟飞牛自身虚拟管理机产生冲突吗

不会 看似脱离了 但是飞牛仍然能管理 因为飞牛识别虚拟机走的又不是数据库记录 底层都是对接系统接口相关识别的 所以两者数据是同步的 另外这是进阶教程 极客玩家可以试试🤣🤣 链式克隆出来的虚拟机飞牛是完全可以管理的,并且支持修改任意配置,这个克隆你完全可以理解为一**立的虚拟机,本质上没有太大区别。文章修改了下,忘记放效果图了
https://www.xiaozhuhouses.asia/欢迎访问我的博客

1

主题

275

回帖

0

牛值

小有名气

2026-3-19 08:38:46 显示全部楼层

这个不错,不过我还是喜欢原系统的快照。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则