Настройка параметров ESXi (Reference Host) для Auto Deploy

Как правило, после того как вы настроите и развернете первый Reference Host и он будет добавлен с помощью Auto Deploy в vCenter, у него будет ряд претензий к вам, о которых Вас известят оповещения в Summary хоста. У хоста, развернутого через Auto Deploy (мы рассматриваем Stateless и Stateless Caching типы развертывания), даже при наличии локальных дисков будет отсутствовать некоторая, необходимая для нормальной работы конфигурация, а именно:

  • Место для хранения Core Dump
  • Место для хранения логов
  • Пароль root
  • Настройка NTP

В данной статье рассматривается конфигурация необходимого минимума для Reference хоста, после чего с него извлекается Host profile и применяется ко всем остальным хостам, разворачиваемых с помощью Auto Deploy.

Настройка Core Dump

При классической установки ESXi на локальное хранилище, будь то SSD, SD карта или USB, размечается несколько внутренних разделов, среди которых один предназначается для хранения Core Dump-ов. Но в случае с Auto Deploy мы лишены этого и по умолчанию дампы нигде не будут сохранены и если хост вдруг потерпит падение или PSOD, достать и проанализировать дамп не выйдет. Но мы можем настроить хранение Core Dump-ов в файле на каком-либо доступном для ESXi хранилище или отправлять их при краше хоста по сети в Core Dump Collector, а также можно заморочиться и разметить «руками» раздел на каком ни будь доступном для хоста диске под хранение ESXi Core Dump-ов. Рассмотрим первые два варианта, потому что они наиболее часто встречаются и более легкие в конфигурировании.

Core Dump File

Вкратце, создается файл, где ни будь на доступном хранилище и в случае краша хоста, в него записывается дамп. Настраивается через утилиту ESXCLI на самом хосте. Нам нужно доступное ESXi хранилище, это может быть общее хранилище или же индивидуальное, но размеченное в VMFS и добавленное хосту. Software ISCSI и Software FCoE не поддерживаются. Поехали.

  1. Добавляем файл
esxcli system coredump file add –d <datastore_UUID or datastore_name> –f <file_name>

2. Проверяем что файл создался

esxcli system coredump file list

3. Активируем его

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

4. Снова проверяем что файл активирован и используется

esxcli system coredump file list

ESXi Dump Collector

На vCenter включается служба ESXI Dump Collector, которая собирает и хранит Core Dump-ы c хостов. Как следует из однозначного смысла предшествующего предложения, ее нужно включить на vCenter. А затем сконфигурировать ESXi хост на отправку туда своих дампов.

  1. Конфигурируем ESXi для отправки Core Dump в коллектор
esxcli system coredump network set --interface-name <vmk#> --server-ipv4 <VC IP> --server-port 6500

2. Активируем конфигурацию

esxcli system coredump network set --enable true

3. Проверим конфигурация Core Dump Collector

esxcli system coredump network get

Настройка хранения логов

Логи по умолчанию хранятся на локальном разделе по имени SCRATCH. Но в случае Auto Deploy хостов, этого раздела у нас не будет и логи храниться будут в оперативной памяти ESXi, и будут доступны только до перезагрузки хоста. Исправить это можно, настроив альтернативное место для хранения логов. Это может быть – папка на каком-нибудь доступном хранилище, сбор логов на log-collector или настроенный Scratch раздел, мы остановимся на первом варианте. Заходим в Advanced settings хоста и там находятся все необходимые настройки.

  1. Находим настройку Syslog.global.logDir и прописываем путь до папки хранения логов.
  2. Стоит так же настроить Syslog.global.logDirUnique=true, что бы под каждый хост создавалась индивидуальная папка для логов.

Либо мы можем настроить специализированный log-host или лог-коллектор, это может быть какой либо сторонний сервер для хранения логов или vRealize Log-Insight (что очень удобно для их анализа). Логи будут улетать по сети на этот ресурс по UDP или TCP протоколу. Но стоит учесть, что при формировании support-bundle, логи отправленные на удаленный по сети лог-коллектор не будут добавлены. Настроить отправку логов по сети на ESXi хосте можно несколькими способами:

  1. Править Advanced Setting хоста — Syslog.global.logHost и прописать там например udp://10.10.10.125:514 одной строкой. Это можно сделать как в GUI так и с помощью PowerCLI
  2. Установить лог-колектор с помощью специального командлета PowerCLI, на мой взгляд так быстрее и удобнее. Конечно для этого нужно сначала подключиться к vCenter. Пример ниже.
connect-viserver -server vcenter-name
Set-VMHostSysLogServer -VMHost esxi-name -SysLogServer udp://10.10.10.125:514

Настройка NTP

Практически необходимая настройка для всей инфраструктуры и не менее необходима для vSphere, в частности. Настроить можно выбрав интересующий нас хост и зайти в Configure> Time Configuration> Edit.

Пустой пароль root

Если вы развертываете хосты с помощью Auto Deploy, то по умолчанию пароль на учетную запись root не будет настроен. Это решается с использованием Host Profiles. После того как был извлечем Host Profile из Reference Host-а, мы редактируем его и находим Security and Services> Security Settings> Security> root, тут выбираем как будет задан пароль.

Можно настроить на профиль один стандартный пароль на root, и он будет потом применяться ко всем хостам, к которым применим этот профиль. Насколько это подойдет для вашей инфраструктуры с точки зрения безопасность, решать Вам. На крайний случай можно установить User Input Password Configuration, и для каждого хоста добавлять пароль индивидуально при процедуре кастомизации ESXi.

Что дальше?

После проведенных выше операций, а также других настроек хоста, например, добавление хоста к vDS или настройка хранилища или чего-то иного, можно извлекать Host Profile из нашего, Reference Host-а и настроить какой тип развертывания Auto Deploy будет использован. Находим параметр как на слайде и выбираем подходящее нам значение.

Подробнее о этой настройке можно узнать тут. После, добавляем этот Host Profile в Deployment Rule и можем продолжать разворачивать другие хосты c помощью Auto Deploy.