Перейти к основному содержанию
 

ESXi — 503 Service Unavailable

VMware

Завис хост, подключенный к 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

esxi

Читаем ошибку:

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

esxi

Действительно, /tmp забит на 100%. Вычислим, что занимает больше всего места:

cd /tmp
ls -FlS

esxi

Файл ams-bbUsg.txt занял всё место. Ошибка в пакете HPE Agentless Management (AMS) версии 11.4.0:

Advisory: VMware - VMware AMS Data File Filling Up Tmp May Cause VUM Updates to Fail On HPE Servers Running VMware ESXi 6.0/6.5/6.7 with AMS Version 11.4.0

Команда esxcli не будет выполняться (localcli может при этом работать), например:

esxi

Просто ничего не выводится.

Для начала освободим место:

cd /tmp
rm ams-bbUsg.txt

Запустим hostd:

/etc/init.d/hostd start

Служба запускается. Ура, vCenter увидел хост и всё починилось. На некоторое время. Проверим текущую версию AMS:

esxcli software vib list | grep HPE

esxi

Для полного решения проблемы нужно обновить 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

esxi

Можно попытаться обновить пакет так:

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:

esxi

Устанавливаю пакет:

esxcli software vib install -v "/tmp/amsd-600.11.4.2-4.2494585.vib"

esxi

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

Теги