![PowerShell で Azure VM データ ディスクの詳細を確認する](https://rvso.com/image/726387/PowerShell%20%E3%81%A7%20Azure%20VM%20%E3%83%87%E3%83%BC%E3%82%BF%20%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E8%A9%B3%E7%B4%B0%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B.png)
特定の VM に接続されているデータ ディスクの詳細を取得しようとしています。主な目的は、ディスク領域の使用率が高い場合に通知を受け取ることです。
以下のコマンドを使用して、VM に接続されているデータ ディスクの名前を取得できますが、ディスク サイズ、割り当てられた領域、残りのディスク領域などの詳細は取得できません。
((get-azurermvm -resourcegroupname $vm.resourcegroupname -name $vm.name).StorageProfile).DataDisks
New-Azurermvmdatadisk、Set-Azurermvmdatadiskはありますが、Get-Azurermvmdatadiskのようなものはありません。
データディスクの詳細を取得する方法を誰か教えてください。
答え1
Azure Compute の既存のコマンドレットは、データ ディスクの最大サイズを取得しますが、実際に使用されているサイズは取得しません。Microsoft に問い合わせたところ、この機能はまだ利用できないことがわかりました。そのため、OMS、datadog などの監視ソリューションを使用して、仮想マシン内にエージェントを展開し、ご質問のような詳細情報を取得します。
答え2
この情報はVMの外部では利用できません。ハイパーバイザーには、割り当てられたディスクサイズのうちVMが実際に使用しているスペースの量を知る方法がありません。ちなみに、これはどれでもハイパーバイザーは、Hyper-V (Azure のベース)、VMware、またはその他のものになります。
実際に使用されているスペースや空きスペースの量を知るには、VM の内部を調べる必要があります。監視エージェント (Azure に含まれているものなど) を使用したり、PowerShell コマンドレットを呼び出すスクリプトを実行したりすることもできますGet-Volume
。
いくつかの方法がありますAzure VM内でスクリプトを実行するおそらく最も簡単なのはInvoke-AzVMRunCommand
Azure PowerShell です。