No coredump target has been configured

Если вы устанавливаете ESXi 7.0 на локальное хранилище очень небольшого объема, например на USB/SD карту, то можете столкнуться с алармом в Summary хоста:

«No coredump target has been configured. host core dumps cannot be saved»

Это означает что у хоста отсутствует место куда он будет помещать свои coredump-ы при краше, например в случае PSOD. Что в свою очередь означает что мы их не извлечем и не сможем провести диагностику случившегося. Это плохо. Так случается потому что на локальном хранилище небольшого объема, куда вы установили ESXi не хватает места для размещения coredump файла. Но не все так однозначно. Иногда случается так что аларм появился, но у хоста все нормально с дампами. Давайте разберемся почему и рассмотрим оба варианта — когда аларм правдив и когда нет.

Когда нет

После установки ESXi на носитель, на котором ему недостаточно места для дамп файла, сам ESXi проверяет, доступны ли ему какие-либо VMFS датасторы. И если да, то на одном из них, выбранном случайно, создается папка vmkdump, а внутри нее coredump файл хоста. Если VMFS хранилища доступны ESXi хосту по software ISCSI или software FCoE, то на них coredump файл не создается.

Создание coredump файла происходит автоматически на ESXi хостах начиная с версии 5.5, если не создан coredump раздел при установке. Мы можем в этом убедиться сами. Нужно зайти в консоль нашего ESXi после установки на SD/USB. Можно по SSH или через DCUI. Выполним команду:

esxcli system coredump file list

И если у нас есть доступное хосту VMFS хранилище, то мы увидим, что у нас присутствует coredump файл, хотя мы его и не конфигурировали для этого хоста.

[root@esxi-04:~] esxcli system coredump file list
Path                                                                                                     Active  Configured        Size
-------------------------------------------------------------------------------------------------------  ------  ----------  ----------
/vmfs/volumes/5d36cd4e-de96f694-0afb-f063f958a80e/vmkdump/091A0600-50A7-11E7-9384-F87588817E8E.dumpfile    true        true  8782872576

Поэтому наш аларм «No coredump target has been configured. host core dumps cannot be saved» может не верно отражать действительность, да к тому же привлекать внимание. Мы может отключить его на хосте, если coredump-ы куда-то настроены, или же нам просто неугодно его лицезреть. Для этого нужно отредактировать Advanced Setting хоста под названием UserVars.SuppressCoredumpWarning, задав в значении 1 вместо 0. После этого аларм сразу же пропадет.

У автоматически создаваемого coredump файла может быть и отрицательная сторона. Он занимает некоторое место на произвольно выбранном хранилище. И если подобных хостов у нас много, то и занимаемое место будет пропорционально больше. И учитывая, что это случайно выбранное хранилище может содержать файлы виртуальных машин, перспектива его заполнения coredump-ами может быть не столь радужной ввиду опасности оверпровиженинга. Если мы удалим файл coredump, после перезагрузки, хост создаст его заного. Для того что бы отключить автосоздание coredump файлов нужно проделать следующие шаги:

  • Сконфигурировать расположение coredump-ов в другом месте. Это может быть раздел или сетевое расположение.
  • Отключить хранение coredump-ов в файле и удалить файлы.
esxcli system coredump file set --enable false
esxcli system coredump file remove --force 
  • Отключить функцию автосоздания coredump файлов изменив значение Advanced Setting хоста VMkernel.Boot.autoCreateDumpFile с true на false.

Когда правдив

В случае если наш аларм был корректным и ESXi действительно негде размещать дампы, стоит настроить их хранение. А такое случиться если на устройстве хранения, куда мы устанавливаем ESXi мало места и нет подходящих доступных датасторов.

Куда и как это настроить описано тут.