No host is compatible with the virtual machine ошибка

Profile picture for user Олег

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"

27. December 2018

VMware

When you install a nested ESX 6.7 host do not forget to enable the “Expose hardware assisted virtualization to the guest OS” setting. Otherwise you will see errors like:

“No host is compatible with the virtual machine.

“The target host does not support the virtual machine’s current hardware requirements.”

I forget about this setting every time – this is the reason for this short blog post 🙂

To enable the setting right-click your virtual ESX 6.7 host and select “Edit settings”.

In the “virtual hardware” tab expand “CPU” and enable “Expose hardware assisted virtualization to the guest OS”

We are encountering an error when attempting to create a virtual machine using the VSphere ISO plugin targeting the ESXi server version 6.0 (hardware version 11 and earlier) and earlier.
We receive the following error:

Using the default or version 13 and up have no issues. Am able to manually build new
version 11 ESXi 6.0 compatible VMs using the same resources and configuration on our ESXi host.

Is there any way for us to inspect what is sent to VSphere to determine if the correct hardware versions are being sent or is it possible that our Packer template is configured incorrectly?

packer-builder-vsphere-iso.macos 2.0
packer-builder-vsphere-iso.linux 2.0

Thank you in advance for any help you can provide.

Recently, while upgrading ESXi 5.0 Update 2 to ESXi 5.5, faced an issue that several virtual machines were not able to be vMotioned to any ESXi 5.5 servers. The error message shown on the vSphere client task pane was:

No host is compatible with the virtual machine.

Yes, it looks so obvious that something isn’t compatible with ESXi 5.5 on these virtual machines. Checked the settings on a virtual machine and found that:

      • SCSI controller: BusLogic Parallel.
      • Operating System: Debian Linux 5 (32-bit)

Odd thing was that the clone of this virtual machine was fine, i.e. one for production and another for test/dev. The settings were exactly the same. What’s the next step? Of course, vmkernel.log.

vmkernel.log

2014-02-09T23:02:02.970Z cpu6:3550541)P2MCache: 545: vm 4895049: GetPhysMemRange failed for PPN 0x1c9af4 canBlock 1 count 98 status Out of slots

2014-02-09T23:02:02.970Z cpu6:3550541)VmMemCow: 1599: p2m update: cannot reserve – cur 2309 2432 rsvd 0 req 1 avail 2432

2014-02-09T23:02:02.970Z cpu6:3550541)P2MCache: 545: vm 4895049: GetPhysMemRange failed for PPN 0x18bff5 canBlock 1 count 99 status Out of slots

2014-02-09T23:02:02.970Z cpu6:3550541)VmMemCow: 1599: p2m update: cannot reserve – cur 2309 2432 rsvd 0 req 1 avail 2432

2014-02-09T23:02:02.970Z cpu6:3550541)VmMemCow: 1599: p2m update: cannot reserve – cur 2309 2432 rsvd 0 req 1 avail 2432

2014-02-09T23:02:02.970Z cpu6:3550541)VmMemCow: 1599: p2m update: cannot reserve – cur 2309 2432 rsvd 0 req 1 avail 2432

2014-02-09T23:02:23.480Z cpu9:5982)Config: 346: “SIOControlFlag2” = 1, Old Value: 0, (Status: 0x0)

2014-02-09T23:03:53.550Z cpu4:12576)Config: 346: “SIOControlFlag2” = 0, Old Value: 1, (Status: 0x0)

Looking at the vmkernel.log, I could see that reserving memory was causing an issue. To fix the problem, I did the following:

  1. Remove memory reservation
  2. Storage vMotion only the configuration file to another VMFS volume
  3. vMotion
  4. Storage vMotion back the configuration file to the original VMFS volume
  5. Create memory reservation

After upgrading to ESXi 5.5 and see the error above, don’t panic. It can be simply fixed with vMotion and storage vMotion.

When trying to start a virtual machine in vCloud Director 5.1 I faced the following error:

vcd-error

Unable to start vApp “XYZ”:

  • null <- This one is really cool 😉
  • vCenter Server task (moref: task-3095) failed in vCenter Server ‘XYZ’ (VM-ID).
  • No host is compatible with the virtual machine.

Fortunately I had also access to the vSphere layer….which produces exactly the same error. When tying to start the virtual machine in vCenter we’ve got ourself a more descriptive error:

vcd-error-2

Aha….the virtual machine has 10 CPUs while the host can offer only 8. Seems reasonable…but why don’t we get this alert in vCD? Especially in public cloud scenario it would be very helpful :). Hope this one helps if you’re using vCD yourself!

  • No gulpfile found ошибка
  • No enum constant ошибка
  • No dtc ошибка тойота
  • No dtc ошибка ниссан
  • No dsp sony камера ошибка