![透過PowerShell檢查Azure VM資料磁碟詳細信息](https://rvso.com/image/726387/%E9%80%8F%E9%81%8EPowerShell%E6%AA%A2%E6%9F%A5Azure%20VM%E8%B3%87%E6%96%99%E7%A3%81%E7%A2%9F%E8%A9%B3%E7%B4%B0%E4%BF%A1%E6%81%AF.png)
我正在嘗試獲取附加到特定虛擬機器的資料磁碟的詳細資訊。主要目的是在磁碟空間利用率很高時收到通知。
我可以使用以下命令取得附加到虛擬機器的資料磁碟的名稱,但無法取得磁碟大小、已指派的空間/剩餘磁碟空間等詳細資訊。
((get-azurermvm -resourcegroupname $vm.resourcegroupname -name $vm.name).StorageProfile).DataDisks
有 New-Azurermvmdatadisk、Set-Azurermvmdatadisk,但沒有像 Get-Azurermvmdatadisk 這樣的東西
任何人都可以幫助我如何獲取資料磁碟詳細資訊。
答案1
Azure 計算的現有 cmdlet 將擷取資料磁碟的最大大小,但不是實際使用的大小。我向微軟提出了一個案例,得知此功能尚不可用。這就是為什麼我們使用 OMS、datadog 等監控解決方案,它們在虛擬機器內部署代理程式來提取您所詢問的詳細資訊。
答案2
此資訊在 VM 外部不可用;虛擬機器管理程式沒有任何方法可以知道虛擬機器實際使用了多少已分配磁碟大小的空間。順便說一句,這是正確的任何虛擬機器管理程序,無論是 Hyper-V(Azure 所基於的)、VMware 或其他任何東西。
為了了解實際使用或空閒的空間有多少,您需要查看虛擬機器內部;您可以使用監視代理程式(例如 Azure 中包含的代理程式),甚至執行呼叫 PowerShell cmdlet 的腳本Get-Volume
。
有幾種方法可以在 Azure VM 中執行腳本,其中最簡單的可能是Invoke-AzVMRunCommand
Azure PowerShell。