When I remove a VM from the resource group, is it's VHD removed automatically from the storage account or I need to do something extra to free the space?
No módulo do ARM do Azure, se excluirmos a VM por meio do portal, o VHD da VM ainda armazenará na conta de armazenamento, e o NIC da VM, NSG, endereço IP público e outros não serão excluídos automaticamente.
Se você quiser excluir a VM e o VHD, exclua o VHD por meio do portal ou o comando Remove-AzureStorageBlob
do PowerShell manualmente.
PS > $RGName = "jason"
PS > $SAName = "jasondisks709"
PS > $ConName = "vhds"
PS > $TempObj = New-Object -TypeName PSCustomObject
PS > $TempObj |Add-Member -Name BlobName -MemberType NoteProperty -Value $null
PS > $TempObj |Add-Member -Name LeaseState -MemberType NoteProperty -Value $null
PS > $Keylist = Get-AzureRmStorageAccountKey -ResourceGroupName $RGName -StorageAccountName $SAName
PS > $Key = $Keylist[0].Value
PS > $Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
PS > $List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx
PS > $List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properti
es.LeaseState; $TempObj }
BlobName LeaseState
-------- ----------
VM120170119085610.vhd Leased
centos20170119090103.vhd Leased
O nome do Blob, primeira parte é o nome da VM, outra é a data, então você pode encontrar o nome do blob que você precisa.