8.1 virt-clone概述

8.1.1 简介

virt-clone 主要是用来克隆kvm虚拟机,并且通过 Options、General Option、Storage Configuration、Networking Configuration 等不同选项对新的虚拟机进行一些特殊的定义。

8.1.2 主要参数

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

8.2 通过 virt-clone工具进行克隆 kvm 虚拟机

8.2.1 查看现有虚拟机

wKiom1e4KKiD3qIMAAASmdhL06A947.png-wh_50

8.2.2 关闭虚拟机准备克隆 

这边如果不关闭 kvm 虚拟机则直接克隆会报错,例如:ERROR Domain with devices to clone must be paused or shutoff.

在下指令 virsh shutdown centos6 之后如果虚拟机 State 还是 running,则进行强制关闭 virsh destroy centos6.

KVM精简教程(八):虚拟机管理之虚拟机克隆_第1张图片

8.2.3 克隆 kvm 虚拟机

新虚拟机名称为 centos6_clone 

xml 配置文件位于: /etc/libvirt/qemu/centos6_clone.xml 

img 磁盘文件位于:/data/centos6_clone.qcow2

clone命令:

# virt-clone --connect=qemu:///system -o centos6 -n centos6_clone -f /data/centos6_clone.qcow2

 wKiom1e4KMvAAYV-AAAuSfC_F80117.png-wh_50

8.3 查看结果

查看克隆完成的虚拟机列表:

wKiom1e4KNzgyXhZAAAX3CU5biE521.png-wh_50

 

8.4 启动新克隆的虚拟机

# virsh start centos6_clone

KVM精简教程(八):虚拟机管理之虚拟机克隆_第2张图片

现有虚拟机尚未获得IP地址,需要用virt-viewer管理.

#virt-viewer centos6_clone

启动Xing界面,配置IP.

注:克隆完成之后可能mac地址会有冲突,删除 /etc/udev/rules.d/70-persistent-net.rules 中的eth0的配置,接着把eth1改成eth0,并且修改 ifcfg-eth0 的mac,确认两个配置文件中的mac地址是一样的。