최근 virt-manager를 통해 여러 가상 머신을 생성했는데 모두 문제 없이 실행됩니다. 다음 주 동안 가상 머신을 시작하려고 할 때마다 다음 메시지가 나타납니다.
Error starting domain: unsupported configuration: Domain requires KVM, but it is not available. Check that virtualization is enabled in the host BIOS, and host configuration is setup to load the kvm modules.
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/object/domain.py", line 1279, in startup
self._backend.create()
File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1234, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: unsupported configuration: Domain requires KVM, but it is not available. Check that virtualization is enabled in the host BIOS, and host configuration is setup to load the kvm modules.
원격 로그인을 통해 시스템을 사용했을 때 쫓겨난 것을 확인했기 때문에 주말 동안 시스템을 재부팅했다고 가정합니다.
또한 명령을 실행하여 kvm 모듈을 로드해야 했던 것을 기억합니다. 그래서 첫 번째 추측은 로드되지 않았다는 것이므로 다음을 실행했습니다.
$modprobe kvm
하지만 여전히 같은 메시지가 나타납니다. 나도 도망쳤어
$lsmod | grep kvm
그리고 얻다
kvm 507904 0
그래서 로드되었습니다.
BIOS를 확인한 결과 실제로 활성화되어 있는지 확인할 수 있습니다. 이 문제를 해결하는 방법을 찾으려고 노력하는 동안 내가 무엇을 했는지는 모르겠지만 가상 머신을 다시 실행할 수도 있었습니다. 그런 다음 시스템을 다시 시작하여 실제로 수정되었는지 확인했는데 메시지가 계속 나타납니다. 누구든지 이 문제를 해결하도록 도와줄 수 있나요?
답변1
KVM이 로드되었지만 kvm_intel
또는 kvm_amd
모듈도 로드되어야 합니다. 예를 들어 내 컴퓨터에서는 다음과 같습니다.
[Alex@NormandySR2 nested_virt_kvm]$ lsmod | grep kvm
kvm_intel 327680 7
kvm 909312 1 kvm_intel
이미 알고 있듯이 이 방법이 작동하지 않는 데에는 적어도 두 가지 이유가 있을 것입니다.
- UEFI(BIOS라고도 함)에서 가상화 비활성화
- CPU가 가상화를 지원하지 않습니다
다음을 통해 CPU가 가상화를 지원하는지 확인할 수 있습니다.
lscpu | grep vmx # intel
lscpu | grep svm # amd
그렇지 않은 경우 CPU 모델이 가상화를 지원하는지 확인하십시오(이 정보는 공급업체 웹사이트에서 확인 가능). CPU 모델을 얻으려면 .
lscpu | grep 'Model'
Model: 60
Model name: Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz
편집하다
자동으로 활성화하는 방법은 무엇입니까? 배포판에 따라 부팅 후에 로드해야 합니다. 그러나 어떤 이유로든 그렇지 않은 경우 다음을 사용할 수 있습니다.
echo -e 'kvm\nkvm_amd' | sudo tee -a /etc/modules-load.d/kvm.conf
그러면 두 줄이 에 저장됩니다 /etc/module-load.d
. module-load.d에 대한 자세한 내용은 man 5 modules-load.d
매뉴얼을 호스팅하는 웹사이트 중 하나에서 확인할 수 있습니다. 예:
https://www.systutorials.com/docs/linux/man/5-modules-load.d/
답변2
이것은 형식 지정을 위해 여기에 게시된 주석입니다.
이것이 완전한 출력입니까 lsmod | grep kvm
? 이 경우 문제가 있는 것 같습니다. 내 결과는 다음과 같습니다.
kvm_intel 233472 0
kvm 757760 1 kvm_intel
irqbypass 16384 1 kvm
리콜이 잘 되면 AMD CPU도 마찬가지고,kvm_amd
kvm
셸에서 간단한 명령을 시도 할 수도 있습니다 . 빈 VM을 시작하고 BIOS 부팅을 시도해야 합니다. 이 경우 qemu-kvm에는 문제가 없으나 libvirt
Virt-Manager에는 문제가 있을 수 있습니다.