Azure

如何在 Azure 中獲取附加到數據磁碟的驅動器號?

  • October 9, 2021

我正在嘗試使用 Azure python SDK 在 azure 中獲取附加到 VM 的磁碟的某些詳細資訊。我才知道:

創建時,VM 將附加兩個磁碟:

  1. 作業系統盤(作業系統盤預設附加盤符C:)
  2. 臨時盤(臨時盤預設附加盤符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)

參考:

如何將 Azure 磁碟映射到 Windows VM 來賓磁碟 - Azure 虛擬機 | 微軟文件

引用自:https://serverfault.com/questions/1080035