Ich versuche, die Details zum Datenträger abzurufen, der an die jeweilige VM angeschlossen ist. Der Hauptzweck besteht darin, benachrichtigt zu werden, wenn der Speicherplatz stark ausgelastet ist.
Ich kann mit dem folgenden Befehl die Namen der an die VM angeschlossenen Datenträger abrufen, erhalte aber keine Details wie Datenträgergröße, zugewiesenen Speicherplatz, verbleibenden Speicherplatz usw.
((get-azurermvm -resourcegroupname $vm.resourcegroupname -name $vm.name).StorageProfile).DataDisks
Es gibt New-Azurermvmdatadisk, Set-Azurermvmdatadisk, aber nicht so etwas wie Get-Azurermvmdatadisk
Kann mir bitte jemand helfen, wie ich an die Datenträgerdetails komme.
Antwort1
Die vorhandenen Cmdlets für Azure Compute rufen die MAXIMALE Größe der Datenfestplatte ab, aber nicht die TATSÄCHLICH genutzte Größe. Ich habe einen Fall bei Microsoft angesprochen und erfahren, dass diese Funktion noch nicht verfügbar ist. Aus diesem Grund verwenden wir Überwachungslösungen wie OMS, Datadog usw., die ihre Agenten innerhalb der virtuellen Maschine bereitstellen, um detaillierte Informationen wie die von Ihnen gewünschten abzurufen.
Antwort2
Diese Informationen sind außerhalb der VM nicht verfügbar; der Hypervisor hat einfach keine Möglichkeit zu wissen, wie viel Speicherplatz die VM tatsächlich von der zugewiesenen Festplattengröße verwendet. Dies gilt übrigens fürbeliebigHypervisor, sei es Hyper-V (auf dem Azure basiert), VMware oder etwas anderes.
Um zu wissen, wie viel Speicherplatz tatsächlich verwendet oder frei ist, müssen Sie in die VM schauen. Sie können Überwachungsagenten verwenden (wie sie beispielsweise in Azure enthalten sind) oder sogar ein Skript ausführen, das das PowerShell-Cmdlet aufruft Get-Volume
.
Es gibt mehrere Möglichkeiten,Skripts in einer Azure-VM ausführenInvoke-AzVMRunCommand
, von denen Azure PowerShell wahrscheinlich am einfachsten ist .