我正在尝试使用获取附加在蔚蓝中的VM磁盘的某些细节。我知道了:
VM在创建时将有两个磁盘连接到它:
除此之外,如果需要的话,我们还可以向VM添加额外的数据磁盘。问题是当我们添加一个数据磁盘时,我们不知道哪个字母被附加到那个磁盘上。
我从Azure日志分析中获得了磁盘的磁盘利用率详细信息以及它的驱动器号,但是我没有在日志中获得磁盘名称。因此,我无法确定它们是哪个磁盘的使用日志。
使用Azure的Python,我可以获得磁盘名称和磁盘大小,但无法获得磁盘字母。
我想知道磁盘的字母,以便了解特定磁盘的使用细节。有人能帮我吗?
发布于 2021-08-25 10:52:20
正如注释中提到的,不可能在单个脚本中将Azure磁盘与Windows磁盘进行映射。
您可以使用LUN作为磁盘来获得两者的映射。
Step -1 :远程到VM中,打开powershell并运行以下命令:
`get-disk | format-list number, path`您将得到驱动器的列表及其驱动器号(槽)以及VM中的路径。
对于数据磁盘,路径将类似于:?\scsi#disk&ven_msft&prod_virtual_disk#**
000001**#{57f56307-b6bf-19d0-94f2-00a0c91efb8b}
Note : disk#000001#是LUN部分。在这种情况下是伦1。
或
Step -2 :现在要获取Azure磁盘的详细信息,可以在CLI中运行以下命令:
`az vm show -g myResourceGroup -n myVM --query "storageProfile.dataDisks"`或
Using Powershell:
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
$vm.StorageProfile.DataDisks | ft或
Using Python:
from azure.mgmt.compute import ComputeManagementClient
from azure.identity import AzureCliCredential
credential = AzureCliCredential()
rg = 'ResourceGroupName'
name = 'VMName'
subscription_id = "SubID"
compute_client = ComputeManagementClient(credential, subscription_id)
vm = compute_client.virtual_machines.get(rg,name)
##get OS disk size(GB)
print (vm.storage_profile.os_disk.name,vm.storage_profile.os_disk.disk_size_gb)
datadisks = vm.storage_profile.data_disks
##get data disk size(GB)
for i in datadisks:
print (i.lun,i.name,i.disk_size_gb)引用:
https://serverfault.com/questions/1080035
复制相似问题