Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.19.9. 当 libvirtd 已启动时,没有演示客户机虚拟机

症状
libvirt 守护进程成功启动,但没有显示客户机虚拟机。
# virsh list --all
 Id    Name                           State
----------------------------------------------------

正在调查
此问题有多种可能的原因。执行这些测试有助于确定此情况的原因:
验证 KVM 内核模块
确定在内核中插入 KVM 内核模块:
# lsmod | grep kvm
kvm_intel             121346  0
kvm                   328927  1 kvm_intel
如果您使用 AMD 机器,请验证在内核中使用类似命令 lsmod | grep kvm_amd 内核模块是否已插入到内核中。
如果模块不存在,请使用 modprobe <modulename> 命令插入它们。
注意
虽然这比较常见,但 KVM 虚拟化支持可能会被编译到内核中。在这种情况下,不需要模块。
验证虚拟化扩展
验证主机上是否支持并启用虚拟化扩展:
# egrep "(vmx|svm)" /proc/cpuinfo
flags		: fpu vme de pse tsc ... svm ... skinit wdt npt lbrv svm_lock nrip_save
flags		: fpu vme de pse tsc ... svm ... skinit wdt npt lbrv svm_lock nrip_save
在 BIOS 设置中启用硬件固件配置中的虚拟化扩展。详情请查看您的硬件文档。
验证客户端 URI 配置
验证客户端的 URI 是否已按预期配置:
# virsh uri
vbox:///system
例如,此消息显示 URI 已连接到 VirtualBox 管理程序,而不是 QEMU,并显示了设置为连接到 QEMU 管理程序的 URI 的配置错误。如果 URI 正确连接到 QEMU,则会显示相同的信息:
# virsh uri
qemu:///system
当存在其他虚拟机监控程序时,默认情况下 libvirt 可能进行通信时会出现这种情况。
解决方案
执行这些测试后,使用以下命令查看客户端虚拟机列表:
# virsh list --all