Найти в Дзене

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

Оглавление

VMware обновляет версию виртуальной машины с каждой новой версией гипервизора ESXi. В новых версиях появляется новый функционал и поддержка новых устройств. При изменении версии ESXi и vCenter виртуальные машины старых версий могут больше не поддерживаться. В этом случае версию VM нужно обновить.

Гипервизор Версия VM

  • 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 17
  • ESXi 7.0 U1 18
  • ESXi 7.0 U2 19
  • ESXi 8.0 20

Версию можно увидеть на вкладке Summary виртуальной машины в секции Compatibility.

-2

Эту машину я только что накатил из OVA шаблона. Если гипервизор не поддерживает данную версию VM то при попытке запуска или миграции мы получим ошибку.

No host is compatible with the virtual machine.
-3

Потребуется обновление версии VM. Перед обновлением версии рекомендуется создать резервную копию или снапшот. Для выполнения обновления версии виртуальную машину нужно выключить, у меня и так выключена.

-4

Actions → Compatibility → Upgrade VM Compatibility.

-5

Подтверждаем обновление версии VM. YES.

-6

Выбираем версию VM. Можно выбрать последнюю доступную.

-7

А можно какую-то другую. Понизить версию таким способом нельзя. А повысить — пожалуйста. OK.

-8

Версия VM изменилась.

Таким же образом можно выбрать обновление версии VM при следующей перезагрузке с помощью опции Actions → Compatibility → Schedule VM Compatibility.

Для централизованного обновления версий VMможно использовать vCenter Update Manager или vSphere Lifecycle Manager.

Обновление версии VM через PowerShell

Обновить версию VM:

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

Если ESXi не поддерживает эту версию, то получим ошибку:

The operation for the entity mytestVM1 failed with the following message: The operation is not supported on the object.

Список ВМ, которые нужно обновить:

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

Запланировать обновление всех VM после перезагрузки:

$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 редактированием конфигурационного VMX файла

Таким образом можно не только повысить версию VM, но и понизить. Этот способ используйте на свой страх и риск, не факт что VM потом корректно заработает.

В хранилище редактируем файл vmname.vmx:

cd /vmfs/volumes/datastore1/vmname
vi vmname.vmx

Находим строку:

virtualHW.version = "10"

И меняем в ней версию:

virtualHW.version = "11"

Источник:

VMware ESXi — обновление версии VM | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.