최근에 나는 VirtualBox의 대안으로 KVM/Qemu를 조사하기 시작했고 내가 확인한 거의 모든 Linux 시스템에 자동으로 로드되는 것으로 보이는 다음 3개 모듈을 발견하고 놀랐습니다.
[pgoetz@frog etc]$ lsmod | grep kvm
kvm_intel 311296 0
kvm 778240 1 kvm_intel
irqbypass 16384 1 kvm
이러한 시스템 중 어느 시스템도 kvm/Qemu 가상화를 사용하지 않기 때문에 이는 충격적입니다(비록 그 중 일부는 VirtualBox용으로 설정되어 있음). 내가 확인한 시스템은 Arch Linux, Ubuntu 18.04, Ubuntu 19.10 및 CentOS 7.4를 실행하고 있었습니다. Ubuntu 19.10은 소프트웨어가 추가되지 않은 새로운 데스크탑 설치입니다. KVM 모듈이 로드되지 않은 유일한 시스템은 Ubuntu 18.04.2(대체) 서버 설치였습니다.
많은 인터넷 검색에서 이러한 모듈을 로드하는 이유가 밝혀지지 않았습니다. 실험으로 Ubuntu 19.10 시스템의 BIOS에서 Intel VT를 비활성화하려고 시도했지만 여전히 kvm 모듈이 로드되었습니다(kvm_intel은 아님)!
이 모듈을 로드해도 문제가 되지 않을 것입니다. 하지만 메커니즘이 궁금합니다. 시작 시 모듈이 어떻게/왜 로드됩니까?
답변1
모듈이 자동 로드되는 이유를 확인하려면 모듈의 별칭을 살펴보는 것이 가장 좋습니다.
$ sudo modinfo kvm-intel|grep alias:
alias: cpu:type:x86,ven*fam*mod*:feature:*0085*
$ sudo modinfo kvm-amd|grep alias:
alias: cpu:type:x86,ven*fam*mod*:feature:*00C2*
이는 kvm-intel
기능 85h(X86_FEATURE_VMX
) 및 kvm-amd
C2h 기능을 지원하는 CPU가 있는 시스템(X86_FEATURE_SVM
).