【发布时间】:2020-01-30 06:03:51
【问题描述】:
如何获取磁盘的 LUN?我当前的代码如下所示:
compute_client = get_client_from_cli_profile(ComputeManagementClient)
virtual_machines = compute_client.virtual_machines
# Search VMs for the one I'm looking for
machines = virtual_machines.list_all()
for machine in machines:
if machine.vm_id == my_vm_id:
managed_id = machine.id
break
# Search disks for those matching my VM
disks = compute_client.disks.list()
disks = filter(lambda disk : \
disk.managed_by and disk.managed_by.lower() == managed_id.lower(), \
disks)
return disks
问题在于这会生成一个Disk 对象列表,其中包含一些有用的信息,但不包含磁盘 LUN 之类的东西。
我看到 DataDisk 对象包含 LUN,但我不知道如何获取。
如何获取磁盘列表及其名称和 LUN?
(顺便说一句,除了有条不紊地搜索订阅中的所有 vm 和所有磁盘之外,有没有更好的方法可以从 vm id 或 VM 的附加磁盘列表中获取 VM?)
【问题讨论】: