Skip to content

Очистка метаданных на хостах кластера с ролью Self-Hosted

В данном разделе описывается процедура очистки метаданных после удаления хоста из кластера или его переразвёртывания.

При удалении хоста из кластера его метаданные не удаляются автоматически из общего хранилища Hosted Manager. В результате на остальных хостах с ролью Self-Hosted этот хост продолжает отображаться в выводе команды hosted-engine --vm-status как недоступный. Аналогичная ситуация возникает при повторном развёртывании хоста без предварительной очистки старых метаданных — появляются дублирующиеся записи, что мешает корректной работе кластера высокой доступности.

Ниже приведены сценарии очистки для каждого из этих случаев.

Удаление метаданных хоста, исключённом из кластера

Если из кластера удалён хост с ролью Self-Hosted, но его данные продолжают отображаться на остальных аналогичных узлах, требуется провести очистку на каждом действующем Self-Hosted хосте в составе кластера.

Перед выполнением очистки убедитесь, что:

  • целевой хост физически отключён или удалён из кластера;
  • включён режим глобального обслуживания.
  1. Включите режим глобального обслуживания на любом работающем хосте с ролью Self-Hosted
hosted-engine --set-maintenance --mode=global
  1. Определите идентификатор удаленного хоста из вывода команды
hosted-engine --vm-status

Пример вывода:

--== Host but-node2.hostvm.test (id: 2) status ==--
Host ID                            : 2

В данном примере ID удалённого хоста — 2

  1. На каждом работающем хосте с ролью Self-Hosted выполните команду очистки:
hosted-engine --clean-metadata --host-id=ID

Вместо ID подставьте идентификатор удалённого хоста (в примере - 2).

Убедитесь, что вы используете правильный host-id, чтобы случайно не очистить метаданные другого рабочего хоста. Не выполняйте эту команду для хоста, который в данный момент активен и работает в кластере.

  1. Проверьте результат на любом хосте:
hosted-engine --vm-status

Запись об удалённом хосте должна исчезнуть из вывода.

  1. Отключите режим глобального обслуживания
hosted-engine --set-maintenance --mode=none

Очистка метаданных переразвернутого хоста

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

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

  • вы работаете именно с проблемным хостом;
  • на кластере включён режим глобального обслуживания.
  1. Включите режим глобального обслуживания на любом хосте кластера
hosted-engine --set-maintenance --mode=global
  1. Подключитесь к проблемному хосту по SSH и остановите HA-агент:
systemctl stop ovirt-ha-agent
  1. Принудительно удалите старые метаданные:
hosted-engine --clean-metadata --host-id=ID --force-clean 

Вместо ID подставьте старый идентификатор хоста (дублирующуюся запись из вывода hosted-engine --vm-status)

Убедитесь, что вы используете правильный host-id, чтобы случайно не очистить метаданные другого рабочего хоста.

  1. Запустите HA-агент заново:
systemctl start ovirt-ha-agent
  1. Убедитесь, что дублирующаяся запись исчезла. Проверку можно выполнить как на текущем хосте, так и на любом другом хосте вашего окружения HOSTVM Manager
hosted-engine --vm-status
  1. Отключите режим глобального обслуживания
hosted-engine --set-maintenance --mode=none

Дублирующаяся запись должна исчезнуть.

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