KVM虚拟机克隆两种操作方式
(一)kvm主机虚拟机本地克隆
1,查看虚拟机的配置文件和磁盘文件
[root@kvm-node1 /]# ls /etc/libvirt/qemu/node01.xml
[root@kvm-node1 /]# virsh domblklist node01查看磁盘文件
[root@kvm-node1 /]# ll /kvm/img/
total 2179268
-rw-r--r-- 1 qemu qemu 2231631872 May 17 15:07 node01.img查看虚拟机
[root@kvm-node1 /]# virsh list --all
Id Name State
----------------------------------------------------
1 node-01 running2,开始克隆
克隆主机必须暂停或关闭虚拟机
[root@kvm-node1 ~]# virt-clone -o node-01 -n node02 -f /kvm/img/node02.img
ERROR Domain with devices to clone must be paused or shutoff.vnc端口克隆默认设置为自动端口,避免冲突
[root@kvm-node1 ~]# virt-clone -o node-01 -n node02 -f /kvm/img/node02.img
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'node02.img' | 50 GB 00:00:57
Clone 'node02' created successfully.-o 被克隆虚拟机
-n 克隆后新的虚拟机
-f 克隆后新虚拟机的磁盘
3,启动虚拟机
virt-clone命令本地克隆主机名、uuid、mac地址等信息已经自动进行了修改
virsh start node-014,获取虚拟机vnc 端口
[root@kvm-node1 ~]# virsh vncdisplay node-01
:105,对比两个主机配置文件的差别
virsh dumpxml node-01.xml > server1.xml
virsh dumpxml node02 > server2.xm
vimdiff server1.xml server2.xm(二)复制配置文件与磁盘文件克隆
node-01作为模板主机,来进行克隆。
1,关闭node-01虚拟机
#关闭虚拟机
[root@kvm-node1 ~]# virsh shutdown node-01
#或
[root@kvm-node1 ~]# virsh destroy node-01
#查看虚拟机
[root@kvm-node1 ~]# virsh list --all
Id Name State
----------------------------------------------------
3 node02 running
- node-01 shut off2,克隆node-01.xml文件
[root@kvm-node1 ~]# virsh dumpxml node-01 > /etc/libvirt/qemu/node03.xml
[root@kvm-node1 ~]# ll /etc/libvirt/qemu/
total 12
drwx------. 3 root root 42 Apr 28 2021 networks
-rw------- 1 root root 3645 May 17 2022 node-01.xml
-rw------- 1 root root 3642 May 17 16:48 node02.xml
-rw-r--r-- 1 root root 3421 May 17 16:58 node03.xml3,复制kvm虚拟机磁盘文件,磁盘文件的路径也可以通过配置文件xml, <source file='/kvm/img/node01.img'/>路径进行查看或通过命令virsh domblklist node-01,查看虚拟磁盘位置
[root@kvm-node1 img]# cp node01.img node03.img
[root@kvm-node1 img]# ls
node01.img node02.img node03.img
[root@kvm-node1 img]# du -sh *
2.1G node01.img
2.1G node02.img
2.1G node03.img4,直接编辑修改配置文件(修改uuid,虚拟机name,网卡mac,硬盘source file,vnc端口号等)
[root@kvm-node1 img]# vi /etc/libvirt/qemu/node03.xml5,重新定义新虚拟机的配置文件
[root@kvm-node1 img]# virsh define /etc/libvirt/qemu/node03.xml
Domain node03 defined from /etc/libvirt/qemu/node03.xml
[root@kvm-node1 img]# virsh list --all
Id Name State
----------------------------------------------------
3 node02 running
- node-01 shut off
- node03 shut off5,启动虚拟机,修改ip、修改hostname
#开启虚拟机
[root@kvm-node1 img]# virsh start node03
Domain node03 started
#连接虚拟机
[root@kvm-node1 img]# virsh console node03