Golang:如何使用govmomi查找连接到虚拟机的磁盘?

时间:2017-06-01 11:43:13

标签: go virtual-machine virtualization vsphere esx

我想找到使用govmomi附加到虚拟机的vmdk文件。我可以找到它的托管对象存储,但程序上无法这样做。

1 个答案:

答案 0 :(得分:1)

假设您拥有vm的托管对象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)
    }
}