Обновление версии виртуального оборудования (VM Hardware) в VMware ESXi позволяет использовать новые функции, увеличивать лимиты ресурсов (PCI, RAM, vCPU) и устранять ошибки, связанные с устаревшими версиями. Однако VMware рекомендует обновлять версию только при необходимости новых возможностей, так как ВМ с более высокой версией оборудования не запустится на старых хостах ESXi. В этой статье описаны шаги по обновлению версии VM Hardware через vSphere Client, PowerCLI, vim-cmd и ручное редактирование .vmx-файла.
Зачем обновлять версию VM Hardware
Каждая новая версия VMware ESXi (например, 6.7, 7.0, 8.0) включает обновления виртуального оборудования, которые обеспечивают:
— Поддержку новых виртуальных устройств (например, Virtual Watchdog Timer, Precision Time Protocol в версии 17).
— Увеличение лимитов ресурсов (например, RAM до 6,128 ГБ в версии 13 против 4,080 ГБ в версии 11).
— Исправление ошибок и повышение производительности.
Однако обновление версии VM Hardware делает ВМ несовместимой с более старыми версиями ESXi. Например, ВМ с версией 19 (ESXi 8.0) не запустится на ESXi 6.7.
В таблице ниже приставлено соответствие между версиями 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 |
Подготовка к обновлению
Перед обновлением версии VM Hardware выполните следующие шаги:
1. Создайте резервную копию или снимок (snapshot) ВМ, чтобы откатить изменения в случае проблем.
2. Обновите VMware Tools до последней версии, чтобы избежать потери сетевых настроек в гостевой Windows.
vSphere Client -> ВМ -> Guest OS -> Install/Upgrade VMware Tools
3. Выключите ВМ, так как обновление возможно только для остановленных машин.
Метод 1. Обновление через vSphere Client
1. В vSphere Client перейдите в Hosts and Clusters, выберите нужную ВМ.
2. Проверьте текущую версию VM Hardware на вкладке Summary -> Compatibility (например, VM version 18 для ESXi 7.0 U1).
3. Щелкните правой кнопкой мыши на ВМ и выберите Compatibility -> Upgrade VM Compatibility.
4. Подтвердите действие и выберите целевую версию (например, ESXi 7.0 U1 and later).
5. Включите ВМ и проверьте, что обновление прошло успешно. В Windows может потребоваться перезагрузка для настройки новых устройств.
Планирование автоматического обновления
Чтобы обновить версию VM Hardware при следующей корректной перезагрузке:
1. Щелкните правой кнопкой мыши на ВМ и выберите Compatibility -> Schedule VM Compatibility Upgrade.
2. В выпадающем списке выберите нужную версию (например, vmx-19).
3. Активируйте опцию Only upgrade after normal guest OS shutdown.
4. Версия обновится при следующей перезагрузке ВМ.
Метод 2. Обновление через PowerCLI
Для автоматизации обновления используйте модуль VMware PowerCLI.
1. Установите PowerCLI:
Install-Module -Name VMware.PowerCLI
2. Подключитесь к vCenter или ESXi:
Connect-VIServer -Server esxi_hostname
3. Проверьте текущие версии VM Hardware:
Get-VM | Select Name, HardwareVersion, PowerState
4. Обновите версию для одной ВМ:
Set-VM -VM mytestVM1 -HardwareVersion vmx-19 -Confirm:$false
Если версия не поддерживается хостом, появится ошибка: The operation is not supported on the object.
5. Для массового обновления выключенных ВМ используйте:
Get-VM | Where-Object {$_.PowerState -eq "PoweredOff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false
В открывшемся окне выберите ВМ для обновления, удерживая Ctrl.
6. Для автоматического обновления всех ВМ при следующей перезагрузке:
$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)
}
Метод 3. Обновление через vim-cmd (для бесплатной версии ESXi)
Бесплатная версия VMware vSphere Hypervisor не поддерживает PowerCLI для обновления VM Hardware из-за ограничений API. Используйте vim-cmd:
1. Подключитесь к хосту ESXi по SSH.
2. Выведите список ВМ и их VMID:
vim-cmd vmsvc/getallvms
3. Обновите версию для ВМ с указанным VMID:
vim-cmd vmsvc/upgrade
vmx-19
4. Включите ВМ и проверьте версию в vSphere Client.
Метод 4. Ручное редактирование .vmx-файла (не рекомендуется)
Этот метод не поддерживается VMware, но может использоваться в крайнем случае:
1. Подключитесь к хосту по SSH и перейдите в каталог ВМ:
cd /vmfs/volumes/datastorename/myvm
2. Откройте файл myvm.vmx в редакторе (например, vi):
vi myvm.vmx
3. Найдите строку virtualHW.version = «X» и измените на нужную версию (например, virtualHW.version = «19»).
4. Сохраните файл (Esc, :wq) и перезапустите ВМ.
Централизованное обновление через vSphere Lifecycle Manager
Для корпоративных сред используйте vCenter Update Manager или vSphere Lifecycle Manager (VLCM) в vSphere 7+:
1. В vSphere Client перейдите в Menu -> Lifecycle Manager.
2. Выберите Updates -> VM Hardware и включите функцию обновления.
3. Выберите ВМ или кластер, укажите целевую версию и запустите процесс. VLCM автоматически создаст снимки перед обновлением.
Рекомендации и устранение проблем
— Проверяйте совместимость: Убедитесь, что целевая версия VM Hardware поддерживается вашим хостом ESXi. См. таблицу совместимости на сайте VMware.
— Обновляйте VMware Tools: Убедитесь, что VMware Tools обновлены до последней версии перед изменением VM Hardware.
— Создавайте резервные копии: Всегда делайте снимок или резервную копию ВМ перед обновлением.
— Избегайте проблем с сетью: В Windows обновление без свежих VMware Tools может привести к потере сетевых настроек.
— Диагностика ошибок: Если ВМ не запускается после обновления, проверьте логи в Просмотре событий (eventvwr.msc) или ESXi (/var/log/vmkernel.log).
— Проблемы с vMotion: ВМ с новой версией не мигрируют на старые хосты через vMotion.
— VDI и RDS: Для VDI и RDS используйте VMware OS Optimization Tool для дополнительной оптимизации.
Обновление версии VM Hardware в VMware ESXi повышает производительность и открывает доступ к новым функциям, но требует тщательной подготовки. Используйте vSphere Client для простоты, PowerCLI или VLCM для автоматизации, а vim-cmd для бесплатной версии ESXi.