2013-07-15 69 views
1

我想在ESXi主機上使用Libvirt Java綁定定義新的持久域。我爲它創建了一個xml描述,我在其中設置了虛擬機及其源文件的設備。但是,除非手動爲服務器上的設備創建源文件,以便在以編程方式定義VM時已經存在,否則將失敗。下面是我用的XML代碼:Libvirt Java綁定定義域

<disk type='file' device='disk'> 
    <source file='[datastore1] TestVM/TestVM.vmdk'/> 
    <target dev='sda' bus='scsi'/> 
    <address type='drive' controller='0' bus='0' unit='0'/> 
</disk> 

所以TestVM.vmdk需要進行調用定義域之前存在,但我需要以某種編程方式創建此。有沒有人有任何想法如何使用Libvirt Java綁定來做到這一點?

回答

1

好的,所以我找到了一個解決方案,以防別人正在尋找這個。 Libvirt根據xml描述提供Java API以在存儲池中創建存儲卷。您需要在描述中指定vmdk文件的路徑,並在創建新vm時使用該路徑。通過連接對象中的storagePoolLookupByName方法獲取存儲池,並通過storageVolCreateXML向該池添加捲。