Как обновить версию виртуальной машины ESXI

Обновлено 20.05.2021

Как обновить версию виртуальной машины ESXI

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pyatilistnik.org. В прошлый раз мы с вами научились ремонтировать USB флешку, когда она писала "диск защищен от записи" и не могла уже быть использована для работы. В сегодняшней публикации я хочу вам показать методы позволяющие произвести обновление версии виртуальной машины в VMWare ESXi и vCenter, его еще называют "Upgrade hardware version". Расскажу зачем это вообще нужно.

Что такое версия виртуальной машину (hardware version)?

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

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

  • BIOS и EFI
  • доступные виртуальные слоты PCI
  • максимальное количество процессоров
  • максимальную конфигурацию памяти и другие характеристики

Новые возможности виртуального оборудования обычно выпускаются один раз в год вместе с основными или второстепенными выпусками vSphere. Каждый уровень совместимости виртуальных машин поддерживает не менее пяти основных или дополнительных выпусков vSphere.

Например, виртуальная машина с совместимостью с ESXi 5.5 и более поздними версиями может работать на ESXi 5.5, ESXi 6.0, ESXi 6.5, ESXi 6.7, ESXi 6.7 с обновлением 2, ESXi 7.0, ESXi 7.0 с обновлением 1, ESXi 7.0 с обновлением 2.

Вы должны уяснить, что новые версии hardware version помогают получить новый функционал, лучше работать с современными процессорами и другим оборудованием

Версии виртуальных машин ESXI

На момент написания статьи май 2021 года самой последней версией виртуальной машины ESXI является 17 версия. Вот текущий список версий и совместимостей.

Версии виртуальных машин ESXI

Как посмотреть версию виртуальной машины ESXI

Для того. чтобы уточнить какая у вашей виртуальной машины версия совместимости оборудования (Compatibility hardware version) вам нужно выбрать ее и на вкладке "Summary" найти пункт "Compatibility", в моем примере это ESXI 6.5 and later (VM version 13).

Как посмотреть версию виртуальной машины ESXI

Параметры совместимости виртуальных машин

Ниже я привел таблицу, где отображается, как будет себя вести виртуальная машина с не самой последней версией оборудования на последней версии гипервизора ESXI.

Параметры совместимости виртуальных машин

Параметр совместимости, отображаемый в раскрывающемся меню "Compatible with", является значением по умолчанию для виртуальной машины, которую вы создаете. Следующие факторы определяют совместимость виртуальных машин по умолчанию:

  • Версия хоста ESXi, на котором создана виртуальная машина.
  • Объект инвентаризации, для которого установлена ​​совместимость виртуальных машин по умолчанию, включая хост, кластер или центр обработки данных.

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

  • Для стандартизации тестирования и развертывания в вашей виртуальной среде.
  • Если вам не нужны возможности последней версии хоста.
  • Для обеспечения совместимости со старыми хостами.

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

При обновлении виртуального оборудования учитывайте следующие моменты

  • Модификация версии виртуального оборудования на vCenter Server Appliance не поддерживается. Точно так же не следует вручную устанавливать какие-либо дополнительные версии VMware Tools в гостевой ОС vCenter Server Appliance.
  • Обновление виртуальной машины до последней версии оборудования - это физический эквивалент замены диска из одной системы в новую. Его успех будет зависеть от устойчивости гостевой операционной системы к изменениям оборудования. VMware не рекомендует обновлять версию виртуального оборудования, если вам не нужны новые функции, представленные в новой версии.
  • Перед обновлением версии виртуального оборудования виртуальной машины создайте моментальный снимок (Снапшот) или резервную копию виртуальной машины на случай, если после обновления возникнут проблемы.
  • Чтобы автоматизировать этот процесс, рассмотрите возможность использования vCenter Update Manager для обновления виртуальных машин.
  • vCenter Update Manager делает автоматические снимки перед обновлением виртуальных машин.
  • При обновлении виртуального оборудования не требуется простоя для vCenter Server или хостов ESXi/ESX. Для виртуальных машин единственным значительным временем простоя является время выключения и перезапуска гостевых операционных систем.

Обновление версии виртуальной машины в ESXi через веб интерфейс

Данный метод самый простой. вам необходимо:

  • Выключить виртуальную машину
  • Далее вызвать через правый клик контекстное меню и выбрать пункт "Compatibility - Upgrade VM Compatibility"

Обновление версии виртуальной машины в ESXi через веб интерфейс

Подтверждаем апгрейд виртуального оборудования

Compatibility - Upgrade VM Compatibility

Выбираем нужную вам версию виртуального оборудования. Я выберу последнюю ESXI 7.0 U1 and later.

Выбор версии оборудования при обновлении hardware version

Через пару мгновений в описании "Compatibility" будет красоваться выбранная вами версия виртуального оборудования.

Успешно обновленная версия виртуального оборудования VM ESXI

Обновление версии виртуальной машины в ESXi через PowerCLI

Если вы любите автоматизацию и командную строку, то для вас PowerCli это лучший вариант.

Для того. чтобы вы могли использовать преимущества PowerCLI. ваш vCenter или ESXI хост должны иметь лицензионный ключ. На бесплатной версии гипервизора это не получиться сделать, будут ограничения API

Подключаемся к вашему vCenter через команду:

Connect-VIServer DNS-имя vCenter или IP-адрес

Первое, что вы должны сделать. это посмотреть текущую версию виртуальной машины или списка:

  • Вывод версии для определенной виртуальной машины

Get-VM имя виртуальной машины| Select Name, Version | Sort Name

В моем примере, это будет 13 версия.

Вывод версии виртуальной машины в PowerCLI

  • Вывод версии для папки с виртуальными машинами

Get-folder test-upgrade | Get-VM | Select Name, Version | Sort Name

Тут test-upgrade, это папка в которой у меня лежат виртуальные машины. обычно папки используют для группировки серверов.

Вывод версии для папки с виртуальными машинами

Теперь зная список машинок, я обновлю их до 18 версии, для этого можно использовать скрипт:

$HardwareUpdateVMs = Get-Folder test-upgrade | Get-VM Имя виртуальных машин

Foreach ($VM in ($HardwareUpdateVMs)) {
$VMConfig = Get-View -VIObject $VM.Name
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.ScheduledHardwareUpgradeInfo = New-Object -TypeName VMware.Vim.ScheduledHardwareUpgradeInfo
$vmConfigSpec.ScheduledHardwareUpgradeInfo.UpgradePolicy = “always”
$vmConfigSpec.ScheduledHardwareUpgradeInfo.VersionKey = “vmx-18
$VMConfig.ReconfigVM($vmConfigSpec)

Обновление версии виртуальной машины в ESXi через PowerCLI

Это не приведет к автоматическому обновлению совместимости виртуальной машины, в отличие от VMware Tools, это невозможно сделать с включенной виртуальной машиной. В следующий раз, когда виртуальная машина будет перезагружена, она выключится, совместимость будет обновлена, а затем снова включится. Получается, у вас в планировщике будет стоять задание, проверить это можно увидев, что стал доступен пункт меню "Compatibility - Cancel Scheduled VP Upgrade"

Планировщик по обновлению версии виртуальной машины ESXI

Запустив виртуальную машину я сразу вижу, что у нее "Compatibility hardware version" теперь имеет статус (VM version 18). Чем хорошо скриптом можно обновлять пачками сервера.

Успешно обновленное оборудование у виртуальной машины ESXI

Включение автоматического обновления инструментов при перезагрузке в web-клиенте

Использование параметров виртуальных машин для обновления VMware Tools, также является еще одним методом автоматического обновления оборудования у виртуальных машин. Включение расширенного параметра “Check and upgrade VMware Tools before each power on” нельзя использовать из-за дополнительной перезагрузки виртуальных машин. Помните, что с Windows Server 2016, VMware Tools больше не требует перезагрузки при обновлении, можно безопасно включить этот параметр, и виртуальные машины будут обновляться при каждой перезагрузке. Однако это может быть применимо не ко всем ситуациям, поэтому еще одна рекомендация - включить это для лабораторной среды или некритических рабочих нагрузок. Самый простой способ включить эту опцию - войти в vSphere Client, отредактировать настройки виртуальной машины и включить настройку.

При следующем включении ваша версия виртуального оборудования будет обновлена до последней версии.

Включение автоматического обновления инструментов при перезагрузке в web-клиенте

У нас пост об автоматизации, так что давайте посмотрим, сможем ли мы найти способ использовать PowerCLI для изменения настроек виртуальной машины, чтобы это стало проще, когда у нас есть большая среда. Задача выставить списку серверов галку “Check and upgrade VMware Tools before each power on”. Для начала возьмем список виртуальных серверов из папки и посмотрим текущие статусы.

Get-Folder test-upgrade|Get-VM|Get-View | select name,@{N='ToolsUpgradePolicy';E={$_.Config.Tools.ToolsUpgradePolicy } } |Sort Name

“Check and upgrade VMware Tools before each power on”

Здесь мы можем увидеть, для каких виртуальных машин установлено автоматическое обновление, а для каких - вручную. Используя фильтр, мы можем искать объекты, которые настроены вручную, а затем настраивать их для установки на upgradeAtPowerCycle. Теперь давайте зададим те кто был вручную, сделать все автоматически.

$ManualUpdateVMs = Get-Folder test-upgrade|Get-VM|Get-View | Where-Object {$_.Config.Tools.ToolsUpgradePolicy -like "manual"}|select name,@{N='ToolsUpgradePolicy';E={$_.Config.Tools.ToolsUpgradePolicy } }

Foreach ($VM in ($ManualUpdateVMs)) {
$VMConfig = Get-View -VIObject $VM.Name
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
$vmConfigSpec.Tools.ToolsUpgradePolicy = "UpgradeAtPowerCycle"
$VMConfig.ReconfigVM($vmConfigSpec)
}

Скрипт проставляющий галку “Check and upgrade VMware Tools before each power on”

Проверим, что теперь у всех выставлен статус в "ToolsUpgradePolicy" как "UpgradeAtPowerCycle".

Успешное обновление виртуального оборудования у сервера ESXI

Включение автоматического обновления инструментов через CLI

У самого сервера ESXI есть встроенный CLI язык и команды, которые можно использовать для того, чтобы обновить версию виртуальной машины. Подключитесь по ssh к нужному хосту и введите:

Получим список ВМ на сервере:

vim-cmd vmsvc/getallvms

Запомните VMID ВМ, которую нужно обновить:

vim-cmd vmsvc/upgrade vmid vmx-18

Как настроить совместимость по умолчанию для создаваемых виртуальных машин

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

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

Я для примера покажу. где это делается для кластера. Выберите кластер и перейдите на вкладку "Configure - Configuration - General". Нажмите кнопку "Edit"

Configure - Configuration - General

Из выпадающего списка выберите нужную для вас версию совместимости оборудования для виртуальных машин ESXI.

Выбор версии виртуальной машины по умолчанию на уровне кластера

На уровне хоста выбрать режим совместимости можно по пути "Configure - Virtual Machines - Default VM Compatibility" (Вы можете установить совместимость только на хостах, которые не являются частью кластера.)

Configure - Virtual Machines - Default VM Compatibility

На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *