Как удалить образ ОС
Когда использовать
Когда образ ОС больше не нужен и его копии пора убрать со всех пулов кластера. Операция необратима и требует явного подтверждения: восстановить образ можно только новым импортом из источника библиотеки.
Удаление идёт в два шага — сначала read-only проверка зависимостей, потом сам снос. Первый шаг безопасен, его можно повторять сколько угодно раз: он ничего не меняет ни на узлах, ни в каталоге.
Не подходит, если нужно лишь закрыть образ для одного ВЦОД: удаление сносит образ целиком, со всех пулов кластера. Не подходит и для отзыва версии — версии образа отдельными объектами каталога не адресуются, удаляется образ по своему идентификатору.
Предусловия
- привилегия
View Image Dependenciesв области целевого ВЦОД — для проверки зависимостей; - привилегия
Remove OS Imageв области целевого ВЦОД — для самого удаления; это отдельное право, членство в грантах видимости его не даёт; - владение образом: администратор ВЦОД удаляет только образы, принадлежащие его ВЦОД. Общий кластерный образ и образ, лишь «показанный» его ВЦОД, удалить нельзя — это делает роль Cluster master;
- узлы кластера на связи: недоступный узел свою копию не отдаст, и удаление закончится частичным исходом;
- версия vStack Center — 3.0.5.
Шаги
Экранов библиотеки образов в веб-интерфейсе vStack Center нет: удалением управляют программно — вызовами API кластера или системой автоматизации, которая их делает. Шаги ниже задают порядок операций; состав запросов и полный разбор ответов — в Справочнике API.
-
Снимите карту зависимостей образа. Проверка опрашивает все онлайн-узлы и параллельно ищет машины, ссылающиеся на образ. Результат приходит по окончании опроса.
-
Прочитайте карту по четырём признакам.
Что смотреть Что читать сводный признак зависимостей «есть» означает, что удаление будет заблокировано карта клонов «узел → пул → клоны»: слева дочерний датасет, справа его родительский снимок (origin). Пометка об отсутствии образа на паре означает «копии образа на этом пуле нет» — это не зависимость и не сбой зависимые машины машины, которые ссылаются на образ: идентификатор и имя каждой пропущенные узлы узлы, которых опрос не застал: проверка неполная Непустой перечень пропущенных узлов означает, что клоны могли остаться незамеченными. Дождитесь возвращения узла и снимите карту заново.
-
Уберите зависимости. Пока у образа есть хотя бы один ZFS-клон или зависимая машина, удаление отклоняется кодом
-48012, и узлы при этом не трогаются. Разберитесь с зависимыми машинами из карты — этот шаг лежит вне библиотеки образов. -
Удалите образ. Необратимость подтверждается явно: без подтверждения удаление отклоняется. Перед сносом vStack Center заново проверяет зависимости — это защита от гонки, когда между проверкой и удалением у образа появился новый клон.
Результат терминальный: он приходит после ответов онлайн-узлов и сразу содержит исход — стадию образа, узлы, с которых копия снята, узлы с ошибкой и пропущенные узлы.
Проверка результата
Полное удаление опознаётся по трём признакам исхода:
| Что смотреть | Ожидаемое значение |
|---|---|
| Стадия образа | removed — строка каталога удалена |
| Узлы с ошибкой | перечень пуст |
| Пропущенные узлы | перечень пуст |
Образ после этого пропадает из каталога кластера — проверьте, что его строки больше нет в каталоге образов.
Если не получилось
Часть узлов не отдала копию
Удаление отвечает успешно, но со стадией partial_active: часть узлов копию не
отдала. В исходе перечислены узлы с ошибкой и причина по каждому — например,
датасет занят.
Успешные узлы не откатываются, строка каталога остаётся. Устраните причину и повторите удаление: оно идемпотентно доудаляет остаток. Непустой перечень пропущенных узлов означает то же самое — остаток не подтверждён, потому что узел не ответил.
Сервис перезапустился в середине удаления
«Зависших» образов после перезапуска не остаётся. Факт полного удаления
записывается в журнал безопасности строго раньше, чем из каталога исчезает
строка образа, поэтому на старте закоммиченные удаления довершаются, а
незакоммиченные переводятся в partial_active. Повторное удаление доводит
операцию до конца.
Отказы по коду
| Код отказа | Что означает | Что сделать |
|---|---|---|
-48011 | необратимость не подтверждена | подтвердить необратимость удаления явно |
-48012 | у образа есть ZFS-клоны или зависимые машины | снять карту зависимостей и убрать зависимые объекты; узлы не тронуты |
-48009 | образ не найден: строки каталога нет либо образ не виден вызывающему | сверить идентификатор образа; ответ одинаков для чужого закрытого образа — его существование не подтверждается |
-48004 | образ уже удаляется параллельной операцией | дождаться исхода первой операции |
-48010 | узлы не удалось опросить: недоступен кластер-статус или транспорт | проверить состояние кластера и повторить |
-403 | доступ запрещён | проверить привилегию удаления и владение: общий, чужой или «показанный» через грант образ удаляет только роль Cluster master |
-503 | журнал безопасности не принял запись о намерении | удаление не начато, ничего не изменено; восстановить доступность журнала и повторить |
-48001 | ошибка базы данных | повторить удаление; при повторе — обратиться в поддержку |
Неверный или отсутствующий идентификатор образа, как и отсутствующее подтверждение, отклоняются на разборе запроса — до любых действий с каталогом и узлами.
См. также
- Библиотека образов ОС — модель каталога, владение образом и область видимости.
- Как импортировать образ ОС в кластер — обратная операция: привоз образа и раздача по пулам.
Методы API
Операции этой страницы в API: golden-image-clones, golden-image-remove,
golden-images-list — см.
Справочник API.