В каждом новом релизе своего гипервизора ESXi, VMware обновляет используемую версию виртуальной машины (VM Version) и, соответственно, параметры виртуального железа (virtual hardware). В новой версии виртуальной машины, как правило, появляется поддержка нового функционала, правятся старые баги и т.д. Поэтому при миграции на новую версию ESXi желательно выполнять и обновление версии виртуального железа для всех виртуальных машин. Старые версии виртуальных машин стоит использовать только в целях совместимости. В этой статье мы рассмотрим, как обновить версию виртуальной машины (виртуального железа) для виртуальной машины, запущенной на хосте VMWare ESXi.
В таблице ниже приставлено соответствие между версиями ESXi и версией VM.
Версия гипервизора | Версия виртуальной машины |
ESX/ESXi 4.X | 7 |
ESXi 5.0 | 8 |
ESXi 5.1 | 9 |
ESXi 5.5 | 10 |
ESXi 6.0 | 11 |
Текущую версию виртуальной машины (виртуального железа) можно узнать на вкладке Summary виртуальной машины. В примере на скриншоте видно, что используется версия VM version 8 (ESXI 5.0 and later).
Перед выполнением обновления версии ВМ рекомендуется:
- Создать снапшот ВМ
- Обновить версию VMware Tools
Для выполнения апгрейда версии Virtual Hardware, виртуальную машину нужно выключить. После чего при нажатии по ВМ правой станет доступным меню Upgrade Virtual Hardware (Compatibility > Upgrade VM Compatibility в vSphere Web Client).
Примечание. При обновлении версии уровня аппаратного обеспечения до 10 или 11 с более низких версий, редактирование настроек ВМ будет доступно только из интерфейса vSphere Web Client. А при попытке отредактировать их из vSphere Client появится ошибка:
Restricted Virtual Machine Settings
You have restricted editing capabilities on a virtual machine of version 9 or higher using this client.
Some devices may not appear in the devices list, and the settings of some devices may appear as "Restricted".
If you want to edit the advanced hardware features of this virtual machine, please use the vSphere Web Client
Можно запланировать автоматический апгрейд версии виртуальной машины при следующей корректной перезагрузке ВМ.
- Для этого перейдите в настройки ВМ и на вкладке Virtual Hardware разверните секцию Upgrade.
- Отметьте опцию Schedule VM Compatibility Upgrade и выберите до какой версии нужно обновиться.
- Желательно, чтобы опция Only upgrade after normal guest OS shutdown была включена
Кроме того, вы можете обновить версию VM Version Hardware через PowerCLI :
Connect-VIServer esxi_hostname
Set-VM -VM msk-fs3 -Version v11 -Confirm:$false
Если вы используете бесплатную версию гипервизора ESXi, обновить версию через PowerCLI не удастся из-за ограничений API. Но можно воспользоваться командами vim-cmd в ESXi shell:
Получим список ВМ на сервере:
vim-cmd vmsvc/getallvms
Запомните VMID ВМ, которую нужно обновить:
vim-cmd vmsvc/upgrade vmid vmx-10
Осталось включать ВМ и проверить, что обновилась до VM version 11.
Привет! Хочу предупредить тех, кто стремиться обновить версии ESXi на хостах и сферах. Пожалуйста, сверяйтесь с таблицей совместимости сетевых адаптеров с выходящими апдейстами для ESXi. Если у вас сетевые адаптеры HP 554FLB и вы необдуманно обновили весь зоопарк на 6.7 с апдейтами, то ждите беды 🙂 в кратце, популярные серверные адаптеры 554FLB не поддерживают всё, что выше версии 6.5, такие дела. Из-за этого косяка, моя инфраструктура вышла из строя на несколько часов, пока я не откатил версии хостов с 6.7 на 6.5. Учитывайте это, когда решаетесь обновляться.
По поводу отката, то всё просто: идем к машине с версией 6.7, смотрим, где она хранится (запоминаем). Далее, останавливаем работу и удаляем машину из общего списка машин (делаем анрегистр). Ищем эту машину в хранилище, находим в каталоге файлик *.vmx c именем машины и меняем в нём virtualHW.version = «14» на virtualHW.version = «13». Сохраняем, заново регистрируем машину и на этом, всё. Будьте внимательны, когда будете останавливать хост со сферой, учтите, что вы потеряете управление. Заходите по прямому адресу хоста.