harvester: [BUG] KVM has been disabled by BIOS. KVM must be enabled before creating any Virtual Machines

Describe the bug

Getting KVM has been disabled by BIOS. KVM must be enabled before creating any Virtual Machines. in Host / Basics menu, which is a VM with enabled nested virtualization on Proxmox.

To Reproduce Steps to reproduce the behavior:

  1. Go to ‘Host / Basics’

Expected behavior

Nested virtualization is working

Support bundle

Environment

  • Harvester ISO version: 1.1.2
  • Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Proxmox with Epyc based CPU ( 7H12 )

Additional context

harvester:/home/rancher # cat /sys/module/kvm_amd/parameters/nested
1
harvester:/home/rancher # lsmod | grep kvm
kvm_amd               147456  6
ccp                   106496  1 kvm_amd
kvm                  1052672  1 kvm_amd
irqbypass              16384  1 kvm
harvester:/home/rancher # egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt nrip_save umip rdpid arch_capabilities
harvester:/home/rancher # kubectl exec virt-launcher-test-9vp9f -it bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
test:/ # virt-host-validate
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device /dev/kvm exists                                   : PASS
  QEMU: Checking if device /dev/kvm is accessible                            : PASS
  QEMU: Checking if device /dev/vhost-net exists                             : PASS
  QEMU: Checking if device /dev/net/tun exists                               : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : PASS
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : PASS
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : PASS
  QEMU: Checking for cgroup 'blkio' controller support                       : PASS
  QEMU: Checking for device assignment IOMMU support                         : WARN (No ACPI IVRS table found, IOMMU either disabled in BIOS or not supported by this hardware platform)
  QEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)
   LXC: Checking for Linux >= 2.6.26                                         : PASS
   LXC: Checking for namespace ipc                                           : PASS
   LXC: Checking for namespace mnt                                           : PASS
   LXC: Checking for namespace pid                                           : PASS
   LXC: Checking for namespace uts                                           : PASS
   LXC: Checking for namespace net                                           : PASS
   LXC: Checking for namespace user                                          : PASS
   LXC: Checking for cgroup 'cpu' controller support                         : PASS
   LXC: Checking for cgroup 'cpuacct' controller support                     : PASS
   LXC: Checking for cgroup 'cpuset' controller support                      : PASS
   LXC: Checking for cgroup 'memory' controller support                      : PASS
   LXC: Checking for cgroup 'devices' controller support                     : PASS
   LXC: Checking for cgroup 'freezer' controller support                     : PASS
   LXC: Checking for cgroup 'blkio' controller support                       : PASS
   LXC: Checking if device /sys/fs/fuse/connections exists                   : PASS

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 1
  • Comments: 18 (10 by maintainers)

Most upvoted comments

Tested in v1.2.0-rc2. Not showing error message anymore. It’s showing a different error, but I’ll create a different bug about that.

Screenshot_20230620_184941

@noahgildersleeve We can track the error in this issue: https://github.com/harvester/harvester/issues/4103

Same problem here with AMD Ryzen 9 5900X

@iosifnicolae2 I’m so sorry to reiterate. Did you see the issue within VMs? That is, you use VM to run Harvester and try to run more VMs in a nested virtualization manner. Or you see this image by installing Harvester to a bare-metal machine. Thanks.

I saw the issue when installing Harvester on a bare-metal machine.

@lukasmrtvy @iosifnicolae2 thanks for your report.