KVM虚拟机克隆

来源:互联网 发布:淘宝火拼单 编辑:程序博客网 时间:2024/05/05 03:20

每次重新创建实在是费功夫,因此克隆是个好主意。

在Hyper-V中没有直接clone的菜单,需要export和import,还要修改名称文件之类的。反而在KVM中操作十分简单。

假定有了一个vm1虚拟机,现在要克隆出vm2虚拟机。按照下列步骤执行:

1.停止vm1

[plain] view plaincopyprint?
  1. virsh shutdown vm1  
  2. Domain vm1 is being shutdown  
  3.   
  4. root@dbkvm:~# virsh list --all  
  5.  Id Name                 State  
  6. ----------------------------------  
  7.   - vm1                  shut off  

2. 克隆

先创建vm2目录

[plain] view plaincopyprint?
  1. mkdir -p /var/lib/libvirt/images/vm2  

然后运行virt-clone命令(可能需要安装apt-get install virtinst)

[plain] view plaincopyprint?
  1. virt-clone -o vm1 -n vm2 --file /var/lib/libvirt/images/vm2/a.img --file /var/lib/libvirt/images/vm2/b.img  
  2. Cloning tmprMrZcr.qcow2                                                                                                | 279 MB     00:02       
  3. Cloning tmpVJv5l4.qcow2                                                                                                | 307 MB     00:00       
  4.   
  5. Clone 'vm2' created successfully.  


3.修改vm2的网络配置
[plain] view plaincopyprint?
  1. 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文件中添加一行指令即可。

[plain] view plaincopyprint?
  1. auto eth0  
  2. iface eth0 inet dhcp  
  3.        hwaddress ether 01:02:03:04:05:06