Как удалить учетную запись хранения Azure, содержащую выделенный большой двоичный объект?

Я играл с надежными виртуальными машинами Windows Azure. В конце я удалил виртуальную машину (успешно) и попытался удалить связанную учетную запись хранения.

Запрос на удаление учетной записи хранения не выполняется.

На портале предварительного просмотра (manage.windowsazure.com), когда я удаляю учетную запись хранения, я получаю эту ошибку:

Failed to delete Storage account 'portalvhdscwtwycpsxxxxx'

Details:

Storage account portalvhdscwtwycpsxxxxx has 1 container(s) which have an active image and/or disk artifacts. Ensure those artifacts are removed from the image repository before deleting this storage account.

На предыдущем портале (windows.azure.com) я получаю эту ошибку:

Submit Failed

Storage account portalvhdscwtwycpsxxxxx has 1 container(s) which have an active image and/or disk artifacts. Ensure those artifacts are removed from the image repository before deleting this storage account.

Пытаясь удалить сам большой двоичный объект (виртуальный жесткий диск объемом 30 ГБ) в Azure Storage Explorer, я получаю эту ошибку:

There is currently a lease on the blob and no lease ID was specified in the request.

Таким образом, моя оценка состоит в том, что этот BLOB-объект сдан в аренду (предыдущей, теперь удаленной виртуальной машине), и я не могу удалить его, пока не получу этот ID аренды.

Вопрос: как я могу удалить этот BLOB-объект и, следовательно, учетную запись хранения?

Ответы на вопрос(9)

Проверьте перед удалением вашей учетной записи хранения; Для каждой созданной учетной записи хранения должны быть соответствующие виртуальные машины, диски и образы. Перейти на портал Azure

Выберите вкладку Виртуальные машины на левой панели Нажмите на изображения экземпляров и диски

Обратите внимание, что к отдельным виртуальным машинам прикреплены диски, которые отображаются в области дисков. Перед удалением виртуальной машины сначала удалите связанные диски, а на виртуальной машине - диск второй. Затем удалите учетную запись хранения последней. Также обратите внимание на Сеть в той же левой панели, если она связана с учетной записью, которую вы хотите удалить.

На новом обновленном портале Azure многие из указанных выше страниц конфигурации изменены. Параметры «Изображения и диски» можно найти в разделе «Все ресурсы». панель. В более новой версии портала Azure вы можете легко идентифицировать виртуальные машины, связанные с ними Диски и его учетную запись хранения, на смежных вертикальных панелях на одной странице с различными изображениями значков.

К несчастью,Фернандо ответ у меня не получилось, так как хранилище было «сиротским», так как я удалил его виртуальную машину перед удалением хранилища. Я не смог найти способ сделать это с портала, поэтому я установиллазурь-клии после аутентификации запустил следующие команды:

azure storage account delete <my-account>

Это терпит неудачу, и сообщение об ошибке содержит имя преступника, например:

error: Storage account <my-account> has some active image(s) and/or disk(s), e.g. <my-image>. Ensure these image(s) and/or disk(s) are removed before deleting this storage

Затем я удалил оскорбительное изображение

azure vm disk delete <my-image>

И снова попытался удалить хранилище, на этот раз успешно.

azure storage account delete <my-account>

Иногда мы через новый портал удаляем учетную запись хранения Azure, но мы не можем удалить ее и получить эту ошибку: & # x201D; Не удалось удалить учетную запись хранения "jason1disks796". Ошибка:The storage account cannot be deleted due to its artifacts being in use. & # X201C;

Мы можем использовать PowerShell для отображения всех двоичных объектов VHD учетной записи хранения (ARM module):

PS > Login-AzureRmAccount
PS > $RGName = "jason1"
PS > $SAName = "jason1disks796"
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 > Get-AzureStorageContainer -Context $ctx
CloudBlobContainer : Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer
Permission         : Microsoft.WindowsAzure.Storage.Blob.BlobContainerPermissions
PublicAccess       : Off
LastModified       : 1/19/2017 1:27:21 AM +00:00
ContinuationToken  :
Context            : Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext
Name               : vhds
PS > $List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx
PS > $List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properties.LeaseState; $TempObj }

BlobName              LeaseState
--------              ----------
SQL20170119092405.vhd     Leased

PS > Get-AzureStorageBlob -Blob * -Container $con -Context $ctx | Remove-AzureStorageBlob
PS > Remove-AzureRmStorageAccount -ResourceGroupName $RGname -Name $SAName

Если ваша учетная запись хранения находится вASM moduleВы можете использовать этот скрипт для удаления учетной записи хранения:

Add-AzureAccount
$SAName = "jason1161"
$ConName = "vhds"
$TempObj = New-Object -TypeName PSCustomObject
$TempObj |Add-Member -Name BlobName -MemberType NoteProperty -Value $null
$TempObj |Add-Member -Name LeaseState -MemberType NoteProperty -Value $null
$Keylist = Get-AzureStorageKey -StorageAccountName $SAName
$Key = $Keylist.primary
$Ctx = New-AzureStorageContext -StorageAccountName $SAName -StorageAccountKey $Key
$List = Get-AzureStorageBlob -Blob *.vhd -Container $ConName -Context $Ctx
$List | ForEach-Object { $TempObj.BlobName = $_.Name; $TempObj.LeaseState = $_.ICloudBlob.Properties.LeaseState; $TempObj }
PS > Get-AzureStorageBlob -Blob * -Container $con -Context $ctx | Remove-AzureStorageBlob
PS > Remove-AzureStorageAccount -Name $SAName

Кроме того, есть другой сценарий, в этой учетной записи хранения нет контейнера или блоба (an empty storage accountмы не можем найти большой двоичный объект или контейнер в этой учетной записи хранения через PowerShell или портал), когда мы используем портал для удаления учетной записи хранения и сообщение об ошибке & # x201D; Не удалось удалить учетную запись хранения "jason1disks796". Ошибка: учетная запись хранения не может быть удалена из-за использования ее артефактов & # x201D ;.In this scenario we can create a new VM and specify the storage account to the problematic Storage Account, then delete it again.

В моем случае, хранилище не может быть удалено из-за vmimages.

Используйте команду Power Shell

get-azurevmimage | Where-Object -Property Category -in -Value "user"

перечислить все изображения УдалитьALL YOU IMAGES используйте следующий скрипт:

get-azurevmimage | Where-Object -Property Category -in -Value "user" |   
foreach {
        echo "remove $($_.ImageName)"
        Remove-AzureVMImage –ImageName $($_.ImageName)
        }

Ты можешь использоватьIaas Management Studio : разорвать аренду, удалить блоб, затем удалить потерянное изображение.

Решение Вопроса

Ключом к решению является сообщение о том, что в контейнере имеется активный дисковый артефакт, и рекомендации по его удалению из хранилища.

Процедура удаления образа диска из хранилища BLOB-объектов:

После этого учетная запись хранения может быть удалена.

Заметки:

  • This applies even if you've already deleted all of your Virtual Machines and it shows 0; there still will be artifacts under the disks tab.
  • Disks are detached from a deleted VM asynchronously, it may take a few minutes after the VM is deleted for this field to clear up.

Смотрите также:Невозможно удалить виртуальный жесткий диск, & # x201C; в настоящее время существует аренда объекта blob & # x2026; & # x201D;

Как Ф.М. уже заявил; существует сценарий, при котором при удалении виртуальной машины диск все равно отображается как подключенный к виртуальной машине, даже если виртуальная машина была удалена.

Для меня это произошло потому, что у меня был установлен лимит расходов. Когда предел расходов достигнут, ваши услуги отключены. Все созданные вами VPN-шлюзы и виртуальные машины будут удалены. Затем, в довершение всего, диски, подключенные к удаленным виртуальным машинам, все еще думают, что они подключены :(

я нашелэтот блог это объясняет проблему и показывает, как использовать PowerShell для решения.

Надеюсь, что это помогает другим пользователям.

Перейдите на виртуальные машины, затем нажмите на диски. Пометьте диск и выберите «Удалить диск» внизу. Теперь вы можете выбрать, хотите ли вы сохранить или удалить соответствующий VHD.

Важно сначала удалить диск через виртуальные машины, а не удалить через хранилище.

К сожалению, есть случай, когда ВМ была удалена, но Диски показывают ВМ, присоединенную к BLOB-объекту (30 ГБ VHD), исключая удаление. Кроме того, в случае использования обозревателя хранилища Azure вы обнаружите несуществующий, но арендованный большой двоичный объект VHD, который нельзя удалить, и на портале предварительного просмотра отсутствует ссылка.

Ваш ответ на вопрос