Azure
如何在 Azure 中獲取附加到數據磁碟的驅動器號?
我正在嘗試使用 Azure python SDK 在 azure 中獲取附加到 VM 的磁碟的某些詳細資訊。我才知道:
創建時,VM 將附加兩個磁碟:
- 作業系統盤(作業系統盤預設附加盤符C:)
- 臨時盤(臨時盤預設附加盤符D:)
除此之外,如果需要,我們還可以向 VM 添加額外的數據磁碟。問題是當我們添加數據磁碟時,我們不知道該磁碟附加了哪個字母。
我從 Azure 日誌分析中獲得磁碟的磁碟使用率詳細資訊及其驅動器號,但我沒有在該日誌中獲得磁碟名稱。所以,我無法確定它們是哪個磁碟的使用率日誌。
使用 Azure 的 Python sdk,我可以獲取磁碟名稱和磁碟大小,但無法獲取磁碟號。
我想知道磁碟的字母,以便了解特定磁碟的使用細節。有人可以幫我嗎?
正如評論中提到的,不可能在單個腳本中將 Azure 磁碟與 Windows 來賓磁碟映射。
您可以使用磁碟的 LUN 來獲取兩者的映射。
**步驟-1:**遠端進入虛擬機,打開powershell並執行以下命令:
`get-disk | format-list number, path`
您將獲得驅動器列表及其驅動器號(插槽)和 VM 中存在的路徑。
對於數據磁碟,路徑將類似於: ?\scsi#disk&ven_msft&prod_virtual_disk#
000001
#{57f56307-b6bf-19d0-94f2-00a0c91efb8b}**注意:**磁碟#000001# 是 LUN 部分。在這種情況下,它是 LUN 1。
或者
- 連接到虛擬機並打開磁碟管理
- 在下部窗格中,右鍵點擊任何磁碟並選擇“屬性”
- LUN 將列在“正常”選項卡上的“位置”屬性中
步驟 -2:現在要獲取 Azure 磁碟的詳細資訊,您可以在****CLI中執行以下命令:
`az vm show -g myResourceGroup -n myVM --query "storageProfile.dataDisks"`
或者
使用 Powershell:
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM $vm.StorageProfile.DataDisks | ft
或者
使用 Python SDK:
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)
參考: