虚拟机克隆的三种方式:全量克隆、快速全量克隆、链接克隆

虚拟机克隆的三种方式:全量克隆、快速全量克隆、链接克隆

快速全量克隆

特点:虚拟机启动快、拍平后数据独立

场景:快速发放独立的虚拟机,减少等待虚拟机部署完成时间,能够快速提供用户使用虚拟机。

实现方式:通过对源虚拟机打快照创建克隆卷,克隆卷创建完成后虚拟机即部署成功,可供用户开机使用,后台再起异步拍平克隆卷任务对克隆虚拟机的克隆卷进行拍平及删除原卷快照操作。

全量克隆

特点:虚拟机启动慢、数据最终独立

场景:克隆的虚拟机需要与源虚拟机完全隔离,无耦合关联。

实现方式:通过创建目标卷,在后台将源虚拟机挂载的原卷在主机上进行数据拷贝,拷贝完成后虚拟机才能开机供用户使用。

链接克隆

特点:虚拟机启动快、克隆虚拟机共用系统卷、数据非独立

场景:教育实训等场景需要快速发放虚拟机提供使用,克隆出的虚拟机共用系统卷(母卷)。

实现方式:对源虚拟机系统卷进行创建快照、目的虚拟机根据快照创建克隆卷。非系统卷仅创建新的卷。

快速全量克隆:

流程:

1、 虚拟机克隆/模板部署传入参数cloneMode为约定的数值

2、 遍历虚拟机绑定的卷,对卷创建快照、克隆卷

3、 虚拟机克隆成功,开机使用

4、 起异步拍平任务对克隆虚拟机的克隆卷进行拍平,删除源虚拟机原卷快照

**限制:**当前只支持分布式块存储到分布式块存储虚拟机克隆的快速全量克隆,具体限制查看下边《 限制汇总》。

全量克隆:

流程:

1、 虚拟机克隆/模板部署传入参数cloneMode为约定的数值

2、 遍历虚拟机绑定的卷,根据卷所在的存储类型创建目标卷

3、 通过cna调用qemu-img convert将原卷数据拷贝到目标卷中

4、 数据拷贝完成后虚拟机克隆成功,开机使用

**限制:**无

链接克隆:

流程:

1、 模板部署虚拟机传入参数cloneMode为约定的数值

2、 赋值isLinkClone为true

3、 遍历虚拟机绑定的卷,如果是系统卷,则创建快照、克隆卷;如果是非系统卷,则创建新卷

4、 查询卷创建是否完成,完成后开机使用

**限制:**当前只支持模板部署链接克隆虚拟机。

限制汇总

当前不同的克隆模式存在一些限制:

1 快速全量克隆

只有离线克隆才支持快速全量克隆模式;

只有源虚拟机/模板、目标虚拟机/模板的卷类型都为分布式块存储(FOS)才支持;

克隆/部署虚拟机的目标卷磁盘模式为独立非持久时不生效;

模板部署虚拟机时调整了卷容量(只有模板部署能调整卷容量)时不生效;

2 全量克隆

开机克隆只支持全量克隆模式;

3 链接克隆

只有模板部署虚拟机才支持链接克隆模式;

FOS->其他、其他->FOS不支持链接克隆;

链接克隆虚拟机的一些限制:

不支持克隆虚拟机;

系统盘不支持扩容;

不支持创建快照;

不支持迁移磁盘、虚拟机;

裸设备映射虚拟机不支持链接克隆;

不支持链接克隆虚拟机的容灾;

概念

拍平:

是一个术语,通常指的是将虚拟机的所有快照合并到基础磁盘中,使得虚拟机不再依赖于任何快照。此操作也被称为"合并"。 拍平 操作会消耗大量时间和存储资源,并且在这个过程中原始数据可能会受到影响。

FOS: 是分布式存储

Vims: 是ipsan虚拟化存储

相关推荐
QQ同步助手4 分钟前
C++ 指针进阶:动态内存与复杂应用
开发语言·c++
凯子坚持 c10 分钟前
仓颉编程语言深入教程:基础概念和数据类型
开发语言·华为
小爬虫程序猿12 分钟前
利用Java爬虫速卖通按关键字搜索AliExpress商品
java·开发语言·爬虫
程序猿-瑞瑞14 分钟前
24 go语言(golang) - gorm框架安装及使用案例详解
开发语言·后端·golang·gorm
qq_4335545415 分钟前
C++ 面向对象编程:递增重载
开发语言·c++·算法
易码智能23 分钟前
【EtherCATBasics】- KRTS C++示例精讲(2)
开发语言·c++·kithara·windows 实时套件·krts
一只自律的鸡24 分钟前
C语言项目 天天酷跑(上篇)
c语言·开发语言
程序猿000001号27 分钟前
使用Python的Seaborn库进行数据可视化
开发语言·python·信息可视化
一个不正经的林Sir31 分钟前
C#WPF基础介绍/第一个WPF程序
开发语言·c#·wpf
API快乐传递者36 分钟前
Python爬虫获取淘宝详情接口详细解析
开发语言·爬虫·python