Как удалить учетную запись хранения 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:
- перейти к Портал Управления Windows Azure.
- нажмите на виртуальные машины.
- нажмите на диски.
- нажмите на диск.
- нажмите Удалить диск.
после что учетная запись хранения может быть удален.
Примечания:
- это применимо, даже если вы уже удалили все свои виртуальные машины и он показывает 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 на соседних вертикальных панелях на одной странице с помощью различные иконки.