Openstack Compute无法根据实例的类型和数量运行实例

Openstack Compute无法根据实例的类型和数量运行实例,openstack,openstack-nova,centos8,Openstack,Openstack Nova,Centos8,我正在尝试创建各种实例,但Compute未能生成其中一些实例 我的实例具有以下特点: 姓名:第三站 根据图像创建:CentOS-7-x86_64 味道:m1.1中等(2个VCPU,4GB RAM,40GB磁盘) 我还有另外两个实例正在运行。除非使用flavor m1.small(1VCPU、2GB RAM、20GB磁盘),否则无法生成这些实例。与该风格的任何偏差和实例生成都失败 不幸的是,我的第三个身份无法产卵,无论使用的味道。我曾尝试用m1.small创建它,但始终失败 我查看了Nova日志,

我正在尝试创建各种实例,但Compute未能生成其中一些实例

我的实例具有以下特点:

姓名:第三站 根据图像创建:CentOS-7-x86_64 味道:m1.1中等(2个VCPU,4GB RAM,40GB磁盘)

我还有另外两个实例正在运行。除非使用flavor m1.small(1VCPU、2GB RAM、20GB磁盘),否则无法生成这些实例。与该风格的任何偏差和实例生成都失败

不幸的是,我的第三个身份无法产卵,无论使用的味道。我曾尝试用m1.small创建它,但始终失败

我查看了Nova日志,注意到当我尝试创建此实例时,我在Nova-conductor.log文件中始终得到以下消息:

2020-08-29 13:21:09.637 98391 ERROR nova.conductor.manager
2020-08-29 13:21:09.637 98391 ERROR nova.conductor.manager
2020-08-29 13:21:09.890 98391 WARNING nova.scheduler.utils [req-30539015-22f1-4d46-b8b7-63f9c679eed1 4c4c7de6dd134250972958ce260530f2 166dc91ccec24f21963c71a437380ee9 - default default] Failed to compute_task_build_instances: No valid host was found.
Traceback (most recent call last):

  File "/usr/lib/python3.6/site-packages/oslo_messaging/rpc/server.py", line 241, in inner
    return func(*args, **kwargs)

  File "/usr/lib/python3.6/site-packages/nova/scheduler/manager.py", line 200, in select_destinations
    raise exception.NoValidHost(reason="")

nova.exception.NoValidHost: No valid host was found.
: nova.exception_Remote.NoValidHost_Remote: No valid host was found.
2020-08-29 13:21:09.891 98391 WARNING nova.scheduler.utils [req-30539015-22f1-4d46-b8b7-63f9c679eed1 4c4c7de6dd134250972958ce260530f2 166dc91ccec24f21963c71a437380ee9 - default default] [instance: fe54feaf-ecb6-4725-97e9-7d208066ddb0] Setting instance to ERROR state.: nova.exception_Remote.NoValidHost_Remote: No valid host was found.
我错过了什么?当我尝试使用m1.small以外的口味时,是什么原因导致这些找不到主机的失败,以及为什么第三个实例无法生成而不考虑使用的口味???如何(如果可能)使这些实例正常运行


注意:我正在CentOS 8上使用从Packstack创建的安装。我的机器是一个2核的,有32G的RAM和3TB的磁盘空间。Openstack版本是Ussuri。

在我看来,您似乎没有足够的资源,尤其是CPU核心。您已经写过,您的节点只有两个核心,并且您已经生成了两个具有小风格的虚拟机,每个虚拟机需要一个核心。此
未找到有效主机
-当未找到具有足够资源的计算主机时,也会出现错误

您可以自己检查:


运行
openstack hypervisor list
列出您的hypervisor,然后使用hypervisor的id运行
openstack hypervisor show
。在输出中,您可以找到
vcpus
vcpus\u used
vcpus
是所选计算主机上的最大可用cpu核数。根据您问题中的信息,我认为这两个值在您的情况下都是
2
,这将表明您没有足够的资源用于第三个VM。

因此,您可以生成的实例数似乎取决于您的硬件拥有的核心数。问题:是否可以停止一个或多个正在运行的实例,以便运行另一个实例?在这些问题上,我还是个新手……这取决于您的可用资源(cpu、ram、磁盘)。除此之外,虚拟机的味道也很重要。口味越大,可用虚拟机的数量就越少。对于核心,也可以使用过度配置,但我自己从未使用过。有了这个,在相同数量的内核上运行更多的内核也是可能的。这是在不删除虚拟机的情况下释放虚拟机的已分配内核和ram的唯一方法。据我所知,是
openstack shelve
-命令。只有磁盘上的数据和openstack数据库中的元数据保留下来,虚拟机监控程序再次可用。感谢您提供的信息,Tobias。我已经升级了我的机器,使它有一个8核的CPU。我现在有CPU的能力,但事实证明阻止我做事的是磁盘空间。虽然我有3 TB,但我的根分区太小了。这是一个不同的问题,需要不同的问题。