Categories: PowerShellVMware

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

В каждом новом релизе своего гипервизора ESXi, VMware обновляет используемую версию виртуальной машины ( VM Version ) и, соответственно, параметры виртуального железа ( virtual hardware ). В новой версии виртуальной машины, как правило, появляется поддержка нового функционала, новые виртуальные устройства, увеличиваются лимиты на ресурсы (PCI слоты, RAM, vCPU ), правятся старые баги и т.д. Поэтому при миграции на новую версию ESXi желательно выполнять и обновление версии виртуального железа для всех виртуальных машин. Старые версии виртуальных машин стоит использовать только в целях совместимости. В этой статье мы рассмотрим, как обновить версию виртуальной машины (виртуального железа) для виртуальной машины, запущенной на хосте VMware ESXi.

В таблице ниже приставлено соответствие между версиями ESXi и версиями VM hardware.

Версия гипервизора Версия железа виртуальной
машины
ESX/ESXi 4.X 7
ESXi 5.0 8
ESXi 5.1 9
ESXi 5.5 10
ESXi 6.0 11
ESXi 6.5 13
ESXi 6.7 14
ESXi 6.7 U2 15
ESXi 7.0 (7.0.0) 17
ESXi 7.0 U1 (7.0.1) 18
ESXi 7.0 U2 (7.0.2) 19

Текущую версию виртуальной машины (виртуального железа) можно узнать на вкладке Summary виртуальной машины в секции Compatibility . В примере на скриншоте видно, что используется версия VM version 18 (ESXI 7.0 U1 and later).

VMware не рекомендует обновлять версию виртуального оборудования, если вам не нужны новые функции, предоставляемые новой версией.

Вы не сможете запустить ВМ на хосте ESXi которые не поддерживает новую версию VM hardware. При попытке миграции такой ВМ на хост со старой версией ESXi с помощью VMotion появится ошибка:

The virtual machine version is not compatible with the version of the host exi1.

Перед выполнением обновления версии ВМ рекомендуется:

  • Создать снапшот ВМ;
  • Обновить версию VMware Tools (если обновить версию VM Hardware до установки свежей версииVMware Tools, ВМ с гостевой Windows может потерять сетевые настройки).

Для выполнения апгрейда версии Virtual Hardware, виртуальную машину нужно выключить. После этого в контекстном меню выбрать пункт Compatibility -> Upgrade VM Compatibility .

В открывшемся окне нужно подтвердить обновление версии виртуального оборудования и выбрать версию VM Hardware. В этом примере я выбрал последнюю доступную на моем хосте версию ESXi 7.0 U1 and later.

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

  1. Для этого в контекстном меню ВМ выберите Compatibility -> Schedule VM Compatibility Upgrade ;
  2. Вы выпадающем списке Compatible with выберите версию VM hardware до которой версии вам нужно обновиться;
  3. Включите опцию Only upgrade after normal guest OS shutdown ;
  4. Версия виртуального оборудования виртуальной машины будет обновлена при следующей перезагрузке ВМ.

Также вы можете обновить версию VM Hardware с помощью PowerShell командлетов из модуля VMware PowerCLI .

Подключитесь к своему vCenter или ESXi хосту:

Connect-VIServer esxi_hostname

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

Get-VM | select Name, hardwareversion, PowerState

В новых версиях VMware вместо атрибута Version ВМ нужно использовать HardwareVersion. При использовании старого формата появляется предупреждение:
WARNING: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.

Чтобы обновить версию vm hardware с помощью PoweShell, выполните команду:

Set-VM -VM mytestVM1 -HardwareVersion vmx-19 -Confirm:$false

Если указанная версия VM hardware не поддерживается хостом ESXi, появится ошибка The operation for the entity mytestVM1 failed with the following message: The operation is not supported on the object.

Можно вывести список ВМ, которые нужно обновить с помощью командлета Out-GridView :

Get-VM |Where-object {$_.powerstate -eq "poweredoff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false

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

Можно запланировать автоматическое обновление железа на всех ВМ на хосте с помощью простого скрипта PowerShell

$HardwareUpdateVMs = 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-19”
$VMConfig.ReconfigVM($vmConfigSpec)
}

Все виртуальные машины будут автоматически обновлены до указанной версии VM hardware при следующей перезагрузке.

Для централизованного обновления VM hardware и VM tools в enterprise сетях лучше использовать vCenter Update Manager или vSphere Lifecycle Manager (VLCM) в vSphere 7+.

Если вы используете бесплатную версию VMware vSphere Hypervisor , вы не сможете обновить версию оборудования ВМчерез PowerCLI из-за ограничений API. Но можно воспользоваться командами vim-cmd в ESXi shell. Подключитесь к хосту по SSH и выведите список ВМ на хосте:

vim-cmd vmsvc/getallvms

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

vim-cmd vmsvc/upgrade vmid vmx-17

Осталось включать ВМ и проверить, что версия обновилась до VM version 17.

Также есть еще один, неподдерживаемый версий обновления версии VM hardware путем прямого редактирования конфигурационного VMX файла ВМ:

Подключитесь к хосту по SSH и перейдите в каталог с ВМ:

cd /vmfs/volumes/datastorename/myvm

Отредактируйте файл myvm.vmx:

vi myvm.vmx

Найдите строку:

virtualHW.version = "12"

И измените на:

virtualHW.version = "17"

Закройте и сохраните VMX файл ( Esc, :, w, q ).

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago