मेरी पहले से ही आभासी मेजबान में, विकल्प विकल्प -enable-kvm -m 1024
पारित करने के लिए कोशिश कर रहा है, असफल हो जायेगी:नेस्टेड वर्चुअलाइजेशन: नेस्टेड वर्चुअलाइजेशन में qemu में सक्षम करें-केवीएम
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
शायद नेस्टेड वर्चुअलाइजेशन डीबग करने की विधि केवल नंगे धातु में काम करती है। तो, मैं केवीएम के अंदर से केवीएम को कैसे सक्षम करूं (समर्थन का समर्थन)?
अतिरिक्त जानकारी:
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
qemu की ltrace
: अगर kvm
समर्थन वर्तमान मेजबान (यानी, यह आभासी मशीन में काम करता है) कर में सक्षम किया गया है
# 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