Как скачать и анализировать дамп ESXI

Обновлено 14.11.2023

esxi dump logoДобрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Не так давно, я вам делал обзор, где и как вы можете прочитать и загрузить логи ESXI, это очень полезно при каких-либо ошибках. Сегодня я хочу немного продолжить данную тему и расскажу, все то же самое, но уже по отношению к дампу ESXI, я покажу, где их искать, как скачивать, анализировать и настраивать их месторасположение. Данный навык просто необходим администраторам занимающихся виртуализацией. Давайте приступать.

Что такое дамп памяти ESXI?

Дамп памяти ESXi (ESXi memory dump) - это снимок содержимого оперативной памяти виртуального сервера ESXi в определенный момент времени. Он используется для диагностики и анализа проблем, возникающих на сервере ESXi, таких как сбои, паники ядра или другие критические ошибки. Это некий аналог файла memory.dmp. Размер дампа памяти ESXi может варьироваться в зависимости от конкретной конфигурации и объема оперативной памяти виртуального сервера ESXi. Обычно размер дампа памяти составляет несколько гигабайт, например на хосте ESXI с объемом оперативной памяти в 768 ГБ, данный файл был всего 4 ГБ.

Какую информацию содержит дамп ESXI

Дамп памяти появляется при критической ситуации для хоста ESXI, называемой пурпурным экраном смерти. PSOD (Purple Screen of Death) - это критическая ошибка, которая возникает в гипервизоре ESXi от VMware. Когда происходит PSOD, экран становится пурпурным и виртуальные машины на хосте перестают функционировать. PSOD указывает на серьезные проблемы в работе гипервизора, такие как ошибки в драйверах, проблемы с памятью или другие аппаратные неисправности. При возникновении PSOD, система автоматически перезагружается для попытки восстановления, но иногда требуется вмешательство администратора. Для решения проблемы PSOD необходимо анализировать журналы событий и логи ESXi, чтобы определить причину ошибки и принять соответствующие меры для ее устранения.

Вот последний из PSOD, что с подвигнул меня написать данную статью про анализ дампа ESXI:

@BlueScreen: #PF Exception 14 in world 2097944:CAM taskq IP 0x0 addr 0x0
PTEs:0x808f3a9023;0x808f3aa023;0x808f3ab023;0x0;
Code start: 0x420010800000 VMK uptime: 0:01:11:01.147
base fs=0x0 gs=0x420041400000 Kgs=0x0
Jumpstart plugin restore-networking activation failed.
CPU model name: Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz, FMS: 06/55/4, uCodeRev: 2007006
PRODUCTNAME:PowerEdge R740, VENDORNAME:Dell Inc., SERIAL_NUMBER:111111111, SERVER_UUID:4c4c4544-0057-4310-8051-c8c04f595132, VERSION:, SKU:SKU=0715;ModelName=PowerEdge R740, FAMILY:PowerEdge
BIOS_VENDOR:Dell Inc., BIOS_VERSION:2.19.1, BIOS_RELEASE_DATE:06/04/2023

PTEs0x808f3a9023;0x808f3aa023;0x808f3ab023;0x0;

Информация, содержащаяся в дампе памяти ESXi, может включать следующее:

  • 1️⃣Содержимое оперативной памяти: Дамп памяти ESXi сохраняет содержимое оперативной памяти сервера в момент его создания. Это может быть полезно для анализа состояния системы и выявления проблем.
  • 2️⃣Стек вызовов (call stack): Дамп памяти ESXi может содержать информацию о текущих вызовах функций и процессов в момент создания дампа. Это может помочь в определении причин сбоев и ошибок.
  • 3️⃣Регистры процессора: Дамп памяти ESXi может содержать значения регистров процессора в момент создания дампа.
  • 4️⃣Информация о модулях ядра: Дамп памяти ESXi может содержать информацию о загруженных модулях ядра и их состоянии в момент создания дампа.

Где посмотреть dump ESXI

Для того, чтобы вам найти файл дампа, у вас есть два метода, но перед этим, вы должны включить службу ssh на вашем ESXI хосте, как это делать смотрите по ссылке, не будим на этом останавливаться.

  • 1️⃣Первый вариант, найти и скачать файл дампа ESXI, это воспользоваться утилитой WinSCP, которая позволяет подключиться по ssh через файловый менеджер. После подключения к гипервизору, вам необходимо перейти по пути:

/var/core

В результате вас перекинет в текущее месторасположение папки с дампами PSOD. Вы можете заметить, что данный путь будет вести на определенный датастор, об этом будет видно по GUID хранилища. Обратите внимание, что тут будут файлы vmkernel-zdump. Самый последний файл и есть свежий dump памяти гипервизора. Скачать его можно просто перенеся мышкой в нужный каталог или же через клавишу F5.

Скачивание дампа памяти ESXI

  • 2️⃣Второй вариант вариант найти и произвести настройки дампа, это подключение через утилиту Putty. Для начала давайте посмотрим, командой, где на хосте каталог под дампы:

esxcli system coredump file get

Вы можете обратить внимание, что он располагается на датасторе /vmfs/volumes/6544b838-f1f69de4-09c2-b0262873dcb0/. Теперь посмотрим вот такой командой, которая проверит, что создание дампа активно и в рамках какого каталога.

esxcli system coredump file list

Видим, что есть список всех файлов дампов, большая из них часть, это старый мусор и имеет статус "False", и есть активный у него статус "True".

Сравним активный каталог с тем, что мы видели в WinSCP.

Putty посмотреть расположение файла дампа ESXI

Как настроить место хранения дампов на USB-флешке

Для того, чтобы у вас vmkernel-zdump дампы сохранялись на USB-флешке, через Putty в cli выполните такие команды:

esxcli system settings kernel set -s allowCoreDumpOnUsb -v TRUE

Чтобы показать настройку, используйте:

esxcli system settings kernel list | { head -2; grep allowCore;}

Настройка USB-устройства для хранения дампов ядра

Так же данную опцию можно задать, через редактирование файла boot.cfg при загрузке ESXI хоста (Во время ползунка загрузки нажмите сочетание клавиш Shift+O). В в конец строки kernelopt введите:

allowCoreDumpOnUsb=TRUE

Этот параметр разрешает ESXi записывать дампы ядра после сбоя ядра в том VMFS-L Locker на загрузочном USB-устройстве (Актуально для ESXI 7).

Третий метод, это в веб-интерфейсе самого ESXI хоста, перейдите в раздел "Configure - Advanced System Settings". У параметра "VMkernel.Boot.allowCoreDumpOnUsb" выставите значение "True".

Advanced System Settings

Как самому сгенерировать файл дампа zdump VMkernel

Если вам нужно проверить будет ли создаваться у вас дамп файл, то можно это выполнить в ручном режиме, для этого есть такая команда:

esxcfg-dumppart --file --copy --devname active

Отобраpазиться путь к выходному файлу, чтобы вы могли найти zdump.

Как самому сгенерировать файл дампа zdump VMkernel

Если вы хотите создать файл дампа в определенное место из активного файла дампа, то выполните команду:

esxcfg-dumppart --file --copy --devname active --zdumpname  /vmfs/volumes/6544b838-f1f69de4-09c2- b0262873dcb0/vmkdump/4C4C4544- 0057-4310-8051-C8C04F595132.dumpfile

Настройка сборщика дампов VMware vSphere ESXi на vCenter

Если вы используете для управления ESXI хостами vCenter сервер, то вы можете его настроить в качестве центрального сборщика дампов. Для этого вам необходимо включить службу vSphere ESXi Dump Collector на интерфейсе VAMI https://vCenterIP_or_FQDN:5480 vCenter. Перейдите в "Services – VMware vSphere ESXi Dump Collector". Запустите службу и установите тип запуска "Автоматический" . Чтобы запустить службу из CLI, подключитесь к vCenter по SSH и запустите оболочку bash. Используйте эту команду для запуска службы:

service-control --start netdumper
или
vmon-cli --start netdumper

Для установки автозапуска. выполните вот такую команду:

vmon-cli --update netdumper --starttype AUTOMATIC

Настройка сборщика дампов VMware vSphere ESXi на vCenter

Нацеливание ESXI хостов на передачу дампов на vCenter

  • 1️⃣Подключаемся к нужному  ESXI хосту по ssh и произведем перенаправление дампов на vCenter. Для этого выполним такую команду:

esxcli system coredump network set --interface-name=vmk0 --server-ip=10.10.100.25

Обратите внимание, что тут есть дополнительный ключ --server-port=номер порта, по умолчанию он 6500 и в целом команду можно прописать и вот так (При необходимости порт можно поменять):

esxcli system coredump network set --interface-name=vmk0 --server-ip=10.10.100.25 --server-port=6500

  • 2️⃣Далее производим активацию перенаправления ESXi Dump Collector.

esxcli system coredump network set --enable true

  • 3️⃣Остается проверить параметры отправки:

esxcli system coredump network get
или
esxcli system coredump network check

Где найти файлы дампа ядра в vCenter

Чтобы проверить расположение файла дампа ядра на vCenter Server Appliance, подключитесь к vCenter по SSH, запустите оболочку bash и найдите файл netdumper.log в /var/log/vmware/netdumper/ (я использовал Tail -f, но не стесняйтесь использовать все, что вам нравится, чтобы показать результат). Там вы можете проверить настроенные ограничения размера и расположение хранилища в файловой системе (/var/core/netdumps ).

tail -f /var/log/vmware/netdumper/netdumper.log

Как настроить сборщик дампов ESXi с помощью Host Profiles

Host Profiles в ESXi - это функция, которая позволяет создавать и применять профили на хостах ESXi для обеспечения согласованности конфигурации и настроек. С помощью Host Profiles можно создавать шаблоны, содержащие настройки и конфигурацию хоста, включая сетевые настройки, хранилище данных, настройки безопасности и другие параметры. Затем эти профили могут быть применены к другим хостам ESXi для автоматического применения конфигурации и настроек.

Host Profiles также позволяют обеспечить согласованность конфигурации в группе хостов, что упрощает управление и поддержку инфраструктуры виртуализации. Если внесены изменения в профиль, они автоматически применяются ко всем хостам, к которым он был применен. Таким образом, Host Profiles помогает упростить и автоматизировать процесс настройки и управления хостами ESXi в виртуальной инфраструктуре VMware.

Чтобы начать использовать данный функционал, зайдите в vCenter по пути "Home - Policies and Profiles".

Policies and Profiles

переходим в раздел "Host Profiles" вам нужно создать новый или изменить текущий. через пункт меню "Edit Host Profile".

Edit Host Profile

Находим там раздел "Networking Configuration - Network Coredump Settings". Включаем опцию "Enable". Укажите используемый сетевой адаптер узла, IP-адрес сервера сетевого дампа и порт сервера сетевого дампа. Нажмите "Save" , чтобы завершить настройку профиля хоста.

Как активировать и выключить создание дампа на хранилище данных VMFS

Для того, чтобы создать файл дампа ядра в хранилище данных VMFS, вы можете воспользоваться такой командой:

esxcli system coredump file add /vmfs/volumes/6544b838-15343252-af5b-b0262873dcb0/

  • --datastore | -d datastore_UUID or datastore_name - Укажите хранилище данных для файла дампа. Если этот параметр не указан, система выбирает хранилище данных достаточного размера.
  • --file | -f file_name - Укажите имя файла дампа. Если оно не указано, система создает для файла уникальное имя.
  • --size |-s file_size_MB - Установите размер файла дампа в МБ. Если не указано, система создает файл размера, соответствующего памяти, установленной на хосте.

Далее сделаем его активным:

esxcli system coredump file set --smart --enable true

  • --enable | -e - Активируйте или деактивируйте файл дампа. Эту опцию нельзя указать при отмене конфигурации файла дампа.
  • --path | -p - Путь к файлу дампа ядра, который будет использоваться. Файл должен быть предварительно выделен.
  • --smart | -s - Этот флаг можно использовать только с --enable | -е=true . Это приводит к выбору файла с использованием алгоритма интеллектуального выбора.

Проверим командой, что дамп стал активным.

esxcli system coredump file list

Чтобы деактивировать создание дампа:

esxcli system coredump file set --unconfigure | -u

Чтобы удалить файл из хранилища данных VMFS:

esxcli system coredump file remove --file | -f file_name

  • -file | -f - Тут указывается имя файла дампа, который требуется удалить. Если вы не введете имя, команда удалит настроенный по умолчанию файл дампа ядра.
  • --force | -F - Данный ключ выключает создание файла дампа. Эта опция обязательна, если файл ранее не был деактивирован и активен.

Дополнительные ссылки

  • https://kb.vmware.com/s/article/77009
  • https://kb.vmware.com/s/article/2081902
  • https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-esxi-installation/GUID-914B8928-CDF3-4A3F-A4FA-807AFC3D788F.html
  • https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-storage/GUID-0DF35CC7-5187-4C60-BC3B-C6135A0786EA.html
Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *