一, virt-clone 概述
1,virt-clone 作用简介
virt-clone 主要是用来克隆 kvm 虚拟机, 并且通过 Options,General Option,Storage Configuration,Networking Configuration 等不同选项对新的虚拟机进行一些特殊的定义.
2,virt-clone 参数介绍
Options(一些基本的选项):
--version: 查看版本
-h,--help: 查看帮助信息
--connect=URI: 连接到虚拟机管理程序 libvirt 的 URI
General Option(一般选项):
-o ORIGINAL_GUEST, --original=ORIGINAL_GUEST: 原来的虚拟机名称
-n NEW_NAME, --name=NEW_NAME: 新的虚拟机名称
--auto-clone: 从原来的虚拟机配置自动生成克隆名称和存储路径.
-u NEW_UUID, --uuid=NEW_UUID: 克隆虚拟机的新的 UUID, 默认值是一个随机生成的 UUID
Storage Configuration(存储配置):
-f NEW_DISKFILE, --file=NEW_DISKFILE: 指定新的虚拟机磁盘文件
--force-copy=TARGET: 强制复制设备
--nonsparse: 不使用稀疏文件复制磁盘映像
Networking Configuration:(网络配置)
-m NEW_MAC, --mac=NEW_MAC: 设置一个新的 mac 地址, 默认是一个随机的 mac
二, 通过 virt-clone 工具进行克隆 KVM 虚拟机
1, 查看 KVM 虚拟机
2, 关闭 KVM 虚拟机准备克隆
这边如果不关闭 KVM 虚拟机则直接克隆会报错, 例如: ERROR Domain with devices to clone must be paused or shutoff.
在下指令 virsh shutdown centos6.5 之后如果虚拟机 state 还是 running, 则进行强制关闭 virsh destroy centos6.5:
3, 克隆 KVM 虚拟机, 新虚拟机名称为 centos6.5_clone
xml 配置文件位于: /etc/libvirt/qemu/centos6.5_clone.xml
img 磁盘文件位于:/var/lib/libvirt/images/centos6.5_clone.img
virt-clone --connect qemu:///system --original centos6.9-1-clone --name centos6.9-4 --file /data/kvm/image/centos6.9-4.raw
4, 查看所有虚拟机列表 (centos6.5 及 centos6.5_clone)
5, 启动新克隆的 KVM 虚拟机 centos6.5_clone
注: 克隆完成之后可能 mac 地址会有冲突, 进入 KVM 删除 / etc/udev/rules.d/70-persistent-net.rules 中的 eth0 的配置, 接着把 eth1 改成 eth0, 并且修改 ifcfg-eth0 的 mac, 确认两个配置文件中的 mac 地址是一样的. 配置完重启.
6,KVM 虚拟机克隆完成
三, 附加信息
1, 查看 KVM 虚拟机的 xml 文件 (KVM 虚拟机配置信息):
2, 查看 xml 文件中的 mac address (KVM 虚拟机 mac 地址)
3, 查看 xml 文件总的 source file 信息 (KVM 虚拟机 img 文件路径)
4, 查看 KVM 虚拟机的 img 文件 (KVM 虚拟机磁盘文件):
5, 修改 KVM 虚拟机的 xml 文件的 VNC 端口, 然后重启 libvirt
vi /etc/libvirt/qemu/centos6.9-1.xml
/etc/init.d/libvirtd restart
这样重启不会导致启动的虚拟机重启.
参考:
http://blog.csdn.net/wanglei_storage/article/details/51106096 (以上内容转自此篇文章)
http://blog.csdn.net/hnhuangyiyang/article/details/50885755 http://www.linuxidc.com/Linux/2017-04/142857.htm
来源: http://www.bubuko.com/infodetail-2477897.html