我想克隆VM,並且想更改磁盤容量。使用VI Java API修改虛擬磁盤大小
int virtualDisksCount = 0;
VirtualDisk virtualDisk = null;
for (VirtualDevice virtualDevice : virtualHardware.getDevice()) {
if (virtualDevice instanceof VirtualDisk) {
virtualDisksCount++;
virtualDisk = (VirtualDisk) virtualDevice;
}
}
if (virtualDisksCount == 1) {
VirtualDeviceConfigSpec discSpec = new VirtualDeviceConfigSpec();
discSpec.setOperation(VirtualDeviceConfigSpecOperation.EDIT);
virtualDisk.setCapacityInBytes(155500000000l);
virtualDisk.setCapacityInKB(155500000000000000l);
discSpec.setDevice(virtualDisk);
return discSpec;
}
代碼拋出異常:設備'0'的無效操作。 我在CloneVm_Task和ReconfigureVM_Task中傳遞了這些參數,發生相同的錯誤
如何更改虛擬磁盤容量?使用Vsphere 5.5
遇到了類似的問題 – bopomofu
我已經找到了解決。您可以使用最少需要的硬盤創建映像,例如10 GB,然後您應該使用DiskManager擴展大小。所以我們只做擴展硬盤不收縮 –
你是指使用virtualDiskManager數據對象嗎?你可以幫助詳細說明如何做到這一點,我們甚至沒有從VirtualDevice捕獲DiskObjectId - 它返回NULL – bopomofu