Перейти к основному содержанию

VMware ESXi — обновление версии VM

VMware vSphere 8

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.

vmware

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

No host is compatible with the virtual machine.

vmware

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

vmware

Actions → Compatibility → Upgrade VM Compatibility.

vmware

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

vmware

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

vmware

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

vm

Версия 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"
 

Похожие материалы

Сбой сети на виртуальной машине Windows Server 2012 R2 в среде VMware

Наступил на собственные грабли, забыл заменить тип сетевой карты с E1000 на VMXNET 3 на одном из новых серверов. Однако, мне повезло дважды. Во-первых, сервер был ещё не в бою и сбой не повлиял на работу системы. А во-вторых, удалось сделать несколько скриншотов для написания этой статьи. :)

Клавиатура Remote Console перестаёт работать при загрузке ESXi 6.0 на серверах HPE Proliant Gen10

Обнаружил проблему. При установке или загрузке ОС ESXi 6.0 Update 2 на сервера ProLiant Gen10 перестаёт работать клавиатура удалённой консоли управления.