我正在尝试克隆VM,我想更改磁盘容量。
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
答案 0 :(得分:1)
我不是用Java编写代码,但它足够接近C#供我使用。首先,您需要获取磁盘信息,然后拔出virtualdeviceconfigspec,更改它,然后添加将其附加回磁盘。您正在创建新规范,然后设置属性。另外,为什么要设置字节大小,然后是kb ???
以下是我能召集的所有Java ......
CustomEmailBackend