前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM-虚拟机克隆

KVM-虚拟机克隆

作者头像
星哥玩云
发布2022-09-15 21:22:44
6900
发布2022-09-15 21:22:44
举报
文章被收录于专栏:开源部署开源部署

我们学习了使用模板创建虚拟机,除此之外还有另外的一种方法可以批量创建虚拟机,那就是克隆

一、克隆分类

完整克隆:对原始虚拟机完整拷贝,删除原始虚拟机,对克隆机器不影响,需要较多的空间。类似于我们之前学到的基于模板创建虚拟机。

链接克隆:对原始虚拟机[硬盘]的链接,原始虚拟机删除,链接失败

二、完整克隆

完整克隆和根据模板机创建虚拟机的步骤是一样的。

a、复制一个磁盘文件

b、创建一个虚拟机的xml文件

使用克隆的方法的好处是以上的步骤不需要手动完成了。

注意事项:被克隆的机器最好先做成模板机,否者很多唯一性的东西还得手动删除,就是制作模板机的那些删除数据。

2.1、自动克隆

代码语言:javascript
复制
[root@zutuanxue ~]# virt-clone --auto-clone -o rhel8 -n rhel8-clone

-o 原始虚拟机
-n 克隆后的新虚拟机

2.2、手动克隆

  • 复制一个磁盘
  • 生成一个xml文件
  • 修改xml文件
  • 导入xml文件

a、使用cp命令复制一个磁盘

代码语言:javascript
复制
[root@zutuanxue ~]# cp /var/lib/libvirt/images/rhel8.qcow2 /var/lib/libvirt/images/rhel8_clone1.qcow2

b、复制一个虚拟机的xml文件

代码语言:javascript
复制
[root@zutuanxue ~]# virsh dumpxml --domain rhel8 > /etc/libvirt/qemu/rhel8_clone1.xml

c、修改xml文件 将原始机器的唯一性配置删除

代码语言:javascript
复制
xml文件修改
#修改虚拟机名字
#删除UUID
#删除mac地址
#修改磁盘路径

d、导入虚拟机

代码语言:javascript
复制
根据xml文件导入机器
[root@zutuanxue ~]# virsh define --file /etc/libvirt/qemu/rhel8_clone1.xml 
定义域 rhel8_clone1(从 /etc/libvirt/qemu/rhel8_clone1.xml)

链接克隆

  • 创建一个链接克隆磁盘,必须是qcow2格式磁盘
  • 生成一个xml文件
  • 修改xml文件
  • 导入xml文件

a、 创建一个链接克隆磁盘,必须是qcow2格式磁盘

代码语言:javascript
复制
[root@zutuanxue ~]# qemu-img create -b /var/lib/libvirt/images/rhel8.qcow2 -f qcow2 /var/lib/libvirt/images/rhel8_clone2.qcow2
Formatting '/var/lib/libvirt/images/rhel8_clone2.qcow2', fmt=qcow2 size=10737418240 backing_file=/var/lib/libvirt/images/rhel8.qcow2 cluster_size=65536 lazy_refcounts=off refcount_bits=16

查看
[root@zutuanxue ~]# ll -h /var/lib/libvirt/images/rhel8_clone2.qcow2 
-rw-r--r-- 1 root root 193K 3月  24 00:49 /var/lib/libvirt/images/rhel8_clone2.qcow2

显示仅有193K,ok


[root@zutuanxue ~]# qemu-img info /var/lib/libvirt/images/rhel8_clone2.qcow2 
image: /var/lib/libvirt/images/rhel8_clone2.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
backing file: /var/lib/libvirt/images/rhel8.qcow2  #显示链接后端磁盘
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

b、生成一个xml文件

代码语言:javascript
复制
[root@zutuanxue ~]# virsh dumpxml --domain rhel8 > /etc/libvirt/qemu/rhel8_clone2.xml

c、修改xml

代码语言:javascript
复制
修改虚拟机名字
删除UUID
删除mac地址
修改磁盘路径

d、导入虚拟机

代码语言:javascript
复制
[root@zutuanxue ~]# virsh define /etc/libvirt/qemu/rhel8_clone2.xml
定义域 rhel8_clone2(从 /etc/libvirt/qemu/rhel8_clone2.xml)

[root@zutuanxue ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 6     rhel8-clone                    running
 -     centos8-3                      关闭
 -     centos8-4                      关闭
 -     rhel8                          关闭
 -     rhel8-2                        关闭
 -     rhel8_clone2                   关闭
 -     win10                          关闭
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、克隆分类
  • 二、完整克隆
    • 2.1、自动克隆
      • 2.2、手动克隆
      • 链接克隆
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档