一、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
