Share via


Solucionar erros clássicos de exclusão de recursos de armazenamento

Este artigo fornece orientação para solução de problemas quando um dos seguintes erros ocorre ao tentar excluir a conta de armazenamento clássica do Azure, contêiner ou arquivo de blob de página *.vhd.

Este artigo aborda apenas problemas com recursos de armazenamento clássicos. Se um usuário excluir uma máquina virtual clássica usando o portal do Azure, PowerShell ou CLI, os discos não serão excluídos automaticamente. O usuário tem a opção de excluir o recurso "Disco". Caso a opção não seja selecionada, o recurso "Disco" impedirá a exclusão da conta de armazenamento, do contêiner e do arquivo de blob de página *.vhd real.

Mais informações sobre as vulnerabilidades podem ser encontradas aqui. O Azure impede a exclusão de um disco anexado a uma VM para evitar corrupção. Ele também impede a exclusão de contêineres e contas de armazenamento, que possuem um blob de página anexado a uma VM.

O que é um "Disco"?

Um recurso "Disco" é usado para montar um arquivo de blob de página .vhd em uma máquina virtual, como um disco de sistema operacional ou disco de dados. Um disco do sistema operacional ou disco de dados de recurso continuará a manter uma concessão no arquivo.vhd até ser excluído. Qualquer recurso de armazenamento no caminho mostrado na imagem abaixo não pode ser excluído se um recurso "Disco" apontar para ele.

Captura de tela das 3 partes de um caminho de recurso de armazenamento: conta de armazenamento, contêiner e blob de página real, ou seja, o arquivo *.vhd. Um recurso de disco aponta para ele.

Etapas ao excluir uma máquina virtual clássica

Importante

As VMs clássicas serão desativadas em 1º de setembro de 2023

Se você usa recursos de IaaS do ASM, conclua sua migração até 1º de setembro de 2023. Incentivamos você a fazer a troca mais cedo para aproveitar os muitos aprimoramentos de recursos no Azure Resource Manager.

Para obter mais informações, consulte Migrar seus recursos de IaaS para o Azure Resource Manager até 1º de setembro de 2023.

  1. Exclua a máquina virtual clássica.

  2. Se a caixa de seleção "Discos" estiver marcada, a concessão de disco (mostrada na imagem acima) associada ao blob de página .vhd será interrompido. O arquivo blob.vhd de página real ainda existirá na conta de armazenamento.

    A captura de tela mostra uma caixa de diálogo para confirmar a exclusão de uma máquina virtual.

  3. Depois que a concessão do(s) disco(s) for interrompida, o(s) blob(s) de página em si pode(m) ser excluído(s). Uma conta de armazenamento ou contêiner pode ser excluído depois que todos os recursos de "disco" presentes neles forem excluídos.

Observação

Se o usuário excluir a VM, mas não o VHD, as cobranças de armazenamento continuarão a ser acumuladas no arquivo *.vhd do blob de páginas. As cobranças estarão de acordo com o tipo de conta de armazenamento, verifique a página de preços para obter mais detalhes. Se o usuário não pretender mais usar o(s) VHD(s), exclua-o(s) para evitar cobranças futuras.

Não é possível excluir a conta de armazenamento

Quando o usuário tenta excluir uma conta de armazenamento clássica que não é mais necessária, o usuário pode ver o seguinte comportamento.

Portal do Azure

O usuário navega para a conta de armazenamento clássica no portal do Azure e clica em Excluir, o usuário verá a seguinte mensagem:

Com disco(s) "anexados" a uma máquina virtual

A captura de tela mostra uma mensagem explicando por que uma conta de armazenamento não pode ser excluída.

Com disco(s) "não anexado" a uma máquina virtual

Captura de tela do portal com a máquina virtual (clássica) Excluir painel sem erro aberto.

Azure PowerShell

O usuário tenta excluir uma conta de armazenamento, que não está mais sendo usada, usando cmdlets clássicos do PowerShell. O usurário receberá a seguinte mensagem:

Remove-AzureStorageAccount -StorageAccountName myclassicaccount

Remove-AzureStorageAccount: BadRequest: a conta de armazenamento myclassicaccount tem algumas imagens e/ou discos ativos, por exemplo myclassicaccount. Certifique-se de que essas imagens e/ou discos sejam removidos antes de excluir esta conta de armazenamento.

Não foi possível excluir o contêiner de armazenamento

Quando o usuário tenta excluir um contêiner de blob de armazenamento clássico que não é mais necessário, o usuário pode ver o seguinte comportamento.

Portal do Azure

O portal do Azure não permitiria que o usuário excluísse um contêiner se houvesse uma concessão de "disco(s)" apontando para um arquivo de blob de página *.vhd no contêiner. É projetado para evitar a exclusão acidental de um arquivo vhd(s) com disco(s) alugado neles.

Captura de tela do portal, que mostra que o botão Excluir está em cinza e o Estado de Concessão do contêiner é Concedido.

Azure PowerShell

Se o usuário optar por excluir usando o PowerShell, isso resultará no seguinte erro.

Remove-AzureStorageContainer -Context $context -Name vhds

Remove-AzureStorageContainer: O servidor remoto retornou um erro: (412) Atualmente, há uma concessão no contêiner e nenhuma ID de concessão foi especificada na solicitação. Código de status HTTP: 412 - Mensagem de erro HTTP: atualmente há uma concessão no contêiner e nenhum ID de concessão foi especificado na solicitação.

Não é possível excluir um vhd

Após deletar a máquina virtual do Azure, o usuário tenta deletar o arquivo vhd (page blob) e recebe a mensagem abaixo:

Portal do Azure

No portal, pode haver duas experiências dependendo da lista de blobs selecionada para exclusão.

  1. Se apenas os blobs "Concedidos" forem selecionados, o botão Excluir não será exibido.

    Captura de tela do portal, com o painel de lista de blob de contêiner aberto e apenas blobs alugados selecionados.

  2. Se for selecionada uma combinação de blobs "Leased" e "Available", o botão "Delete" aparecerá. Mas a operação "Excluir" deixará para trás os blobs de página, que possuem uma concessão de disco.

    Captura de tela do portal, com o painel de lista de blob de contêiner aberto e os blobs alugados e disponíveis selecionados.

    Captura de tela da caixa de diálogo Excluir blobs, informando que os blobs no estado concedido estão bloqueados para exclusão e serão ignorados.

Azure PowerShell

Se o usuário optar por excluir usando o PowerShell, isso resultará no seguinte erro.

Remove-AzureStorageBlob -Context $context -Container vhds -Blob "classicvm-os-8698.vhd"

Remove-AzureStorageBlob: O servidor remoto retornou um erro: (412) Atualmente, há uma concessão no blob e nenhuma ID de concessão foi especificada na solicitação. Código de status HTTP: 412 - Mensagem de erro HTTP: atualmente há uma concessão no blob e nenhuma ID de concessão foi especificada na solicitação.

Etapas de resolução

Para remover discos clássicos

Siga estas etapas no portal Azure:

  1. Navegue no portal Azure.

  2. Navegue até Discos (clássico).

  3. Clique na guia Discos.

    A captura de tela mostra o portal do Azure com discos (clássico) selecionado. Um nome de disco clássico e uma conta de armazenamento são mostrados.

  4. Selecione seu disco de dados e clique em Excluir disco.

    A captura de tela mostra o portal do Azure com discos (clássico) selecionado. Um disco de dados é selecionado e a opção Excluir é destacada.

  5. Repita a operação de exclusão que falhou anteriormente.

  6. Uma conta de armazenamento ou contêiner não pode ser excluído desde que tenha um único disco.

Para remover imagens clássicas

Siga estas etapas no portal Azure:

  1. Navegue no portal Azure.
  2. Navegue até as imagens do sistema operacional (clássico).
  3. Exclua a imagem.
  4. Repita a operação de exclusão que falhou anteriormente.
  5. Uma conta de armazenamento ou contêiner não pode ser excluído desde que tenha uma única imagem.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.