我想使用govmomi查找附加到虚拟机的vmdk文件。我可以找到它的托管对象存储,但是以编程方式无法做到这一点。
最佳答案
假设您具有虚拟机的托管对象vmMo
vmdks := []string{}
for _, device := range vmMo.Config.Hardware.Device {
switch disk := device.(type) {
case *types.VirtualDisk:
fileName := disk.GetVirtualDevice().Backing.(types.BaseVirtualDeviceFileBackingInfo).GetVirtualDeviceFileBackingInfo().FileName
vmdks = append(vmdks, fileName)
}
}