修复了OpenStack Nova错误“ NoValidHost:找不到有效的主机。没有足够的可用主机。”

尝试在VirtualBox内部署Openstack进行测试时出错 “ NoValidHost:找不到有效的主机 没有足够的可用主机。 ” 我正在尝试使用nova boot命令运行实例。

将VDI转换为Qcow2并尝试与Nova一起启动后,我确认了。

如何将VirtualBox磁盘映像(VDI)和img转换为Qcow2格式

当在VirtualBox中将qemu用作虚拟机管理程序而不是KVM加速来运行OpenStack Compute服务(Nova)时,通常会发生这种情况。

量化宽松

从计算服务的角度来看,QEMU虚拟机管理程序与KVM虚拟机管理程序非常相似。两者都通过libvirt控制,并支持相同的功能集。此外,所有KVM兼容虚拟机映像都与QEMU兼容。

主要区别在于QEMU不支持本地虚拟化。结果,QEMU的性能不如KVM,不适合生产部署。

当您使用nova boot命令启动实例并尝试获取状态“ ERROR”时,日志文件/var/log/nova/nova-conductor.log输出错误“ NoValidHost:找不到有效的主机”。有可能。足够的主机可用。 “。您可以执行以下操作:

tail -f /var/log/nova/nova-conductor.log

要解决此问题,请打开nova.conf文件并添加以下行:

openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

我使用上述命令启用了QEMU,并将计算驱动程序更改为libvirt.LibvirtDriver。如果您在裸机服务器上运行Openstck,则需要将virt_type设置为kvm。设置如下:

openstack-config --set /etc/nova/nova.conf DEFAULT compute_driver libvirt.LibvirtDriver
openstack-config --set /etc/nova/nova.conf libvirt virt_type kvm

根据您的管理程序,virt_type的所有可能值是:

  1. 虚拟机
  2. x
  3. 化学
  4. 统一语言
  5. 基森
  6. 平行的

某些操作需要安装guestmount实用程序:对于Ubuntu / Debian

sudo apt-get install guestmount

在CentOS和RHEL上

sudo yum install libguestfs-tools

对于openSUSE:

sudo zypper install guestfs-tools

QEMU和KVM虚拟机管理程序支持以下虚拟机映像格式:

  1. 生的
  2. QEMU写入时复制(qcow2)
  3. VMware虚拟机磁盘格式(vmdk)

现在,您应该能够使用QEMU虚拟机管理程序在Openstack Nova上启动实例。

标签:

  • 如何将Qemu设置为Openstack Hypervisor
  • 如何在CentOS 7 Openstack主机OS上修复“ NoValidHost:找不到有效的主机。没有足够的可用主机”。
  • 在Linux上安装guestfs-tools
  • Nova和Qemu整合

OpenStack详细信息:

如何将OpenStack实例从一台计算主机迁移到另一台计算主机

如何调整OpenStack实例/虚拟机的大小

如何创建OpenStack Cinder卷并将其连接到VM

如何将RHEL 8 qcow2映像添加到OpenStack Glance

Sidebar