Обновление VMware ESXi из командной строки

Обновление VMware ESXi из командной строки

В этой статье мы рассмотрим процесс ручной установки rollup патчей на хост VMware ESXi из командной строки, а также процесс апгрейда версии ESXi (в этом примере разберем обновление с VMware ESXi 6.7 до 7.0).

Ручное обновление ESXi из консоль esxcli можно использовать для обновления отдельно-стоящих хостов ESXI (или бесплатного VMware vSphere Hypervisor), небольших инсталляций или тестовых сред. Для обновления большой инфраструктуры на базе VMware vSphere с vCenter предпочтительнее использовать используется VMware Update Manager/VMware Lifecycle manager.

Определите текущую версию ESXi, установленную на вашем сервере. Вы можете получить версию из vSphere Web Client:

узнать текущую версию vmware esxi из веб интерфейса

Или из консоли ESXi с помощью команды:

vmware -v

vmware - v - вывести версию esxi в командной строки

В этом примере на сервере установлен
VMware ESXi 6.7.0 build-1716773
.

Установка обновлений (патчей) на VMware ESXi из командной строки esxcli

Если вы хотите на свой ESXi хост установить обновления безопасности и исправления, скачать последнее обновление для вашей версии ОС.

Патчи ESXi являются кумулятивными, т.е. включают в себя все предыдущие обновления. Всегда устанавливайте последнее доступное накопительное обновление (rollup update) для вашего релиза ESXi.

Для офлайн установки rollup обновления на ESXi:

  1. Авторизуйтесь в личном кабинете на сайте VMware (можно использовать личную запись) и перейдите на страницу https://my.vmware.com/group/vmware/patch
  2. Выберите продукт: ESXi (Embedded and Installable);
  3. Доступно последнее обновление ESXi670-202111001 (18828794) от 2021-11-23; Скачать обновления для vmware esxi
  4. Скачайте zip архив с обновлениями;
  5. Воспользуйтесь DataStore Browser, чтобы скопировать архив на любое из доступных хосту хранилищ (это может быть локальный диск, NFS папка, VMFS LUN, подключенный по iSCSI или Fiber Channel, или внешний USB диск, подключенный к хосту ESXi). Если места на хранилище недостаточно, расширьте VMFS; загрузить обновление для esxi на esxi сервер
  6. Подключитесь к хосту ESXi через SSH и переведите хост в режим обслуживания:
    esxcli system maintenanceMode set --enable=true
  7. Для установки патчей выполните команду:
    esxcli software vib update --depot /vmfs/volumes/607eb5b4-c6e3e815-7b50-000c29808a13/update/ESXi670-202111001.zip
    установка обновлений на esxi из командной строки
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
  8. Перезагрузите хост ESXi:
    reboot -f
  9. Отключите режим обслуживания:
    esxcli system maintenanceMode set --enable=false
  10. Убедитесь, что версия ОС обновилась:
    vmware –v
    версию esxi была обновлена
Вы также можете использовать PowerCLI для установки обновлений на ESXi:

Install-VMHostPatch -HostPath /vmfs/volumes/volume/esxi_patch.zip

Ручной обновление (апгрейд) версии VMware ESXi из консоли esxcli

Вы можете вручную обновить версию ESXi на своем хосте. В этом примере я выполню апгрейд ESXi 6.7 до 7.0.

  • При выполнении обновления между версиями ESXi убедитесь, что оборудование вашего сервера поддерживается более новой версией ОС. Используйте VMware Compatibility Guide и VMware Product Interoperability Matrix.
  • Не обновляйте релиз ESXi, если хост подключен к vCenter до того, как вы обновите версию vCSA.

Есть два способа апргейда версии ESXi из командной строки esxcli:

  • Оффлайн обновление – вы должны вручную скачать установочный образ ESXi на локальное хранилище;
  • Онлайн обновление – подойдет для случаев, если ваш ESXi может получить доступ к репозиторию VMware через интернет.

Сначала рассмотрим процедуру офлайн обновления. Вам нужно вручную скачать офлайн образ с новой версией ESXi:

  1. Перейдите на https://customerconnect.vmware.com/downloads/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/7_0
  2. Найдите версию VMware ESXi, до которой вы хотите обновиться. Если вы используете кастомный образ ESXi от вендора, перейдите на вкладку Custom ISOs. В моем примере я будут использовать образ для серверов HPE — HPE Custom Image for ESXi 7.0 U2 Install CD. Скачайте образ
    HPE Custom Image for ESXi 7.0 U2 Offline Bundle
    ; скачать образ esxi 7.0 update 2 для HPE
  3. Скопируйте образ на любое хранилище, доступное с ESXi хоста;
  4. Выведите список доступных профилей в образе:
    esxcli software sources profile list -d /vmfs/volumes/datastore1/update/VMware-ESXi-7.0.2-17867351-HPE-702.0.0.10.7.0.52-May2021-depot.zip
  5. В нашем примере в образе есть только один профиль HPE-Custom-AddOn_702.0.0.10.7.0-52;
  6. Переведите хост в режим обслуживания:
    esxcli system maintenanceMode set --enable=true
  7. Обновите версию ESXi с помощью выбранного профиля:
    esxcli software profile update -d /vmfs/volumes/datastore1/update/VMware-ESXi-7.0.2-17867351-HPE-702.0.0.10.7.0.52-May2021-depot.zip -p HPE-Custom-AddOn_702.0.0.10.7.0-52
  8. В моем случае команда, вернула что модель CPU на сервере не будет поддерживаться в следующих версиях:
    [HardwareError]
    
     Hardware precheck of profile HPE-Custom-AddOn_702.0.0.10.7.0-52 failed with warnings: 

    ошибка CPU_SUPPORT WARNING при апгрейде ESXi на хосте VMWare

  9. Чтобы игнорировать это предупреждение, добавьте параметр —no-hardware-warning:
    esxcli software profile update -d /vmfs/volumes/datastore1/update/VMware-ESXi-7.0.2-17867351-HPE-702.0.0.10.7.0.52-May2021-depot.zip -p HPE-Custom-AddOn_702.0.0.10.7.0-52 --no-hardware-warning
    Если при обновлении появятся ошибки зависимостей, можно проигнорировать их, добавив –f. Однако это может привести к непредвиденным проблемам в дальнейшем при эксплуатации ESXi. Лучше разобраться с зависимостями и добавить нужный драйвер в установочный образ ESXi.
    [DependencyError]
    VIB VMW_bootbank_vmkusb_0.1-4vmw.670.3.159.18828794 requires vmkapi_incompat_2_5_0_0, but the requirement cannot be satisfied within the ImageProfile.
  10. Перезагрузите хост после завершения обновления;
  11. Проверьте, что на сервере теперь установлена новая версия ESXi 7.0 Update 2; апгрейд версии vmware esxi
  12. Установите лицензию, настройте таймаут неактивности.

Для онлайн апгрейда версии ESXi через интернет, нужно:

  1. Разрешить HTTP трафик в файерволе ESXi:
    esxcli network firewall ruleset set -e true -r httpClient
  2. Проверить список доступных профилей ESXi в VMware online depot:
    esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-7.0
  3. Найдите имя нужного профиля, и выполните апгрейд версии ESXi:
    esxcli software profile update -p HPE-Custom-AddOn_702.0.0.10.7.0-52 -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
  4. Отключите HTTP доступ в интернет:
    esxcli network firewall ruleset set -e false -r httpClient

Итак, в этой статьи мы рассмотрели, как установить патчи на хост VMware ESXi, и как обновить версию ОС на вашем сервере с ESXi 6.7 до vSphere 7.0U2.

Виртуализация
Обновление VMware ESXi из командной строки