Как скачать и анализировать дамп ESXI
- Что такое дамп памяти ESXI?
- Какую информацию содержит дамп ESXI
- Где посмотреть dump ESXI
- Как настроить место хранения дампов на USB-флешке
- Как самому сгенерировать файл дампа zdump VMkernel
- Настройка сборщика дампов VMware vSphere ESXi на vCenter
- Нацеливание ESXI хостов на передачу дампов на vCenter
- Где найти файлы дампа ядра в vCenter
- Как настроить сборщик дампов ESXi с помощью Host Profiles
- Как активировать и выключить создание дампа на хранилище данных VMFS
- Дополнительные ссылки
Добрый день! Уважаемые читатели и гости 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:
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
Информация, содержащаяся в дампе памяти ESXi, может включать следующее:
- 1️⃣Содержимое оперативной памяти: Дамп памяти ESXi сохраняет содержимое оперативной памяти сервера в момент его создания. Это может быть полезно для анализа состояния системы и выявления проблем.
- 2️⃣Стек вызовов (call stack): Дамп памяти ESXi может содержать информацию о текущих вызовах функций и процессов в момент создания дампа. Это может помочь в определении причин сбоев и ошибок.
- 3️⃣Регистры процессора: Дамп памяти ESXi может содержать значения регистров процессора в момент создания дампа.
- 4️⃣Информация о модулях ядра: Дамп памяти ESXi может содержать информацию о загруженных модулях ядра и их состоянии в момент создания дампа.
Где посмотреть dump ESXI
Для того, чтобы вам найти файл дампа, у вас есть два метода, но перед этим, вы должны включить службу ssh на вашем ESXI хосте, как это делать смотрите по ссылке, не будим на этом останавливаться.
- 1️⃣Первый вариант, найти и скачать файл дампа ESXI, это воспользоваться утилитой WinSCP, которая позволяет подключиться по ssh через файловый менеджер. После подключения к гипервизору, вам необходимо перейти по пути:
В результате вас перекинет в текущее месторасположение папки с дампами PSOD. Вы можете заметить, что данный путь будет вести на определенный датастор, об этом будет видно по GUID хранилища. Обратите внимание, что тут будут файлы vmkernel-zdump. Самый последний файл и есть свежий dump памяти гипервизора. Скачать его можно просто перенеся мышкой в нужный каталог или же через клавишу F5.
- 2️⃣Второй вариант вариант найти и произвести настройки дампа, это подключение через утилиту Putty. Для начала давайте посмотрим, командой, где на хосте каталог под дампы:
Вы можете обратить внимание, что он располагается на датасторе /vmfs/volumes/6544b838-f1f69de4-09c2-b0262873dcb0/. Теперь посмотрим вот такой командой, которая проверит, что создание дампа активно и в рамках какого каталога.
Видим, что есть список всех файлов дампов, большая из них часть, это старый мусор и имеет статус "False", и есть активный у него статус "True".
Сравним активный каталог с тем, что мы видели в WinSCP.
Как настроить место хранения дампов на USB-флешке
Для того, чтобы у вас vmkernel-zdump дампы сохранялись на USB-флешке, через Putty в cli выполните такие команды:
Чтобы показать настройку, используйте:
Так же данную опцию можно задать, через редактирование файла boot.cfg при загрузке ESXI хоста (Во время ползунка загрузки нажмите сочетание клавиш Shift+O). В в конец строки kernelopt введите:
Этот параметр разрешает ESXi записывать дампы ядра после сбоя ядра в том VMFS-L Locker на загрузочном USB-устройстве (Актуально для ESXI 7).
Третий метод, это в веб-интерфейсе самого ESXI хоста, перейдите в раздел "Configure - Advanced System Settings". У параметра "VMkernel.Boot.allowCoreDumpOnUsb" выставите значение "True".
Как самому сгенерировать файл дампа zdump VMkernel
Если вам нужно проверить будет ли создаваться у вас дамп файл, то можно это выполнить в ручном режиме, для этого есть такая команда:
Отобраpазиться путь к выходному файлу, чтобы вы могли найти zdump.
Если вы хотите создать файл дампа в определенное место из активного файла дампа, то выполните команду:
Настройка сборщика дампов 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. Используйте эту команду для запуска службы:
или
vmon-cli --start netdumper
Для установки автозапуска. выполните вот такую команду:
Нацеливание ESXI хостов на передачу дампов на vCenter
- 1️⃣Подключаемся к нужному ESXI хосту по ssh и произведем перенаправление дампов на vCenter. Для этого выполним такую команду:
Обратите внимание, что тут есть дополнительный ключ --server-port=номер порта, по умолчанию он 6500 и в целом команду можно прописать и вот так (При необходимости порт можно поменять):
- 2️⃣Далее производим активацию перенаправления ESXi Dump Collector.
- 3️⃣Остается проверить параметры отправки:
или
esxcli system coredump network check
Где найти файлы дампа ядра в vCenter
Чтобы проверить расположение файла дампа ядра на vCenter Server Appliance, подключитесь к vCenter по SSH, запустите оболочку bash и найдите файл netdumper.log в /var/log/vmware/netdumper/ (я использовал Tail -f, но не стесняйтесь использовать все, что вам нравится, чтобы показать результат). Там вы можете проверить настроенные ограничения размера и расположение хранилища в файловой системе (/var/core/netdumps ).
Как настроить сборщик дампов ESXi с помощью Host Profiles
Host Profiles в ESXi - это функция, которая позволяет создавать и применять профили на хостах ESXi для обеспечения согласованности конфигурации и настроек. С помощью Host Profiles можно создавать шаблоны, содержащие настройки и конфигурацию хоста, включая сетевые настройки, хранилище данных, настройки безопасности и другие параметры. Затем эти профили могут быть применены к другим хостам ESXi для автоматического применения конфигурации и настроек.
Host Profiles также позволяют обеспечить согласованность конфигурации в группе хостов, что упрощает управление и поддержку инфраструктуры виртуализации. Если внесены изменения в профиль, они автоматически применяются ко всем хостам, к которым он был применен. Таким образом, Host Profiles помогает упростить и автоматизировать процесс настройки и управления хостами ESXi в виртуальной инфраструктуре VMware.
Чтобы начать использовать данный функционал, зайдите в vCenter по пути "Home - Policies and Profiles".
переходим в раздел "Host Profiles" вам нужно создать новый или изменить текущий. через пункт меню "Edit Host Profile".
Находим там раздел "Networking Configuration - Network Coredump Settings". Включаем опцию "Enable". Укажите используемый сетевой адаптер узла, IP-адрес сервера сетевого дампа и порт сервера сетевого дампа. Нажмите "Save" , чтобы завершить настройку профиля хоста.
Как активировать и выключить создание дампа на хранилище данных VMFS
Для того, чтобы создать файл дампа ядра в хранилище данных VMFS, вы можете воспользоваться такой командой:
- --datastore | -d datastore_UUID or datastore_name - Укажите хранилище данных для файла дампа. Если этот параметр не указан, система выбирает хранилище данных достаточного размера.
- --file | -f file_name - Укажите имя файла дампа. Если оно не указано, система создает для файла уникальное имя.
- --size |-s file_size_MB - Установите размер файла дампа в МБ. Если не указано, система создает файл размера, соответствующего памяти, установленной на хосте.
Далее сделаем его активным:
- --enable | -e - Активируйте или деактивируйте файл дампа. Эту опцию нельзя указать при отмене конфигурации файла дампа.
- --path | -p - Путь к файлу дампа ядра, который будет использоваться. Файл должен быть предварительно выделен.
- --smart | -s - Этот флаг можно использовать только с --enable | -е=true . Это приводит к выбору файла с использованием алгоритма интеллектуального выбора.
Проверим командой, что дамп стал активным.
Чтобы деактивировать создание дампа:
Чтобы удалить файл из хранилища данных VMFS:
- -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