Як видалити обліковий запис сховища Azure, що містить орендовану крапку?


155

Я грав з міцними віртуальними машинами Windows Azure. Врешті-решт я видалив віртуальну машину (успішно) і спробував видалити пов’язаний обліковий запис пам’яті.

Не вдалося запит на видалення облікового запису.

На порталі попереднього перегляду (Manag.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.

Намагаючись видалити саму крапку (VHD 30 Гб) на Azure Storage Explorer, я отримую цю помилку:

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

Тож моя оцінка полягає в тому, що ця крапка орендована (попередньою, тепер видаленою віртуальною машиною), і я не можу її видалити, якщо не можу отримати цей ідентифікатор оренди.

Питання: як я можу видалити цю крапку і, отже, обліковий запис пам’яті?

Відповіді:


332

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

Процедура видалення образу диска з сховища blob є:

  • Перейдіть на портал управління Windows Azure .
  • Клацніть на віртуальні машини.
  • Клацніть на дисках.
  • Клацніть на диску.
  • Клацніть на Видалити диск.

Після цього обліковий запис пам’яті можна видалити.

Примітки:

  • Це застосовується, навіть якщо ви вже видалили всі свої віртуальні машини, і це показує 0; на вкладці дисків все ще знайдуться артефакти.
  • Диски відлучаються від видаленого ВМ асинхронно, після очищення цього поля для очищення цього поля може знадобитися кілька хвилин.

Дивіться також: Неможливо видалити VHD: "Зараз є оренда на крапку ..."


Одне важливе зауваження: кнопка видалення не працює належним чином з IE9. Я не міг дотримуватися цього з IE, але з Chrome я не мав жодних проблем.
Пол Кістер

@PaulKeister Це також баггі на Firefox 17.0.1. Мені довелося спробувати кілька разів.
Джастін Скілз

На додаток до коментаря @ DavideIcardi: на цій темі на форумі MSDN пояснюється, що оренда блобу випускається асинхронно, і ця операція може тривати не більше 2 годин.
edymtt

1
Мені довелося перейти на старий портал> Зберігання> у списку вибрати обліковий запис сховища> натиснути вкладку Контейнери вгорі> натиснути vhds> вибрати крапку для видалення. Тепер ви можете видалити обліковий запис пам’яті.
chdev77

1
ditto @ chdev77. Мені також довелося зайти на старий портал, щоб диски з’явились. Нічого собі, це дратувало, як пекло!
harristrader

16

На жаль, відповідь Фернандо не спрацювала для мене, оскільки сховище було "сиротою", оскільки я видалив його VM перед тим, як видалити сховище. Я не зміг знайти спосіб зробити це з порталу, тому я встановив 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
Була точно така ж проблема. У мене була купа осиротілих дисків та зображень, які ви не можете видалити на порталі. Якби я знайшов цю відповідь чотири місяці тому!
Джеймс Вілсон

12

На жаль, є випадок, коли VM був видалений, але на Дисках відображається VM, прикріплений до краплі (VHD 30 Гб), що виключає видалення. Крім того, є випадок використання провідника зберігання Azure, ви знайдете орфанну, але орендовану VHD-крапку, яку неможливо видалити, і на порталі попереднього перегляду немає посилань.


3
Його відповідь неправильна за ВСІХ обставин. На даний момент у мене є три (3) "Диски", які перелічені у розділі "Віртуальні машини -> Диски", які неможливо видалити (отже, крапку неможливо видалити). Я поняття не маю, як позбутися від них, як єдиний сучасний спосіб, який я знаю, - це використання порталу. kieselmediagroup.blob.core.windows.net/misc/2012-08-21_1019.png
Джейсон

Як уже зазначав @Jason, ви не можете видалити диск також, якщо ви вже видалили відповідну віртуальну машину. З мого досвіду, здається, це лише проблема часу. Спробуйте почекати кілька хвилин, і ви зможете їх видалити.
Девід Ікарді

4
Я зачекав 3 місяці ... чи варто продовжувати чекати питання про терміни?
Dawesi

Зображення диска VHD можна знайти в розділі Огляд (на новому порталі)
Стан Баштавенко

8

Перейдіть до віртуальних машин, потім натисніть на диски. Позначте диск і виберіть "Видалити диск" внизу. Тепер ви можете вибрати, чи бажаєте ви зберегти або видалити відповідний vhd.

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


1
Я думаю, що у багатьох з вас є RTFM, і не питання. Це осиротілі орендовані заблоковані vhd ... У мене ж випуск, де я НЕ НІЩО на Azure, але два VHD, і вони не видаляються, оскільки вони здаються в оренду та заблоковані (що є помилкою, оскільки в них немає нічого в оренду)
Dawesi


5

У моєму випадку зберігання не вдалося видалити через зображення.

Використовуйте команду power shell

get-azurevmimage | Where-Object -Property Category -in -Value "користувач"

щоб перерахувати всі зображення Для видалення ВСІХ ВИДАЧІВ використовуйте такий сценарій:

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

Ви також можете видалити зображення з вкладки "Зображення" (всередині розділу віртуальних машин) на порталі Classic Azure Management.
Вагнер Бертоліні Юніор

4

Як вже сказав ФМ; існує сценарій, коли при видаленні VM диск все ще показує, як приєднаний до VM, навіть незважаючи на те, що VM був видалений.

Для мене це сталося тому, що у мене був встановлений ліміт витрат. Коли ліміт витрат досягнуто, ваші послуги вимкнено. Будь-які створені вами VPN-шлюзи та VM будуть видалені. Потім на вершині дисків, приєднаних до видалених віртуальних машин, вони все ще думають, що вони додані :(

Я знайшов цей блог, який роз'яснює проблему та показує, як використовувати повноваження для вирішення.

Сподіваюсь, це допомагає іншим користувачам.


1
чудово! ваше посилання привело мене до інструменту, який він створив через кілька днів, який дозволяє "випустити" свій vhd
Yannick Smits

0

Іноді через новий портал ми видаляємо обліковий запис лазерного сховища, але не можемо його видалити і отримуємо цю помилку: ”Не вдалося видалити обліковий запис пам’яті '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

Крім того, є інший сценарій, у цьому обліковому записі зберігання немає контейнера або крапки ( порожній обліковий запис , ми не можемо знайти крапку або контейнер у цьому обліковому записі пам’яті через PowerShell або портал), коли ми використовуємо портал для видалення облікового запису пам’яті. , і повідомлення про помилку "Не вдалося видалити обліковий запис пам’яті" jason1disks796 ". Помилка. Обліковий запис пам’яті не можна видалити через артефакти, які використовуються ». У цьому випадку ми можемо створити нову віртуальну машину та вказати обліковий запис пам’яті на проблемний обліковий запис сховища, а потім видалити його ще раз.


0

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

Виберіть вкладку "Віртуальні машини" на лівій панелі. Клацніть на "Екземпляри зображень та дисків"

Зауважте, що до окремих віртуальних машин є приєднані диски, які відображаються на області дисків. Перед видаленням віртуальної машини спочатку видаліть пов’язані диски, а у віртуальної машини - диск другий. Потім останнє видаліть обліковий запис пам’яті. Також слідкуйте за мережею на тій же панелі зліва, якщо вона пов’язана з обліковим записом, який ви хочете видалити.

На новому оновленому порталі Azure багато згаданих вище конфігураційних сторінок змінено. Параметри зображень та дисків можна побачити на панелі "Усі ресурси". У новій версії порталу Azure ви можете легко ідентифікувати VM, пов’язані з ними Диски та його обліковий запис Зберігання, на своїх сусідніх вертикальних панелях, все на одній сторінці з різними зображеннями значків.


0

Для тих, хто покладається на GUI, щоб керувати Azure і не мають ідеї використовувати PowerShell або робити інші відповіді, тепер ви можете видалити застряглі облікові записи, встановивши прапорець "Видалити неприєднані зображення", намагаючись видалити сховище.

Він автоматично видалить сховище без особливих клопотів.


Я це робив лише зараз, але забув точне формулювання прапорця.
Вилікс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.