Перейти к основному контенту

Обновление гипервизора VMware ESXi

Руководство по обновлению VMware ESXi: онлайн и офлайн методы

Обновление VMware ESXi — это ключевая процедура для поддержания безопасности, стабильности и производительности виртуальной инфраструктуры. В этой статье представлено подробное пошаговое руководство для самостоятельного обновления через командную строку esxcli, охватывающее как онлайн, так и офлайн сценарии.

Важное примечание: Перед выполнением любых действий создайте резервную копию конфигурации хоста и убедитесь, что ваше оборудование поддерживает целевую версию ESXi, сверившись с VMware Hardware Compatibility List (HCL).

Подготовка и сбор информации

Перед началом обновления необходимо выполнить диагностику.

  1. Проверка текущей версии и даты установки/обновления
    • Из веб-интерфейса: Информация отображается на главной странице vSphere/ESXi Host Client.

    • Из командной строки:
    • vmware -v
    • Чтобы узнать дату последнего обновления (установки последнего образа или пакета обновлений):
    • esxcli software vib list | grep 'Install\|esx-base'
    • Обратите внимание, что эта команда покажет дату последнего обновления базового пакета, а не обязательно первоначальной установки ОС.
  2. Проверка текущего профиля образа
    • Профиль — это набор пакетов VIB, определяющий версию ESXi. Его важно знать перед обновлением.
    • esxcli software profile get
  3. Освобождение хоста для обновления
    • Для изолированного хоста или перед обновлением в кластере необходимо перевести его в режим обслуживания. Виртуальные машины должны быть остановлены или мигрированы.
    • Включение режима обслуживания:
    • esxcli system maintenanceMode set --enable=true
      # Или альтернативная команда:
      vim-cmd /hostsvc/maintenance_mode_enter
    • Выход из режима обслуживания (после успешного обновления и перезагрузки):
    • esxcli system maintenanceMode set --enable=false
      # Или:
      vim-cmd /hostsvc/maintenance_mode_exit

Онлайн обновление (через официальный репозиторий VMware)

Этот метод оптимален, если хост имеет выход в интернет.

  1. Разрешите доступ в интернет
    • По умолчанию правило httpClient в файрволе ESXi может быть отключено.
    • esxcli network firewall ruleset set -e true -r httpClient[citation:5][citation:9]
  2. Найдите доступные обновления в репозитории
    • Выведите список всех доступных образов в онлайн-депозитории VMware:
    • esxcli software sources profile list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  3. Выполните обновление до выбранного профиля
    • Предварительно включите режим обслуживания.
    • esxcli system maintenanceMode set --enable=true
    • Затем выполните команду, заменив имя профиля на актуальное из списка:
    • esxcli software profile update -p ESXi-8.0U3d-24585383-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
    • Если процесс завершится успешно, вы увидите сообщение:
    • The update completed successfully, but the system needs to be rebooted for the changes to be effective
  4. Завершение обновления
    • Отключите доступ в интернет:
    • esxcli network firewall ruleset set -e false -r httpClient
    • Перезагрузите хост:
    • reboot
    • После загрузки выйдите из режима обслуживания:
    • esxcli system maintenanceMode set --enable=false
    • Проверьте результат:
    • esxcli software profile get
      #и
      vmware -v

Офлайн обновление (через ZIP-бандл)

Этот метод используется, если хост изолирован от сети или вы используете кастомный образ от вендора (HPE, Dell и др.)

  1. Подготовка файла обновления
    1. Скачайте ZIP-бандл (Offline Bundle) для нужной версии ESXi с портала Broadcom или сайта производителя сервера
    2. Загрузите файл на хранилище данных, доступное хосту (например, через Datastore Browser).
  2. Укажите путь к локальному депозиторию
    • Перед запуском обновления включите режим обслуживания. В команде укажите полный путь к ZIP-файлу на хранилище хоста.
    • esxcli software profile update --depot=/vmfs/volumes/datastore_name/VMware-ESXi-8.0U3d-24585383-depot.zip --profile=ESXi-8.0U3d-24585383-standard
    • Также можно использовать команду esxcli software vib update --depot=, если требуется обновить только отдельные пакеты.
  3. Завершение обновления, действия аналогичны онлайн-методу
    • Отключите доступ в интернет:
    • esxcli network firewall ruleset set -e false -r httpClient
    • Перезагрузите хост:
    • reboot
    • После загрузки выйдите из режима обслуживания:
    • esxcli system maintenanceMode set --enable=false
    • Проверьте результат:
    • esxcli software profile get
      #и
      vmware -v

Офлайн обновление через ISO образ

Этот метод требуется для обновления между мажорными версиями или при проблемах с сетью.

  1. Скачайте ISO образ обновления
    • Загрузите последний ISO образ с официального сайта VMware
    • Подготовьте загрузочную USB-флешку или настройте загрузку по сети (iDRAC/iLO)
  2. Загрузитесь с установочного носителя
    • Подключите ISO к серверу
    • Перезагрузите оборудование
    • Выберите загрузку с установочного носителя
  3. Выберите режим обновления
    • В установщике выберите Upgrade ESXi, preserve VMFS datastore
    • Подтвердите сохранение существующих настроек
  4. Дождитесь завершения процесса
    • Установщик скопирует новые файлы и сохранит конфигурацию
    • После завершения система перезагрузится автоматически
  5. Проверьте обновление
    • vmware -v
      esxcli system version get

Сравнение методов обновления

Параметр Онлайн обновление Офлайн обновление
Доступность ВМ ВМ мигрируются или останавливаются Все ВМ останавливаются
Время простоя Минимальное 30-60 минут
Сложность Средняя Низкая
Требования Сетевое подключение Загрузочный носитель
Подходит для Патчей и минорных обновлений Мажорных обновлений

Решение распространенных проблем

Ошибка: "No upgrade candidate was found"

Проверьте доступность репозитория

esxcli network diag ping -H hostupdate.vmware.com

Принудительно обновите из локального файла

esxcli software profile update -p ESXi-7.0U3c-19193900-standard -d /vmfs/volumes/datastore1/update.zip

Восстановление после неудачного обновления

  1. Загрузитесь с предыдущей версии ESXi (при двойной загрузке)
  2. Или восстановите из резервной копии:
    • vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

Прочие проблемы

  • Ошибка совместимости CPU: При обновлении на более новую мажорную версию (например, с 7.0 на 8.0) процессор может не поддерживаться. Если вы осознаете риски, используйте флаг --no-hardware-warning.
  • Ошибка [MemoryError] в ESXi 8.x: Из-за ограничения памяти ESXCLI может не загрузить большой каталог. Решение — временно увеличить лимит.
  • Запрещён доступ в интернет: После обновления не забудьте отключить правило файрвола httpClient для повышения безопасности.

Заключение

Регулярное обновление ESXi — обязательная практика для администраторов виртуальных сред. Онлайн-метод через ESXCLI оптимален для быстрого применения патчей, в то время как офлайн-обновление через ISO обеспечивает надежность при переходе между основными версиями.

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

  1. Тестируйте в изолированной среде
  2. Имейте актуальную резервную копию
  3. Планируйте работы на время наименьшей нагрузки

Следуя этим инструкциям, вы сможете безопасно поддерживать вашу инфраструктуру VMware в актуальном состоянии, обеспечивая максимальную безопасность и производительность для ваших виртуальных машин.