Устранение неполадок при удалении классических ресурсов хранилища

В этой статье содержатся рекомендации по устранению неполадок при одной из следующих ошибок при попытке удалить классическую учетную запись хранения Azure, контейнер или файл страницы BLOB-объекта *.vhd.

В этой статье рассматриваются только проблемы с классическими ресурсами хранилища. Если пользователь удаляет классическую виртуальную машину с помощью портал Azure, PowerShell или CLI, диски не удаляются автоматически. Пользователь получает возможность удалить ресурс "Диск". Если параметр не выбран, ресурс "Диск" будет препятствовать удалению учетной записи хранения, контейнера и фактического файла страницы *.vhd.

Дополнительные сведения о дисках Azure можно найти здесь. Azure предотвращает удаление диска, подключенного к виртуальной машине, чтобы предотвратить повреждение. Это также предотвращает удаление контейнеров и учетных записей хранения, которые имеют страничный BLOB-объект, подключенный к виртуальной машине.

Что такое "диск"?

Ресурс "Диск" используется для подключения VHD-файла страничного BLOB-объекта к виртуальной машине в качестве диска ОС или диска данных. Диск ОС или ресурс диска данных до удаления будет по-прежнему хранить аренду VHD-файла. Любой ресурс хранилища в пути, показанном на приведенном ниже рисунке, не может быть удален, если на него указывает ресурс "Диск".

Снимок экрана: 3 части пути к ресурсу хранилища: учетная запись хранения, контейнер и фактический страничный BLOB-объект, т. е. файл *.vhd. Ресурс диска указывает на него.

Действия при удалении классической виртуальной машины

Важно!

Классические виртуальные машины будут прекращены 1 сентября 2023 г.

Если вы используете ресурсы IaaS из ASM, завершите миграцию до 1 сентября 2023 г. Мы рекомендуем сделать этот переход быстрее, чтобы воспользоваться преимуществами многочисленных улучшений функций в Azure Resource Manager.

Дополнительные сведения см. в статье Перенос ресурсов IaaS в Azure Resource Manager до 1 сентября 2023 г.

  1. Удалите классическую виртуальную машину.

  2. Если установлен флажок "Диски", аренда диска (как показано на рисунке выше), связанная с VHD-файлом страницы, будет нарушена. Фактический файл blob.vhd страницы по-прежнему будет существовать в учетной записи хранения.

    Снимок экрана: диалоговое окно для подтверждения удаления виртуальной машины.

  3. После разрыва аренды дисков можно удалить сами страничные BLOB-объекты. Учетную запись хранения или контейнер можно удалить после удаления всех присутствующих в них ресурсов "Диск".

Примечание.

Если пользователь удаляет виртуальную машину, но не виртуальный жесткий диск, плата за хранение будет по-прежнему взиматься за файл *.vhd страницы. Плата будет соответствовать типу учетной записи хранения, проверка на странице с ценами для получения дополнительных сведений. Если пользователь больше не намерен использовать виртуальные жесткие диски, удалите их, чтобы избежать будущих расходов.

Не удалось удалить учетную запись хранения

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

Портал Azure

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

С дисками, подключенными к виртуальной машине

Снимок экрана: сообщение, объясняющее, почему не удается удалить учетную запись хранения.

С дисками, "отсоединенных" к виртуальной машине

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

Azure PowerShell

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

Remove-AzureStorageAccount -StorageAccountName myclassicaccount

Remove-AzureStorageAccount : BadRequest: учетная запись хранения myclassicaccount содержит некоторые активные образы и/или диски, например myclassicaccount. Перед удалением этой учетной записи хранения убедитесь, что эти образы и(или) диски удалены.

Не удалось удалить контейнер хранилища

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

Портал Azure

портал Azure не позволит пользователю удалить контейнер, если в контейнере существует аренда "Дисков", указывающая на файл страницы *.VHD. Это позволяет предотвратить случайное удаление VHD-файлов с арендой дисков.

Снимок экрана: портал, на котором показана кнопка

Azure PowerShell

Если пользователь решит удалить с помощью PowerShell, это приведет к следующей ошибке.

Remove-AzureStorageContainer -Контекстная $context -Имя vhds

Remove-AzureStorageContainer: удаленный сервер вернул ошибку: (412) В настоящее время контейнер аренды не указан, и в запросе не указан идентификатор аренды. Код состояния HTTP: 412 — сообщение об ошибке HTTP: в настоящее время контейнер аренды не указан, и в запросе не указан идентификатор аренды.

Не удается удалить виртуальный жесткий диск

После удаления виртуальной машины Azure пользователь пытается удалить VHD-файл (страничный BLOB-объект) и получает следующее сообщение:

Портал Azure

На портале может быть два интерфейса в зависимости от списка BLOB-объектов, выбранных для удаления.

  1. Если выбраны только арендованные большие двоичные объекты, кнопка Удалить не отображается.

    Снимок экрана портала с открытой областью списка BLOB-объектов контейнера и выбранными только арендованными BLOB-объектами.

  2. Если выбрано сочетание больших двоичных объектов "Арендованный" и "Доступный", появится кнопка "Удалить". Но операция "Удалить" оставит после себя страничные BLOB-объекты, которые имеют аренду диска.

    Снимок экрана: портал с открытой областью списка BLOB-объектов контейнера и выбранными выделенными и доступными BLOB-объектами.

    Снимок экрана: диалоговое окно

Azure PowerShell

Если пользователь решит удалить с помощью PowerShell, это приведет к следующей ошибке.

Remove-AzureStorageBlob -Context $context -Container vhds -Blob "classicvm-os-8698.vhd"

Remove-AzureStorageBlob: удаленный сервер вернул ошибку: (412) В настоящее время большой двоичный объект аренды не указан, и идентификатор аренды не указан в запросе.. Код состояния HTTP: 412 — сообщение об ошибке HTTP. В настоящее время для большого двоичного объекта есть аренда, и идентификатор аренды не указан в запросе.

Действия по устранению

Удаление классических дисков

Выполните следующие действия на портал Azure:

  1. Перейдите на портал Azure.

  2. Перейдите к разделу Диски (классические).

  3. Перейдите на вкладку Диски.

    Снимок экрана: портал Azure с выбранным параметром Диски (классические). Отображается классическое имя диска и учетная запись хранения.

  4. Выберите диск данных и нажмите кнопку Удалить диск.

    Снимок экрана: портал Azure с выбранным параметром Диски (классические). Выбран диск данных и выделен параметр Удалить.

  5. Повторите операцию удаления, которая ранее завершилась сбоем.

  6. Учетную запись хранения или контейнер нельзя удалить, если в ней есть один диск.

Удаление классических изображений

Выполните следующие действия на портал Azure:

  1. Перейдите на портал Azure.
  2. Перейдите к образам ОС (классические).
  3. Удалите изображение.
  4. Повторите операцию удаления, которая ранее завершилась сбоем.
  5. Учетную запись хранения или контейнер нельзя удалить, если в ней есть один образ.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.