2012-06-10 2 views
146

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

Сбой запроса на удаление учетной записи хранилища.

На Preview Portal (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. 

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

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

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

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

ответ

328

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

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

  • Перейти к Windows Azure Management Portal.
  • Нажмите на Виртуальные машины.
  • Нажмите на Диски.
  • Нажмите на диск.
  • Нажмите «Удалить диск».

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

Примечания:

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

Смотрите также: Unable to delete VHD, “There is currently a lease on the blob…”

+44

+1 это применимо, даже если вы уже удалили все свои виртуальные машины, и он показывает 0, все еще будут артефакты под вкладкой дисков. –

+1

Обновлено. Спасибо @ Крис Марисич. –

+0

Важное замечание: кнопка удаления не работает должным образом с IE9. Я не мог следовать этому с помощью IE, но с Chrome у меня не было проблем. –

12

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

+2

См. Вышеупомянутый ответ от @Fernando Correia, это правильный ответ. –

+3

Его ответ неверен во всех обстоятельствах. В настоящее время у меня есть три (3) «Диска», которые перечислены в разделе «Виртуальные машины -> Диски», которые не могут быть удалены (следовательно, blob нельзя удалить). Я понятия не имею, как избавиться от них, как единственный, который я знаю, это использовать портал. https://kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png – Jason

+0

Как уже отмечалось в @Jason, вы не сможете удалить диск также, если вы уже удалили соответствующий виртуальный машина. По моему опыту, это всего лишь проблема времени.Попробуйте подождать несколько минут, и вы сможете удалить его. –

8

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

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

+1

Я думаю, что многие из вас имеют RTFM, а не вопрос. Это осиротевшие арендованные блокированные vhd ... У меня такая же проблема, когда у меня нет НИЧЕГО на Azure, но два VHD, и они не будут удаляться, поскольку они сдаются в аренду и блокируются (что является ошибкой, так как им нечего сдавать в аренду to) – Dawesi

4

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

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

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

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

+1

отлично! ваша ссылка привела меня к инструменту, который он сделал через несколько дней, что позволяет вам «отменить» ваш vhd: http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2012/09/26 /windows-azure-virtual-hard-disk-blob-storage-cross-account-copy-lease-break-and-management-tool.aspx –

5

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

5

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

Использование команды оболочки питания

get-azurevmimage | Где-Object -Property Категория -in -Value «пользователь»

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

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

Вы можете удалить изображения с Вкладка «Изображения» (раздел «Виртуальные машины») на Classic Azure Портал управления тоже. –

+0

Я знаю, что опаздываю на вечеринку, но спасибо. Борьба с этим изображением POS застряла на моей учетной записи в хранилище в течение нескольких дней. – Reezo

15

К сожалению, Fernando's answer не работал я, поскольку хранилище было «сиротой», поскольку я удалил его виртуальную машину перед удалением хранилища. Я не мог найти способ сделать это с портала так я установил 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>

+2

Была такая же проблема. У меня было множество сиротских дисков и изображений, которые вы не можете удалить на портале. Если бы я нашел эти ответы четыре месяца назад! –

0

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

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

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

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

0

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