首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >KVM--虚拟机克隆(六)

KVM--虚拟机克隆(六)

作者头像
Kevin song
发布2022-06-07 18:16:26
发布2022-06-07 18:16:26
1.9K0
举报

KVM虚拟机克隆两种操作方式

  1. 直接使用virt-clone命令来本地克隆;
  2. 拷贝xml配置文件和磁盘文件来克隆,类似于静态迁移,需要手动修改ip、uuid、vncport、配置中磁盘名和磁盘路径,以避免与被克隆虚拟机冲突。

(一)kvm主机虚拟机本地克隆

1,查看虚拟机的配置文件和磁盘文件

代码语言:javascript
复制
[root@kvm-node1 /]# ls /etc/libvirt/qemu/node01.xml
[root@kvm-node1 /]# virsh domblklist node01

查看磁盘文件

代码语言:javascript
复制
[root@kvm-node1 /]# ll /kvm/img/
total 2179268
-rw-r--r-- 1 qemu qemu 2231631872 May 17 15:07 node01.img

查看虚拟机

代码语言:javascript
复制
[root@kvm-node1 /]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     node-01                        running

2,开始克隆

克隆主机必须暂停或关闭虚拟机

代码语言:javascript
复制
[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端口克隆默认设置为自动端口,避免冲突

代码语言:javascript
复制
[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地址等信息已经自动进行了修改

代码语言:javascript
复制
virsh start node-01

4,获取虚拟机vnc 端口

代码语言:javascript
复制
[root@kvm-node1 ~]# virsh vncdisplay node-01
:10

5,对比两个主机配置文件的差别

代码语言:javascript
复制
virsh dumpxml node-01.xml > server1.xml
virsh dumpxml node02 > server2.xm
vimdiff   server1.xml  server2.xm

(二)复制配置文件与磁盘文件克隆

node-01作为模板主机,来进行克隆。

1,关闭node-01虚拟机

代码语言:javascript
复制
#关闭虚拟机
[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 off

2,克隆node-01.xml文件

代码语言:javascript
复制
[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.xml

3,复制kvm虚拟机磁盘文件,磁盘文件的路径也可以通过配置文件xml, <source file='/kvm/img/node01.img'/>路径进行查看或通过命令virsh domblklist node-01,查看虚拟磁盘位置

代码语言:javascript
复制
[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.img

4,直接编辑修改配置文件(修改uuid,虚拟机name,网卡mac,硬盘source file,vnc端口号等)

代码语言:javascript
复制
[root@kvm-node1 img]# vi /etc/libvirt/qemu/node03.xml

5,重新定义新虚拟机的配置文件

代码语言:javascript
复制
[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 off

5,启动虚拟机,修改ip、修改hostname

代码语言:javascript
复制
#开启虚拟机
[root@kvm-node1 img]# virsh  start node03
Domain node03 started
#连接虚拟机
[root@kvm-node1 img]# virsh  console node03
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档