gpt4 book ai didi

virtualization - 使用 KVM : -enable-kvm in qemu in nested virtualization 的嵌套虚拟化

转载 作者:行者123 更新时间:2023-12-04 01:55:18 25 4
gpt4 key购买 nike

在我已经虚拟化的主机中,尝试将选项传递给选项 -enable-kvm -m 1024 , 将失败:

qemu-system-x86_64  -vga std -enable-kvm -m 1024   -monitor telnet:localhost:9313,server,nowait -drive file=my_img.img,cache=none
# Could not access KVM kernel module: No such file or directory
# failed to initialize KVM: No such file or directory

如果我删除该选项 -enable-kvm -m 1024 , qemu 将加载(但它需要永远,因为它使用软件仿真):
qemu-system-x86_64  -vga std  -monitor telnet:localhost:9313,server,nowait -drive file=my_img.img,cache=none
# qemu running, OK, but image taking forever to load.

当然,我的这个虚拟化主机具有嵌套自己的虚拟化的能力。我到处都能找到有关它的信息 [例如: https://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html ] 告诉我必须检查文件 /sys/module/kvm_intel/parameters/nested这根本不可用,因为 kvm-intel不是也不能从图像内部加载:
sudo modprobe  kvm-intel
# modprobe: ERROR: could not insert 'kvm_intel': Operation not supported

可能这种调试嵌套虚拟化的方法仅适用于裸机。 那么,如何从 kvm 内部启用(转发支持)kvm?

附加信息:
lscpu # from inside the virtualized host
# Architecture: x86_64
# ...
# Vendor ID: GenuineIntel
# CPU family: 6
# Model: 13
# Model name: QEMU Virtual CPU version (cpu64-rhel6)
# Stepping: 3
# ...
# Hypervisor vendor: KVM
ltrace qemu:
# open64("/dev/kvm", 524290, 00)                   = -1
# __errno_location() = 0x7f958673c730
# __fprintf_chk(0x7f957fd81060, 1, 0x7f9586474ce0, 0Could not access KVM kernel module: No such file or directory

最佳答案

测试是否kvm在当前主机中启用支持(即,它在虚拟机中工作)请执行以下操作:

grep -E "(vmx|svm)" /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 constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1

在问题中:
grep -E "(vmx|svm)" /proc/cpuinfo | wc -l 
0

表示支持被禁用, enable-kvm不会工作。需要在裸机中执行操作。

关于virtualization - 使用 KVM : -enable-kvm in qemu in nested virtualization 的嵌套虚拟化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43942033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com