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

huangapple go评论119阅读模式
英文:

Golang: How to find disk attached to a virtual machine using govmomi?

问题

我想使用govmomi找到附加到虚拟机的vmdk文件。我可以在托管对象存储中找到它,但无法以编程方式实现。

英文:

I want to find vmdk files attached to the virtual machine using govmomi. I can find it managed object store, but programmatically not able to do so.

答案1

得分: 1

假设您有一个名为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)
    }
}

以上代码是获取虚拟机的vmMo的管理对象中的虚拟磁盘文件名的示例代码。

英文:

Assuming you have vm's managed object 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)
    }
}

huangapple
  • 本文由 发表于 2017年6月1日 19:43:12
  • 转载请务必保留本文链接:https://go.coder-hub.com/44306591.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定