Обновление гипервизоров VMware ESXi 7 с помощью Singe Cluster Image

С появлением Lifecycle Manager в vSphere 7, к привычным обновлениям с помощью настройки baselines был добавлен новый функционал, позволяющий управлять обновлениями с помощью формирования единого образа ESXi для всех узлов кластера.

После настройки образа, все узлы в кластере проверяются на соответствие, а затем обновляются, становясь полностью идентичными.

О том, как настроить образ и обновить кластер – под катом.

Начнем с выбора кластера и перехода в секцию Updates:

В разделе обновлений, в добавок к Baselines можно увидеть пункт Images. При этом, находясь в секции Baselines, vCenter предлагает использовать Single Image кликом по соответствующей кнопке:

Клик автоматически переносит в раздел Image.

Первое что необходимо сделать – сформировать образ, который будет устанавливаться на все узлы в кластере:

Для формирования образа необходимо кликнуть Setup Image:

Здесь в обязательном порядке необходимо выбрать версию ESXi, которую мы планируем использовать на гипервизорах в соответствующем выпадающем списке ESXi Version.

Опционально можно указать:

  1. Vendor Addon – наборы пакетов от вендоров серверного оборудования. В основном это драйвера;
  1. Необходимые Firmware (при соответствующей интеграции);
  2. Дополнительные компоненты, например, определенную версию драйвера или VMware Tools.

Я сформировал свой образ на базе ESXi версии 7.0U3f, а также включил дополнительные пакеты из Vendor Addon Fujitsu:

Сохраняем настройки образа кликом по Save. Далее начнется автоматическая проверках всех хостов в кластере на соответствие сформированному образу:

Как можно заметить, мои хосты не соответствуют сформированному образу. Отличается версия ESXi. Текущая версия на узлах кластера 7.0 U3d, в то время как версия в образе 7.0 U3f.

Завершаем формирование образа с помощью Finish Image Setup:

Важный момент, о котором не упоминалось ранее: Если ранее обновление выполнялось с помощью Baseline, переход на обновление с помощью Cluster Image сделает невозможным использование Baseline в кластере:

Соглашаемся. Теперь можно посмотреть на сформированный для кластера образ:

Если сейчас перейти в раздел Updates кластера, можно обратить внимание, что секция Baselines отсутствует.

Теперь приведем все хосты в кластере к единому образу. Спускаемся ниже и запускаем Pre-Check:

vSphere заботливо сообщает, что модель процессора, установленного в моих серверах не поддерживается версией образа, который планируется использовать для узлов в кластере.

Кликом по Remediate All запустим процесс обновления:

В стартовом окне мы видим следующее:

3 из 3 узлов не соответствуют выбранной версии образа и будут обновлены. Все узлы будут перезагружены.

Обновление производится поочередно, каждый из хостов будет переведен в Maintenance Mode, а виртуальные машины будут мигрированы с него на другие рабочие узлы.

Если хосты поддерживают Quick Boot, данный функционал может быть задействован для ускорения процедуры обновления (не мой случай).

Клик по Start Remediation запустит процесс обновления.

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

Затем первый хост переходит в режим Maintenance:

Ожидаемо, для установки обновлений он будет перезагружен.

После загрузки узла мы увидим уже новую версию образа:

За процедурой обновления также можно наблюдать из раздела Updates:

Здесь отображается текущая задача, а также количество обновленных узлов и количество, которое еще предстоит обновить.

Клик по «See More» покажет ранее выполненные операции, а также текущую:

Как уже говорилось, каждый хост по очереди будет переведен в режим Maintenance, а затем перезагружен для применения обновлений. Для понимания приведу вырезку из журнала обновления:

08/16/2022, 9:43:48 AM:Starting remediation of the host 'esxi7-02.vmik.lab'
08/16/2022, 9:43:48 AM:Started to enter maintenance mode for host 'esxi7-02.vmik.lab'
08/16/2022, 9:47:45 AM:Completed entering maintenance mode for host 'esxi7-02.vmik.lab'
08/16/2022, 9:47:45 AM:Started to install the image on host 'esxi7-02.vmik.lab'
08/16/2022, 9:48:20 AM:Completed installing the image on host 'esxi7-02.vmik.lab'
08/16/2022, 9:48:20 AM:Started to reboot host 'esxi7-02.vmik.lab'
08/16/2022, 9:52:50 AM:Completed rebooting host 'esxi7-02.vmik.lab'
08/16/2022, 9:52:50 AM:Started exiting maintenance mode for host 'esxi7-02.vmik.lab'
08/16/2022, 9:52:59 AM:Completed exiting maintenance mode for host 'esxi7-02.vmik.lab'
08/16/2022, 9:52:59 AM:Started compliance check for host 'esxi7-02.vmik.lab'

Здесь все просто – узел переводится в режим обслуживания, выполняется установка требуемого образа, затем производится перезагрузка и вывод из режима обслуживания.

Спустя некоторое время (оно будет зависеть напрямую от размера кластера), мы получаем сообщение о том, что все узлы кластера соответствуют заданному образу:

В верхней части меню можно так же заметить планку, которая сообщает, что новых версий для кластера нет:

Рекомендации будут появляться, если будут доступны новые версии vSphere, которые совместимы с текущим оборудованием:

Вот так выглядит окно рекомендаций, когда доступна более актуальная версия:

Поскольку в данном случае мы проверил конфигурацию образа с нуля, в дальнейшем может (хотя маловероятно) возникнуть вопрос – что делать, когда вышло обновление?

Здесь два варианта:

  1. Изменить существующий образ по своему усмотрению. Сделать это просто, кликнув по кнопке Edit напротив образа:
  1. Следовать конфигурации образа из рекомендаций. В таком случае, рекомендуемые настройки в образ будут выставлены автоматически.

После изменения образа автоматически запустится проверка всех узлов на соответствие, а далее их можно будет обновить, либо откатить с помощью Remediate All.

One thought on “Обновление гипервизоров VMware ESXi 7 с помощью Singe Cluster Image”

  1. Я правильно понимаю, что под капотом у этой штуки esxcli software profile install вместо update и она удаляет всё старое говно от мажорных обновлений?

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *

Translate »