Ошибка "unknown stale-data"
1. Проблема
При выполнении команды hosted-engine --vm-status
, возникает ошибка Engine status : unknown stale-data
hosted-engine --vm-status
--== Host host1.my.local (id: 1) status ==--
Host ID : 1
Host timestamp : 20006
Score : 3400
Engine status : unknown stale-data
Hostname : host1.my.local
Local maintenance : False
stopped : False
crc32 : d86de5c9
conf_on_shared_storage : True
local_conf_timestamp : 20006
Status up-to-date : False
Extra metadata (valid at timestamp):
metadata_parse_version=1
metadata_feature_version=1
timestamp=20006 (Fri Dec 9 21:21:57 2022)
host-id=1
score=3400
vm_conf_refresh_time=20006 (Fri Dec 9 21:21:57 2022)
conf_on_shared_storage=True
maintenance=False
state=EngineDown
stopped=False
В случае реорганизации кластера виртуальных машин zVirt путём добавления новых хостов и с последующим выводом из эксплуатации ранее используемых хостов, можно столкнуться с ситуацией, при которой в метаданных конфигурации останется информация о уже несуществующем хосте.
2. Решение
-
Отфильтровать вывод, чтобы получить только имена хостов и их
идентификатор ID
:hosted-engine --vm-status | grep -e 'Hostname\|Host ID' Host ID : 1 Hostname : host1.my.local Host ID : 2 Hostname : host2.my.local Host ID : 3 Hostname : host3.my.local
-
Например, хост с ID 1 требуется удалить из конфигурации, как несуществующий. Для этого необходимо выполнить команды:
hosted-engine --set-maintenance --mode=global hosted-engine --clean-metadata --force-cleanup --host-id=1 INFO:ovirt_hosted_engine_ha.agent.agent.Agent:ovirt-hosted-engine-ha agent 2.4.9 started INFO:ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine:Certificate common name not found, using hostname to identify host INFO:ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine:Initializing ha-broker connection INFO:ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine:Broker initialized, all submonitors started INFO:ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine:Cleaning the metadata block! INFO:ovirt_hosted_engine_ha.agent.agent.Agent:Agent shutting down
-
Снова проверить статус всех хостов и убедиться в том, что несуществующий хост больше не отображается:
hosted-engine --vm-status | grep -e 'Hostname\|Host ID' Host ID : 2 Hostname : host2.my.local Host ID : 3 Hostname : host3.my.local
-
Выключить режим глобального обслуживания:
hosted-engine --set-maintenance --mode=none
-
Для удаления информации с других хостов, рекомендуется поочерёдно перевести их в режим обслуживания и перезагрузить.