13

I used a Centos AMI on AWS, with Type C5.large and HVM. I installed the KVM packages but when I run kvm-ok the output is:

Your CPU does not support KVM extensions
KVM acceleration can NOT be used

How is possible my CPU does not support acceleration?

Robert
  • 10,403
  • 14
  • 67
  • 117
  • 3
    C5 does not support nested acceleration without a third-party solution (Ravello has been marketing the bajeepers out of this). The bare metal instance types will work if you can afford them. Google/Azure have also announced support for nested virtualization recently. – Cy Rossignol Dec 13 '17 at 06:36
  • According to this article AWS is making a switch from Xen to KVM with their Nitro HV, but unfortunately, nested virtualization (VT-x support) is still not supported . http://www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html – toppur May 01 '18 at 00:11

2 Answers2

6

You are trying to run a virtual machine monitor within a virtual machine. It is a second level, or nested virtualization what you are trying to achieve.

As the Intel hardware supports only a single level of hardware-assisted virtualization, adding support for efficient (i.e., not painfully slow) nesting requires a lot of clever software engineering in hypervisors. Fortunately, this has been done in many of popular VMM software, including KVM. Whether it is enabled or depends on the administrative settings of the top-level VMM, as it decides what to expose to its guests. You should inquire your hosting/cloud operator for a possibility to activate nested virtualization support for your instances, and what it will cost you in monetary value.

Alternatively, a bare metal host, not a VM, may be the only alternative for your if you find yourself needing more performance, as each virtualization layer increasingly adds overhead to resources consumption, especially speed of input-output operations.

Grigory Rechistov
  • 2,104
  • 16
  • 25
0

There is one Hint https://kubevirt.io/user-guide/operations/installation/#installing-kubevirt-on-kubernetes If hardware virtualization is not available, then a software emulation fallback can be enabled using by setting in the KubeVirt CR spec.configuration.developerConfiguration.useEmulation to true as follows:

kubectl edit -n kubevirt kubevirt kubevirt Add the following to the kubevirt.yaml file

spec:
  ...
  configuration:
    developerConfiguration:
      useEmulation: true
BharathyKannan
  • 148
  • 2
  • 3
  • 19