Обновление удаленного сервера VMWare ESXi по ssh

Гипервизор является сердцем любой крупной системы, и иногда бывает так, что его надо обновить. Мероприятие это довольно серьезное, особенно в том случае, когда речь идет о сервере за тысячи километров от тебя. В этой заметке я расскажу о способе удаленного обновления ESXi-сервера по ssh.

Когда я развернул новый VMWare vCenter Server 7, то понял, что он не поддерживает подключение esxi-хостов версии ниже 6.5. А это значит, что мой старый хост с ESXi 6.0 надо обновить до свежей версии. Итак общий план такой:

  • подготовка к обновлению
  • поиск образа операционки
  • непосредственно обновление
  • добавление сервера в vCenter

Подготовка к обновлению

Перед обновлением делаем регламентные вещи.

  1. Проверяем наличие резервных копий виртуалок и их актуальность.
  2. Снимаем production-нагрузку с хоста. Переносим все виртуалки от греха подальше с обновляемого хоста.
  3. Переводим сервер в Maintence-mode.

Поиск образа операционки

Последние 10 лет я работаю с серверами DELL, и всегда предпочитаю ставить custom-образы ESXI от производителя сервера. Чтобы найти его делаем следующее. Если сервер рядом с вами, то вынимаем пластиковую плашку с Service tag. Если сервер удаленный – то смотрим документы или просто ищем в интернете фотографию с service tag от той же модели сервера.

Для примера взял сервер DELL R330. Раскрываем выпадающий список сверху справа и смотрим, какую мажорную версию ESXI максимально поддерживает наш сервер. Видим, что это VMWare 6.7 Далее на страничке смотрим максимально поддерживаемую минорную версию. Это оказалась VMWare ESXi 6.7 U2 UPD: Сейчас уже доступна U3.

Кликаем на ссылку Other formats и качаем zip-файл. Заходим в  ESXi WEB UI в просмотр Datastore, создаем там папку update и закачиваем туда zip файл. Важно! Через vCenter закачка может не пойти с ошибкой. Это может происходить из-за ошибки установки https-соединения между браузером и хостом (не vCenter). Чтобы ее избежать просто закачивайте файлы через веб-интерфейс самого хоста.

Обновление

  • Выключаем все виртуалки
  • Переводим хост в Maintence mode
  • Включаем ssh на хосте, заходим на него по ssh.
  • Переходим в папку с томами:

  • Смотрим там куда указывает смиволическая ссылка на ваш datastore

  • Теперь идем в эту папку

  • Получаем название профиля из архива:

Название профиля отображается в столбце Name. Сейчас это “DellEMC-ESXi-6.7U3-19898906-A18”.

  • Тестируем обновление, не запуская его:

Обратите мниманрие на флаг –dry-run

Проверяем, что все ок и нет никаких ошибок.

  • Производим обновление той же командой, но уже без флага –dry-run:

В выводе видим, что нужно перезагрузить хост. Перезагружаем и ждем минут 15.

Обновление завершено.

После обновления

  • Ждем загрузки хоста, проверяем версию в vCenter.
  • Выводим хост из Maintence mode.
  • Переподключаем хост к Veeam Backup (елси он у вас есть). Это нужно, чтобы обновились сертификаты.
  • Проверяем список виртуальных машин на auto-start на хосте
  • Проверяем работу бекапов с вируталками на новых местах

Leave a Comment