10、kvm虚拟机的克隆

操作前先关闭虚拟机

虚拟机的克隆

一、命令行克隆virt-clone(方法一)

virt-clone -o vm1 -n vm2 -f /kvmdata/vm2.img

参数说明:

  • -o:指定需要被clone的虚拟机
  • -n:命名clone后的虚拟机名称
  • -f:指定新clone的虚拟机的位置或者说是使用新的磁盘镜像文件

完成上面命令执行后,同时在/etc/libvirt/qemu下也会生成privi-server_clone.xml文件

操作演示:

1、克隆前必须先关机

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 3     centos7.0-2                    running

[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
ERROR    必须暂停或者关闭有要克隆设备的域。
#在这里克隆之前必须先关机
[root@kvmserver ~]# virsh shutdown centos7.0-2 
域 centos7.0-2 被关闭

2、不加参数克隆,导致没有改名

[root@kvmserver ~]# virt-clone -o centos7.0-2 --auto-clone
正在分配 'centos7.0-2-clone.qcow2'                                                 |  10 GB  00:00:43     

成功克隆 'centos7.0-2-clone'。
[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

上面虽然克隆成功了,但是名字没改,它自动帮我们起了名字centos7.0-2-clone

3、克隆并改名

virt-clone -o centos7.0-2 -n centos7-2 --auto-clone

-n 意思是改名

[root@kvmserver ~]# virt-clone -o centos7.0-2 -n centos7-2 --auto-clone
正在分配 'centos7-2.qcow2'                                                         |  10 GB  00:01:18     

成功克隆 'centos7-2'。
[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7-2                      关闭
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

4、克隆时使用新的磁盘镜像文件

 virt-clone -o centos7.0-2 -n centos7-2 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone

-f 是指在克隆时使用新的磁盘镜像文件

[root@kvmserver ~]#  virt-clone -o centos7.0-2 -n centos7-4 -f /var/lib/libvirt/images/centos7-4.qcow4 --auto-clone
正在分配 'centos7-4.qcow4'                                                         |  10 GB  00:00:46     

成功克隆 'centos7-4'。

[root@kvmserver ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos7-2                      关闭
 -     centos7-4                      关闭
 -     centos7.0-2                    关闭
 -     centos7.0-2-clone              关闭

克隆的过程中自动修改了MAC、UID、NAME等,这些冲突的参数。

二、手动克隆(方法二)

复制kvm虚拟机配置文件及磁盘映象文件克隆

共4个步骤:

  • 进入 /etc/libvirt/qemu 目录
  • 复制虚拟机配置文件 vm1.xmlvm2.xml
  • 复制磁盘镜像vm1为vm2
  • vm2.xml进行修改

手动必须修改的地方:
UID、name、MAC 这三个是必须要更改的。否则会冲突
可选修改:cpu、内存,我这里就不改了。

在这里插入图片描述
在这里插入图片描述

具体操作:

1、复制配置文件

[root@kvmserver /]# cd /etc/libvirt/qemu
[root@kvmserver qemu]# cp centos7.0-01.xml centos7.0-02.xml 
[root@kvmserver qemu]# vim centos7.0-02.xml 

修改就按上面介绍的方法修改三个地方即可,cpu和内存我们就不修改了。

2、复制磁盘镜像文件

[root@kvmserver qemu]# cd /kvmdata/
[root@kvmserver kvmdata]# ll
总用量 1633616
-rw------- 1 root root 21478375424 917 14:55 centos7.0-01.qcow2
[root@kvmserver kvmdata]# cp centos7.0-01.qcow2 centos7.0-02.qcow2 

3、创建虚拟机并重启

virsh define /etc/libvirt/qemu/centos7.0-02.xml
systemclt restart libvirtd

三、开启路由转发

vim /etc/sysctl.conf

末尾添加
net.ipv4.ip_forward = 1

刷新配置

sysctl -p

四、测试

成功开启,但是计算机名还是centos7-01,修改成02以免冲突。
在这里插入图片描述
接下来我们把两台都开启
在这里插入图片描述
完美开启

### 如何在 KVM克隆虚拟机 #### 虚拟机磁盘镜像的复制 为了实现 KVM虚拟机克隆,首要任务是对原始虚拟机使用的磁盘文件进行精确复制。通常情况下,KVM 使用的是基于 QEMU-img 工具创建的 qcow2 格式的磁盘镜像文件[^1]。可以利用 `qemu-img` 命令来完成这一操作。 以下是具体的命令示例: ```bash qemu-img convert -f qcow2 -O qcow2 /path/to/original-disk.qcow2 /path/to/cloned-disk.qcow2 ``` 上述命令会将 `/path/to/original-disk.qcow2` 文件转换并保存到新的路径下作为副本,从而形成一个新的独立磁盘镜像文件[^4]。 --- #### 创建新虚拟机定义 XML 配置 每台运行中的 KVM 虚拟机都有其对应的 libvirt 定义文件(XML 格式)。要成功克隆一台虚拟机,还需要为新虚拟机制作一份独特的 XML 配置文件,并将其指向刚刚生成的新磁盘镜像文件。 可以通过以下方式导出当前虚拟机的 XML 配置: ```bash virsh dumpxml original-vm-name > original.xml ``` 编辑该 XML 文件的内容,修改其中涉及的名称、UUID 和磁盘路径等字段以适配新虚拟机的需求。完成后,通过导入更新后的 XML 来注册新虚拟机: ```bash virsh define new.xml ``` 注意,在此过程中应确保 UUID 不重复以及网络接口 MAC 地址被重新分配,以免引起冲突[^3]。 --- #### 启动克隆后的虚拟机 当所有的准备工作都已完成——即拥有了全新的磁盘镜像和相应的虚拟机描述符后,则可正常启动所克隆出来的实例: ```bash virsh start cloned-vm-name ``` 如果一切设置无误的话,此时应该能够看到一个完全一致但又相互隔离的工作环境正在另一端平稳运作着[^2]。 --- #### 提高效率的小技巧 对于频繁执行此类任务的情况来说,考虑自动化脚本编写将会极大地提升工作效率;另外值得注意的一点在于某些特定场景下可能还会涉及到额外资源绑定比如 PCI 设备直通等问题处理方法则需参照具体需求另行探讨。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦良Cool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值