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

я играл с прочными виртуальными машинами 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.

попытка удалить сам blob (30GB VHD) в Azure Storage Explorer я получаю эту ошибку:

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

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

вопрос в том, как я могу удалить этот blob и, следовательно, учетную запись хранения?

9 ответов


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

процедура удаления образа диска из репозитория blob:

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

Примечания:

  • это применимо, даже если вы уже удалили все свои виртуальные машины и он показывает 0; там все еще будут артефакты на вкладке диски.
  • диски отсоединяются от удаленной виртуальной машины асинхронно, это может занять несколько минут после удаления виртуальной машины для этого поля, чтобы очистить.

Читайте также: невозможно удалить VHD, " в настоящее время существует аренда на капля..."


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

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>


к сожалению, есть случай, когда виртуальная машина была удалена, но диски показывают виртуальную машину, прикрепленную к blob (30GB VHD), исключающую удаление. Кроме того, в случае использования Azure Storage Explorer вы найдете orfan, но арендованный VHD blob, который нельзя удалить, и на портале предварительного просмотра нет ссылки.


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

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


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


в моем случае не удалось удалить хранилище из-за vmimages.

используйте команду power shell

get-azurevmimage / Where-Object - категория свойств в значении "пользователь"

перечислить все изображения Удалить ВСЕ ВЫ ИЗОБРАЖЕНИЯ использовать следующий скрипт:

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

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

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

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

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


иногда мы через новый портал удаляем учетную запись хранения azure, но мы не можем удалить ее и получить эту ошибку:" не удалось удалить учетную запись хранения "jason1disks796". Ошибка:учетная запись хранения не может быть удалена из-за использования ее артефактов. "

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

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, вы можете использовать этот скрипт чтобы удалить учетную запись хранения:

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

кроме того, существует другой сценарий, в этой учетной записи хранения нет контейнера или blob (пустой счет хранения, мы не можем найти blob или контейнер в этой учетной записи хранения через PowerShell или портал), когда мы используем портал для удаления учетной записи хранения, и сообщение об ошибке" не удалось удалить учетную запись хранения "jason1disks796". Ошибка: учетная запись хранения не может быть удалена из-за использования ее артефактов". В этом сценарий мы можем создать новую виртуальную машину и указать учетную запись хранения для проблемной учетной записи хранения, а затем удалить ее снова.


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

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

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

на новом обновленном портале Azure изменяются многие из указанных выше страниц конфигурации. На панели "все ресурсы" можно просмотреть параметры образов и дисков. В более новой версии портала Azure вы можете легко идентифицировать связанные с ним диски и учетную запись хранения VMs на соседних вертикальных панелях на одной странице с помощью различные иконки.