1. 準(zhǔn)備工作
克隆虛擬機(jī)你需要以下文件:
- 一個(gè)定義文件(用于描述內(nèi)存大小邪码,CPUs的個(gè)數(shù)等等)
- 一個(gè)鏡像模板(以安裝好操作系統(tǒng))
2. 創(chuàng)建預(yù)定義文件和鏡像模板
定義文件為一個(gè)xml格式的文件牢裳,模板是一個(gè)虛擬機(jī)disk image.通過以下方法創(chuàng)建:
- 創(chuàng)建一個(gè)基本的虛擬機(jī)并安裝好操作系統(tǒng)
- 關(guān)閉該虛擬機(jī)
virsh shutdown basevm
- 導(dǎo)出XML格式文件负蠕,并復(fù)制基礎(chǔ)鏡像為template.qcow2
virsh dumpxml basevm > /var/lib/libvirt/images/template.xml
cp /var/lib/libvirt/images/basevm.qcow2 /var/lib/libvirt/images/template.qcow2
- 修改template.xml文件中鏡像文件的指定位置
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/template.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
- 通過 virt-sysprep 命令處理template.qcow2
這將重置鏡像并移除SSH kesy, 為網(wǎng)卡創(chuàng)建新的MAC地址,修改udev persistent net rules, 清除log文件等
virt-sysprep -a /var/lib/libvirt/images/template.qcow2
- 【可選】如果你不再需要basevm,刪除它。
virsh undefine basevm
rm /var/lib/libvirt/images/basevm.qcow2
3. 從模板克隆新的虛擬機(jī)
- 通過template.xml, template.qcow2 創(chuàng)建虛擬機(jī)
virt-clone --connect qemu:///system \
--original-xml /var/lib/libvirt/images/template.xml \
--name newvm \
--file /var/lib/libvirt/images/newvm.qcow2