每次重新创建实在是费功夫,因此克隆是个好主意。
在Hyper-V中没有直接clone的菜单,需要export和import,还要修改名称文件之类的。反而在KVM中操作十分简单。
假定有了一个vm1虚拟机,现在要克隆出vm2虚拟机。按照下列步骤执行:
1.停止vm1
virsh shutdown vm1 Domain vm1 is being shutdown root@dbkvm:~# virsh list --all Id Name State ---------------------------------- - vm1 shut off
先创建vm2目录
mkdir -p /var/lib/libvirt/images/vm2
然后运行virt-clone命令(可能需要安装apt-get install virtinst)
virt-clone -o vm1 -n vm2 --file /var/lib/libvirt/images/vm2/a.img --file /var/lib/libvirt/images/vm2/b.img Cloning tmprMrZcr.qcow2 | 279 MB 00:02 Cloning tmpVJv5l4.qcow2 | 307 MB 00:00 Clone 'vm2' created successfully.
virt-edit -d vm2 /etc/network/interfaces把IP地址改成和vm1不同的即可。用virt-edit需要等待一会儿,别着急。
4.启动vm2和vm1,检查一下。
一切正常。哦,忘记改主机名了,去/etc/hostname里面和/etc/hosts里面改一下。
5. 复制到其他机器
如果需要将clone的副本安装到其他机器,参考下列的顺序:
1. 复制vm2目录到其他host机器的/var/lib/libvirt/images/目录下
2. 复制vm2.xml文件到其他机器的/etc/libvirt/qemu/目录下
3.修改vm2.xml中的路径,确保a.img和b.img路径正确
4.在/etc/libvirt/qemu目录下 执行virsh define ./vm2.xml
5. virt-edit -d vm2 /etc/network/interfaces
修改其中的ip地址
6.virsh start vm2
7. 如果以此为模板, clone多个的话,一定要设置不同的网卡地址,如何设置很简单,在/etc/network/interfaces文件中添加一行指令即可。
auto eth0 iface eth0 inet dhcp hwaddress ether 01:02:03:04:05:06