1、在克隆虚拟机之前,必须先暂停或者停掉kvm 虚拟机
第一种方法:针对虚拟机本身直接克隆(建议使用第二种方法)
1 执行命令virt-clone
virt-clone -o centos6r10 -n centos6r10-c1 -f /data/kvm/image/centos6r10-c1.qcow2
参数说明:
-o :指定源虚拟机
-n :命名新克隆的虚拟机
-f :指定新克隆虚拟机的位置
2 克隆完成后,在生成硬盘映像文件的同时,也会克隆虚拟机的配置文件:
3 查看各虚拟机的状态
4、启动新克隆的虚拟机,配置计算机名及IP地址
修改新克隆的虚拟机vnc监听的端口
virsh edit centos6r10-c1
编辑了域 centos6r10-c1 XML 配置。
启动新克隆的虚拟机
注意:这个错误因为新克隆的虚拟机和原来的虚拟机vnc的端口冲突
错误:开始域 snale_clone 失败
错误:internal error process exited while connecting to monitor: char device redirected to /dev/pts/2
2016-09-29T09:42:06.983409Z qemu-kvm: Failed to start VNC server on `0.0.0.0:1': socket bind failed: Address already in use
5.vnc连接新克隆的虚拟机
6.新克隆出来的虚拟机可能会连不上网
7.解决办法
删除 /etc/udev/rules.d/70-persistent-net.rules 中的eth0的配置,接着把 NAME=eth1 改成 NAME=eth0
修改 ifcfg-eth0 的mac 和 ip地址 确认两个配置文件中的mac地址是一样的
修改主机名称等
重启新克隆的虚拟机
第二种方法:复制kvm虚拟机配置文件及磁盘映象文件克隆
1 导出虚拟机 centos6r10 的配置文件到 /etc/libvirt/qemu 目录下并重命名为 centos6r10-c2.xml
virsh dumpxml centos6r10 >/etc/libvirt/qemu/centos6r10-c2.xml
2 复制kvm 虚拟磁盘文件到 /data/kvm/image 目录下并重命名为centos6r10-c2.qcow2
cp /data/kvm/image/centos6r10.qcow2 /data/kvm/image/centos6r10-c2.qcow2
3使用vi 或vim 编辑新虚拟机的主配置文件 centos6r10-c2.xml
注:由于此时的虚拟机还未注册,所以暂时不支持virsh edit 编译
修改name,uuid,disk位置,vnc端口,mac address:
4、注册新的虚拟机;
virsh define /etc/libvirt/qemu/centos6r10-c2.xml
5、启动
virsh start centos6r10-c2
6、vnc连接上去看
修改IP hostname 等
可以参考博文
https://www.jianshu.com/nb/34216795