每次重新建立實在是費功夫,因此複製是個好主意。
在Hyper-V中沒有直接clone的菜單,需要export和import,還要修改名稱檔案之類的。反而在KVM中操作十分簡單。
假定有了一個vm1虛擬機器,現在要複製出vm2虛擬機器。按照下列步驟執行:
1.停止vm1
virsh shutdown vm1Domain vm1 is being shutdownroot@dbkvm:~# virsh list --all Id Name State---------------------------------- - vm1 shut off
2. 複製
先建立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.imgCloning tmprMrZcr.qcow2 | 279 MB 00:02 Cloning tmpVJv5l4.qcow2 | 307 MB 00:00 Clone 'vm2' created successfully.
3.修改vm2的網路設定
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 eth0iface eth0 inet dhcp hwaddress ether 01:02:03:04:05:06