Ну или не проблемы, а просто такой вот ситуации. Сам столкнулся с ней недавно, искал сначала физические методы решения типа управляемого распределителя питания с возможностью установки задержки на каждую розетку или установки задержки загрузки серверов в их внутренней системе управления (в моем случае серверы HPE - iLo).
Для начала краткое описание конфигурации. В наличии два сервера ESXi, объединенных в кластер. К ним подключается SAN по iSCSI. Все файлы, требуемые для загрузки виртуальных машин, расположены на этом SAN
ПРОБЛЕМА: при пропадании питания и последующим его восстановлением серверы, на которых крутится VMware ESXi, загружаются быстрее, чем SAN. В результате в консоли системы можно видеть виртуальные машины в статусе Invalid, а имена машин будут заменены на числовое значение ObjectID. Если дождаться загрузки SAN и перезагрузить серверы, то они восстановятся успешно и будут отображать машины верно.
Такая проблема наблюдается только в случае, если ваш SAN подключен по iSCSI. Проблема в том, что при загрузке ESXi начинает процесс определения подключенных iSCSI хранилищ. И если в течение таймаута они не находятся, процесс прекращается, а виртуальные машины помечаются как недоступные. Судя по тому, что удалось найти в сети насчет этого - повторно процесс не запускается, только один раз в начале загрузки.
Для решения проблемы необходимо повторно просканировать iSCSI адаптеры на предмет наличия подключения к хранилищу и подгрузить LUN. Это можно сделать вручную. Для этого необходимо включить доступ по SSH к ESXi, подключиться к нему, после чего ввести в консоли команду:
/sbin/esxcli storage core adapter rescan --all
Данная команда запускает процесс сканирования повторно. Однако, конечно же, хочется все это автоматизировать, чтобы не вводить команды вручную каждый раз. Для этого необходимо отредактировать файл local.sh, расположенный в разделе /etc/rc.local.d/. Данный файл предназначен для автоматического выполнения команд во время процесса загрузки ESXi. Подробнее о файле и его назначении можно прочесть здесь.
Общий вид файла после редактирования будет такой:
#----omited---------
# Note: This script will not be run when UEFI secure boot is enabled. /bin/sleep 300 /sbin/esxcli storage core adapter rescan --all exit 0
Перед выполнением основной команды ресканирования выполняется задержка на 300 секунд (5 минут). Это сделано для того, чтобы процесс рескана инициализировался через 5 минут после загрузки ESXi. Этого времени будет достаточно для того, чтобы SAN гарантировано загрузился.
P.S.: Всё равно вариант с управляемым PDU и задержками на каждую розетку мне нравится больше!
Комментариев нет:
Отправить комментарий