Как удалить учетную запись хранения 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.


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

735   9  

9 ответов:

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

процедура удаления образа диска из хранилища больших двоичных объектов:

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

Примечания:

  • это применимо, даже если вы уже удалили все свои виртуальные машины и он показывает 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>

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

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

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

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

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

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

сделать-azurevmimage | где-объект -собственность категория -в -значение "пользователь"

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

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

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

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

Я нашел этот блог это объясняет проблему и показывает, как использовать 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 или контейнер в этой учетной записи хранения с помощью PowerShell или портала), когда мы используем портал для удаления учетной записи хранения, и сообщение об ошибке" не удалось удалить учетную запись хранения "jason1disks796". Ошибка: учетная запись хранения не может быть удалена из-за использования ее артефактов". В этом сценарий мы можем создать новую виртуальную машину и указать учетную запись хранения для проблемной учетной записи хранения, а затем удалить ее снова.

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

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

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

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

Comments

    Ничего не найдено.