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

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

2 недели ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

2 недели ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

2 недели ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

2 недели ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

2 недели ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

2 недели ago