Понизить версию виртуальной машины vmware
Добрый день! Многие компании сейчас все чаще переносят свои ресурсы и сервисы к облачным провайдерам, таким как AWS, Azure или vCLoud Director. Сама миграция может происходить как создание в облаке нового сервера и ручной перенос сервисов, либо же миграция виртуальной машины, после P2V конвертирования. В момент переноса виртуальной машины в облако VMware vCLoud Director, я получал ошибку » The OVF package requires hardware version 13 but the selected VDC only supports hardware version 11«. Из ошибки следовало, что моя версию виртуальной машины, более новая, чем поддерживает провайдер. Тут вариантов было несколько, увеличить версию поддержки, либо же понизить версию виртуального аппаратного обеспечения (Virtual Hardware Version / VM version). В данной заметке, я вам покажу, как можно быстро изменить версию VM version, на нужную вам.
Что такое уровень виртуального аппаратного обеспечения
Еще в старых версиях VMware ESXI 5.5 вы могли сталкиваться с ситуацией, когда вы не могли управлять из толстого клиента vCenter, виртуальными машинами, у которых версия виртуального аппаратного обеспечения была 10-й и вы видели сообщение:
Администраторам уже тогда, в некоторых случаях, требовался откат версии виртуального оборудования, до 9-й или 8-й. Хотя компанию Vmware понять можно, она семимильными шагами загоняла всех в vSphere Web Client.
Как посмотреть версию виртуального оборудования, я вам уже показывал, можете ознакомиться. В моем примере есть тестовая виртуальная машина с Windows Server 2012 R2, как видите, у нее версия виртуальной машины (VM version) 13-я.
Методы понижения (downgrade) версии виртуального оборудования
Существует несколько методов, которые вам помогут уменьшить версию «VM version» у нужной вам виртуальной машины, среди них есть как официальные. так и не очень:
Downgrade через редактирование virtualHW.version
Так как мне дорого мое время, то я использую для понижения версии виртуального оборудования на ESXI хостах, метод с редактированием параметра virtualHW.version в конфигурационном файле виртуальной машины. Вы скачиваете либо, через vSphere Web Client, либо через ssh конфигурационный файл формата *.vmx.
В веб-интерфейсе откройте вкладку «Datastores», и выберите там пункт «Browse Files», для просмотра содержимого на данном хранилище.
Далее, когда вы получили конфиг-файл, вы редактируете его любым текстовым редактором. В файле находите параметр virtualHW.version = «13», в моем случае VM version имеет 13 версию, я поменяю ее на 11. Копируете фал обратно с заменой оригинального и проверяете результат, у вас при включении виртуальной машины должна понизиться версия виртуального оборудования.
В итоге когда я включил свой сервер, то лицезрел цифру 11.
Изменение версии оборудования, через VMware vCenter Converter Standalone
Этот метод, гораздо более время затратный, и потребует установки конвертера VMware vCenter Converter.
Открываете его и нажимаете кнопку «Convert machine».
Производите подключение к вашему vCenter серверу или Vmware ESXI хосту, убедитесь, что у вас стоит пункт «Power Off», означающий, что виртуальная машина отключена.
В пункте «Specify machine with» поставьте значение «VMs and Templates», в структуре датацентров, найдите вашу виртуальную машину.
Далее вам нужно подключиться к Vcenter серверу или ESXI хосту, куда будет конвертироваться виртуальная машина, у которой будет понижена версия VM version.
Задаете новое имя виртуальной машине и нажимаете «Next».
На следующем шаге выберите на каком ESXI хосте у вас будет располагаться ваша виртуалка и задайте ей нужную версию «Virtual machine version». После того, как задание будет выполнено, вы получите downgrade виртуального аппаратного обеспечения.
Пересоздание виртуальной машины
Тоже так себе метод, так как вам придется восстановить конфигурацию в первозданном виде, хорошо если у вас нет привязок по mac адресам или другим аппаратным GUID, а если есть, то придется выполнить дополнительные действия. Щелкаем по нужному серверу и выбираем из контекстного меню пункт «Remove from inventory». В итоге у вас ваша машинка не удалится с дисков, а просто исчезнет из списка зарегистрированных на vCenter сервере.
Далее вы создаете новую виртуальную машину, задаете ей другое имя отличное от старой. На шаге 2d Select compatibility вы выбираете версию виртуалки. Таблицу версий можно посмотреть вот тут.
На шаге 2f удалите все виртуальные диски и выберите пункт существующие диски «Exsisting Hard Disk».
Найдите ваши виртуальные диски на вашем датасторе и добавьте их.
Как видите данный метод, не менее трудоемкий, чем второй. Вы сами вправе выбирать любой из методов, подходящих именно вам. Если вы знаете другие, то напишите их в комментариях, буду вам признателен. Остались вопросы, так же готов их с вами обсудить, а пока вы пишите, я перевожу сервисы и ресурсы в VMware vCLoud Director.
Как понизить версию виртуального аппаратного обеспечения (Virtual Hardware Version) с vmx-10 до vmx-09(08)
В VMware vSphere 5.5 появился новый уровень виртуального аппаратного обеспечения (Virtual Hardware Version) vmx-10. После повышения уровня аппаратного обеспечения (Upgrade Virtual Hardware) с vmx-09 до vmx-10 теряется возможность редактирования настроек виртуальных машин через vSphere client.
При попытке отредактировать настройки виртуальной машины с версией 10, vSphere Client выдает окно с ошибкой:
You cannot use the vSphere client to edit the settings of virtual machines of version 10 or higher.
Use the vSphere Web Client to edit the settings of this virtual machine.
Статья VMware KB: Editing virtual machine settings fails with the error: You cannot use the vSphere client to edit the settings of virtual machines of version 10 or higher (2061336) прямо указывает, что это ожидаемое поведение, и требует использовать vSphere Web Client, а если такой возможности нет, то редактировать свойства виртуальных машин при помощи PowerCLI.
Однако иногда проще просто понизить уровень виртуального аппаратного обеспечения.
Официальные способы понизить (downgrade) уровень железа описаны в статье VMware KB: Downgrading the virtual machine hardware version in ESX/ESXi (1028019). Их три:
Не очень богатый выбор. Если бы у Вас был снапшот, Вы бы эту статью не читали. Создать новую виртуальную машину можно, но будет много головной боли, например из-за смены MAC-адресов, да и точно восстановить конфигурацию виртуальной машины довольно трудоемкий процесс. Использовать конвертер очень и очень долго. Тем более, что есть неофициальный неподдерживаемый, но очень простой способ.
Всё, что делает VMware ESXi при повышении уровня с vmx-09 до vmx-10, это в файле конфигурации виртуальной машины .vmx изменяет значение
Как понизить версию VM Hardware (виртуального железа)
В прошлой статье мы говорили о возможностях отката/возврата к предыдущей версии ESXi (https://vmblog.ru/kak-otkatit-esxi-6-5-i-vernutsya-k-predydushhemu-bildu/)на хосте виртуализации. Подобный откат в некоторых случаях может вызвать проблемы совместимости, одной из таких проблем является совместимость версии ESXi и используемой версии VM Hardware (виртуального аппаратного обеспечения ВМ). При попытке запуска виртуальной машина с более высокой версией VM Hardware на старой версии ESXi (которая не поддерживает новый формат оборудования), вы получите сообщение об ошибке и не сможете запустить ВМ.
This virtual machine uses hardware version x, which is no longer supported. Upgrade is recommended.
Для решения таких проблем VMware предлагает три способа понижения версии аппаратного обеспечения виртуальной машины:
В этом примере мы покажем процесс понижения версии VM Hardware с версии 13 до 11.
Для начала, создадим новую виртуальную машину с помощью веб интерфейса vCenter (New Virtual Machine ).
Укажите, что вам нужна новая ВМ (Create a new virtual machine).
Введите новое уникальное имя виртуальной машины и укажите датацентр, кластер и хост, на котором она будет расположена. Имя должно отличаться от имени старой ВМ, в дальнейшем его можно будет изменить (Переименование виртуальных машин в VMware ESXi).
Укажите хранилище, на котором будут расположен конфигурационный файл ВМ и ее диски.
На следующем шаге нужно будет указать уровень совместимости ВМ. В нашем случае нужно выбрать ESXi 6.0 and later, что означает использование 11 версии виртуального «железа».
Выберите семейство и версию гостевой ОС.
Теперь нужно переподключить диск старой виртуальной машины к новой. Сначала нужно удалить автоматически созданный диск ВМ (New Hard disk), т.к. он нам не будет нужен.
В выпадающем списке New Device выберите Existing Hard Disk и нажмите Add.
Вам будет предложено указать существующий vmdk файл. Найдите его на VMFS хранилище и нажмите OK. Если у старой ВМ было несколько дисков, нужно будет последовательно добавить их все.
На этом все, в окне создания ВМ можно нажать Finish.
Будет создана новая машина с существующими дисками. Попробуйте включить ВМ и убедиться, что ОС загрузилась корректно, а версия vm hardware понизилсь.
Как понизить версию виртуального аппаратного обеспечения (Virtual Hardware Version) с vmx-10 до vmx-09
В VMware vSphere 5.5 появился новый уровень виртуального аппаратного обеспечения (Virtual Hardware Version) vmx-10. После повышения уровня аппаратного обеспечения (Upgrade Virtual Hardware) с vmx-09 до vmx-10 теряется возможность редактирования настроек виртуальных машин через vSphere client.
При попытке отредактировать настройки виртуальной машины с версией 10, vSphere Client выдает окно с ошибкой:
You cannot use the vSphere client to edit the settings of virtual machines of version 10 or higher.
Use the vSphere Web Client to edit the settings of this virtual machine.
Статья VMware KB: Editing virtual machine settings fails with the error: You cannot use the vSphere client to edit the settings of virtual machines of version 10 or higher (2061336) прямо указывает, что это ожидаемое поведение, и требует использовать vSphere Web Client, а если такой возможности нет, то редактировать свойства виртуальных машин при помощи PowerCLI.
Однако иногда проще просто понизить уровень виртуального аппаратного обеспечения.
Официальные способы понизить (downgrade) уровень железа описаны в статье VMware KB: Downgrading the virtual machine hardware version in ESX/ESXi (1028019). Их три:
Не очень богатый выбор. Если бы у Вас был снапшот, Вы бы эту статью не читали. Создать новую виртуальную машину можно, но будет много головной боли, например из-за смены MAC-адресов, да и точно восстановить конфигурацию виртуальной машины довольно трудоемкий процесс. Использовать конвертер очень и очень долго. Тем более, что есть неофициальный неподдерживаемый, но очень простой способ.
Всё, что делает VMware ESXi при повышении уровня с vmx-09 до vmx-10, это в файле конфигурации виртуальной машины .vmx изменяет значение
То есть, всё что нужно сделать, чтобы откатить изменения, это поменять 10 на 9, и сделать так, чтобы хост VMware ESXi узнал об этом изменении.
Способ 1: Virtual Hardware Version уменьшаем загрузкой через vSphere Client на рабочий компьютер, VMware ESXi уведомляем методом удаления/добавления в инвентарь.
Способ 2. Virtual Hardware Version уменьшаем через SSH, VMware ESXi уведомляем методом его перезагрузки.
Естественно, способы можно комбинировать. Главное поменять в файле конфигурации, и уведомить хост об этом. Возможно, вместе танцев с инвентарем или перезагрузками, можно мигрировать виртуальную машину между двумя хостами, но у меня нет возможности это проверить. Напишите пожалуйста в комментариях о результатах, если попробуете.
Обновление версии виртуальной машины в VMWare ESXi
В каждом новом релизе своего гипервизора ESXi, VMware обновляет используемую версию виртуальной машины (VM Version) и, соответственно, параметры виртуального железа (virtual hardware). В новой версии виртуальной машины, как правило, появляется поддержка нового функционала, правятся старые баги и т.д. Поэтому при миграции на новую версию ESXi желательно выполнять и обновление версии виртуального железа для всех виртуальных машин. Старые версии виртуальных машин стоит использовать только в целях совместимости. В этой статье мы рассмотрим, как обновить версию виртуальной машины (виртуального железа) для виртуальной машины, запущенной на хосте VMWare ESXi.
В таблице ниже приставлено соответствие между версиями ESXi и версией VM.
Версия гипервизора | Версия виртуальной машины |
ESX/ESXi 4.X | 7 |
ESXi 5.0 |