Завис хост, подключенный к vCenter. Виртуалки работают, а хост не управляется. После перезагрузки сервисов зайти на гипервизор не получается: ошибка "503 service unavailable".
Сразу скажу, причина ошибки — переполнение директории /tmp. Вызывает ошибку тат же сервис amsd от Hewlett Packard, что описан здесь:
Ошибка "The ramdisk 'tmp' is full" на серверах HPE ProLiant с кастомным образом ESXi
Из-за переполнения /tmp даже ошибка "The ramdisk is full" не отображается. При этом виртуальные машины продолжают, к счастью, работать.
Проверяем статус службы hostd.
/etc/init.d/hostd status
Служба не запущена, пробуем запустить:
/etc/init.d/hostd start
Служба запускается, но через некоторое время она останавливается снова.
Выводим список ошибок из лога hostd:
cat /var/log/hostd.log | grep error
Читаем ошибку:
2020-04-08T07:51:56.935Z error hostd[FFC54B20] [Originator@6876 sub=Hostsvc] Dvs manager not found
2020-04-08T07:51:57.842Z error hostd[FFC96B70] [Originator@6876 sub=VsanPluginMgr] Mount diskgroup failed with exception Failed to get VSAN disk operation lock, a disk management operation is currently in progress(locked pid: 0), Error interacting with configuration file /tmp/.vsanDiskOpLock.lock: Filesystem reported Full while trying to lock /tmp/.vsanDiskOpLock.lock Please clear disk space and try again..
2020-04-08T07:52:05.406Z panic hostd[FFC54B20] [Originator@6876 sub=Default] error: N7Hostsvc21HaPlatformConfigFault9ExceptionE(vim.fault.PlatformConfigFault)
Самое важное, это "Filesystem reported Full". Делаем вывод, что не удаётся создать файл в директории /tmp. А не закончилось ли там место?
vdf
Действительно, /tmp забит на 100%. Вычислим, что занимает больше всего места:
cd /tmp
ls -FlS
Файл ams-bbUsg.txt занял всё место. Ошибка в пакете HPE Agentless Management (AMS) версии 11.4.0:
Команда esxcli не будет выполняться (localcli может при этом работать), например:
Просто ничего не выводится.
Для начала освободим место:
cd /tmp
rm ams-bbUsg.txt
Запустим hostd:
/etc/init.d/hostd start
Служба запускается. Ура, vCenter увидел хост и всё починилось. На некоторое время. Проверим текущую версию AMS:
esxcli software vib list | grep HPE
Для полного решения проблемы нужно обновить VIB пакет AMS. В статье выше я решил проблему обновлением ESXi до более новой версии. Вот только там у меня ESXi 6.7. А сейчас ESXi 6.0 последней версии от HPE, и там нет нужного пакета. Обновим VIB вручную.
Находим нужный пакет здесь, даю три ссылки для ESXi 6.0, ESXi 6.5 и ESXi 6.7:
http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/
http://vibsdepot.hpe.com/hpe/may2019/esxi-650-vibs/ams/
http://vibsdepot.hpe.com/hpe/may2019/esxi-670-vibs/ams/
Ссылка на пакет для ESXi 6.0:
http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/amsd-600.11.4.2-4.2494585.vib
Можно попытаться обновить пакет так:
esxcli software vib install -v "http://vibsdepot.hpe.com/hpe/may2019/esxi-600-vibs/ams/amsd-600.11.4.2-4.2494585.vib"
Если получилось, то вам повезло. У меня же все доступы перекрыты, поэтому просто скачиваю пакет и заливаю на хост в папку /tmp с помощью WinSCP:
Устанавливаю пакет:
esxcli software vib install -v "/tmp/amsd-600.11.4.2-4.2494585.vib"
Старый пакет удалился, новый пакет установился. Для полного счастья, судя по сообщению, необходимо перезагрузить хост.