设为首页 收藏本站
查看: 1381|回复: 0

[经验分享] KVM——复制xml文件与磁盘文件复制克隆虚拟机

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-11 09:54:14 | 显示全部楼层 |阅读模式
kvm虚拟机克隆有如下两种方式:  

    1.KVM本机虚拟机直接克隆   

    2.通过复制xml文件与磁盘文件复制克隆 (适用于异机的静态迁移和状态保存便于以后使用)。

本次主要介绍如何复制xml文件与磁盘文件复制克隆虚拟机:

1
2
3
4
5
6
7
8
9
10
简易版原理图:
A(模板)            B(克隆)
disk                disk
xml                 xml
需要更改内容          会变的内容

udev-mac            uuid
yum                 name
console=tty0        mac
网卡配置里的mac       disk



注释:
A为模板,为了不和B(克隆机)起冲突,主要是硬盘和网卡冲突,需要把A的udev注释,顺手配置好yum,console=tty0支持命令行操作,把网卡的uuid,mac信息删掉。
B为克隆机,为了区分出来,不和A起冲突,需要把uuid和mac删掉,把name和disk路径改成B的名字。
1
2
3
4
5
6
7
8
9
1.开机,进入模板主机,打开udev文件,注释里面内容,防止网卡复制为eth1
2.配置/etc/grub.conf里加console=ttyS0  支持命令行console模式开启虚拟机
3.cd /var/lib/libvirt/images/
4.ls一下查看是否为qcow2模式
5.yum可配可不配
6.关机
7.qemu-img convert -f raw -O qcow2 sourcename.raw centos.qcow2
virsh edit centos6(把raw修改qcow2)
注:如果是硬盘类型是raw类型的,不支持克隆,需要转化,如果是qcow2类型,此步则忽略。




实验步骤:
1.复制配置文件与磁盘文件克隆      
1
2
3
4
5
6
[iyunv@localhost images]# qemu-img create -f qcow2 -b rhel6.qcow2 GHOST
Formatting 'GHOST', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536
[iyunv@localhost images]# qemu-img create -f qcow2 -b rhel6.qcow2 ClientA
Formatting 'ClientA', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536
[iyunv@localhost images]# qemu-img create -f qcow2 -b rhel6.qcow2 ClientB
Formatting 'ClientB', fmt=qcow2 size=8589934592 backing_file='rhel6.qcow2' encryption=off cluster_size=65536



2.对比文件,备份模板虚拟机的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@localhost images]# du -m rhel6.qcow2
223    rhel6.qcow2
[iyunv@localhost images]# du -m GHOST
1    GHOST
[iyunv@localhost images]# virsh list --all
Id    名称                         状态
----------------------------------------------------
-     rhel6                        关闭
克隆三个虚拟机,数量自己定
[iyunv@localhost images]# virsh dumpxml rhel6 > /etc/libvirt/qemu/ghost.xml
[iyunv@localhost images]# virsh dumpxml rhel6 > /etc/libvirt/qemu/clienta.xml
[iyunv@localhost images]# virsh dumpxml rhel6 > /etc/libvirt/qemu/clientb.xml
[iyunv@localhost images]#



3.编辑克隆虚拟机的配置文件
1
2
3
4
5
6
(更改name,删除UUID,修改source路径名,删除mac)
[iyunv@localhost images]# vi /etc/libvirt/qemu/ghost.xml
[iyunv@localhost images]# vi /etc/libvirt/qemu/clienta.xml
[iyunv@localhost images]# vi /etc/libvirt/qemu/clientb.xml
[iyunv@localhost images]#
注:由于都需要进配置文件,就不贴出来了,反正就是更改这四个地方。



4.定义新虚拟机的配置文件
1
2
3
4
5
6
7
8
[iyunv@localhost images]# virsh define /etc/libvirt/qemu/ghost.xml
定义域 dhcp(从 /etc/libvirt/qemu/ghost.xml)

[iyunv@localhost images]# virsh define /etc/libvirt/qemu/clienta.xml
定义域 clienta(从 /etc/libvirt/qemu/clienta.xml)

[iyunv@localhost images]# virsh define /etc/libvirt/qemu/clientb.xml
定义域 clientb(从 /etc/libvirt/qemu/clientb.xml)



5.使用虚拟机
1
2
3
virsh list --all
virsh start ghost
virsh console ghost



结束语:      
1
   本次实验适用于在没有图形化的条件下如何实现克隆虚拟机,做技术就是需要拥有一颗永不磨灭的好奇心。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-202456-1-1.html 上篇帖子: KVM绝不是你想的那么难 下篇帖子: Centos 6.5_64 KVM虚拟化 虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表