从 Azure 存储帐户中删除 VM blob

从 Azure 存储帐户中删除 VM blob

我使用资源组部署模型在 Azure 中创建了一些共享一个存储帐户的虚拟机。

当我从资源组中删除 VM 时,其 VHD 会自动从存储帐户中删除吗,还是我需要做一些额外的事情来释放空间?

谢谢。

答案1

当我从资源组中删除 VM 时,它的 VHD 会自动从存储帐户中删除吗,还是我需要做一些额外的事情来释放空间?

在 Azure ARM 模块中,如果我们通过门户删除虚拟机,虚拟机的 VHD 仍然存储在存储账户中,虚拟机的 NIC、NSG、公网 IP 地址等不会自动删除。如果要删除虚拟机和 VHD,需要通过门户或 PowerShell 命令Remove-AzureStorageBlob手动删除 VHD。

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

Blob 名称,第一部分是 VM 的名称,其他是日期,因此您可以找到所需的 Blob 名称。

相关内容