azuresdkforpython:获取dis的LUN

2024-05-29 05:56:21 发布

您现在位置:Python中文网/ 问答频道 /正文

如何获取磁盘的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。你知道吗

如何获取包含名称和LUN的磁盘列表?你知道吗

(顺便说一句,除了系统地搜索我的订阅中的所有虚拟机和所有磁盘之外,还有没有更好的方法从虚拟机id或虚拟机的连接磁盘列表中获取虚拟机?)你知道吗


Tags: clientid列表forsearchvirtualmachinemanaged
1条回答
网友
1楼 · 发布于 2024-05-29 05:56:21

How can I get a list of disks with their names and LUNs?

实际上,lun是虚拟机磁盘的属性,而不是磁盘的属性。所以需要通过VM信息获取数据盘lun和名称。示例代码如下:

compute_client = ComputeManagementClient(credential, Subscription_Id)

vm = compute_client.virtual_machines.get(vmGroup, vmName)
dataDisks = vm.storage_profile.data_disks
for disk in dataDisks:
    print(disk.lun)

有关更多详细信息,请参阅虚拟机的StorageProfile class。你知道吗

我认为您只需要获取VM信息,然后从中获取VM磁盘,如果您想获取所有连接到VM的磁盘的话。这是建议。此外,您还需要搜索订阅中的所有虚拟机,除非您只想搜索一个特殊的虚拟机。你知道吗

相关问题 更多 >

    热门问题