我在 Ubuntu 中有一个 qemu-kvm 虚拟机管理程序(级别 0),其中 CentOS 7 是 VM(级别 1),我还安装了 QEMU-KVM,将其转变为另一个虚拟机管理程序,我打算将 Arch 作为 VM(级别 2)。我的 CentOS 7(级别 1)似乎运行良好。
我在我的虚拟机管理程序(级别 0)中激活了嵌套虚拟化:
$ cat /etc/modprobe.d/qemu-system-x86.conf
options kvm_intel nested=1
$ cat /sys/module/kvm_intel/parameters/nested
Y
在我的 CentOS VM(级别 1)中,我确认 KVM 存在:
# echo "Number of processors that support KVM: $(grep -Ec "(vmx|svm)" /proc/cpuinfo)"
Number of processors that support KVM: 2
# lscpu | grep "Virtualization\|Hypervisor"
Virtualization: VT-x
Hypervisor vendor: KVM
Virtualization type: full
# lsmod | grep -i kvm
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
现在,当我尝试在 CentOS Hypervisor (Level 1) 中安装 Arch 时,它失败了。下面,您会看到即使选项也--prompt
失败了:
# virt-install --name=Nested-Arch --vcpus=1 --ram=512 --os-type=linux --os-variant=virtio26 --nographics --description "Arch Linux inside CentOS inside Ubuntu (Nesting)" --network bridge=virbr0,model=virtio --disk path=/var/lib/libvirt/images/guest.img,size=32 --cdrom=/root/Downloads/archlinux-2016.09.03-dual.iso --extra-args="console=tty0 console=ttyS0,115200n8 serial"
ERROR Host does not support any virtualization options
# virt-install --prompt
WARNING --prompt mode is no longer supported.
ERROR Host does not support any virtualization options
有人知道如何解决这个问题吗?
答案1
因此,查看 libvirt 日志(journalctl -xeu libvirtd)时我发现每次尝试使用 virt-install 时都会出现此错误:
4 月 21 日 15:10:25 localhost.localdomain libvirtd[2156]:2019-04-21 19:10:25.351+0000:2176:错误:virQEMUCapsNewForBinaryInternal:4589:内部错误:无法使用 QMP 探测 QEMU 二进制文件:/usr/libexec/qemu-kvm:重定位错误:/lib64/libspice-server.so.1:符号 SSL_CONF_CTX_set_ssl_ctx,版本 libssl.so.10 未在文件 libssl.so.10 中定义,带有链接时间参考
快速搜索让我找到了这个RHEL 页面。基本上,它说旧版本的 openssl 和 qemu 存在错误。我的 openssl 是 2013 年 2 月 11 日的 1.0.1e-fips,我已更新到 openssl-1.0.2k。现在它运行良好。