Removendo o blob da VM da conta de armazenamento do Azure

1

Eu criei algumas VMs compartilhando uma conta de armazenamento no Azure usando o modelo de implantação do Grupo de Recursos.

Quando removo uma VM do grupo de recursos, seu VHD é removido automaticamente da conta de armazenamento ou preciso fazer algo extra para liberar espaço?

Obrigado.

Alex
fonte
Ok, parece que o blob não é limpo automaticamente por isso deve ser cuidado.
Alex

Respostas:

2

Quando removo uma VM do grupo de recursos, é removida do VHD   automaticamente a partir da conta de armazenamento ou eu preciso fazer algo extra   libertar o espaço?

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 a NIC da VM, o NSG, o endereço IP público e outros não serão excluídos automaticamente. Se você deseja excluir a VM e o VHD, exclua o VHD por meio do portal ou do comando do PowerShell Remove-AzureStorageBlob 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.

Jason Ye
fonte
Sim eu experimentalmente aprendi isso. Obrigado. Existe alguma maneira que eu possa dar um nome blob ao implantar a VM? Dessa forma, pelo menos, vou saber qual blob pertence a quais máquinas ao removê-lo automaticamente.
Alex
1
@Alex não podemos nomear o VHD da VM por padrão, mas podemos listar as informações da VM, dessa forma, podemos encontrar o nome do VHD. Se a VM for excluída, podemos listar todos os blobs e o status dos blobs, dessa forma, podemos encontrar o nome do blob que você precisa, adicionarei um script para listar todos os blobs com o powershell.
Jason Ye
Parece que, com o modelo de implantação clássico, você tem a opção de excluir o VHD ao excluir uma VM. Tão estranho que eles não adicionaram essa funcionalidade ao novo modelo de implantação.
Alex
@Alex atualizei a resposta, assim podemos encontrar o nome do blob.
Jason Ye