You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenStack指定AZ-GOLD-6248R创建实例失败,提示No Valid Host was Found

OpenStack指定AZ-GOLD-6248R创建实例失败,提示No Valid Host was Found

看起来你的问题核心很明确:指定AZ-GOLD-6248R创建实例时调度器找不到有效主机,但直接用--host指定该AZ下的计算节点cmpt01却能成功,而且所有项目都存在这个问题,计算节点资源也充足。结合日志里Got no allocation candidates from the Placement API的提示,问题大概率出在AZ与计算节点的关联配置或者Placement API的资源映射逻辑上,我给你梳理几个排查方向和解决步骤:

1. 确认AZ与计算节点的关联是否正确

首先得确保AZ-GOLD-6248R确实关联了目标计算节点cmpt01:

  • 执行命令查看AZ的详细信息:
    openstack availability zone list --long
    
    检查输出里AZ-GOLD-6248R下的hosts列表是否包含cmpt01,如果没有,说明计算节点的AZ配置有误。
  • 检查计算节点的nova.conf配置(Kolla部署下路径通常是/etc/nova/nova.conf),确认availability_zone参数是否设置为AZ-GOLD-6248R;同时检查controller节点的nova配置,default_availability_zone是否和预期一致。如果是Kolla Ansible部署,还要确认inventory里compute节点的availability_zone变量是否正确配置,避免部署时覆盖了设置。

2. 排查Placement API的资源提供者属性

日志里调度器拿不到分配候选,说明Placement没有识别到该计算节点属于AZ-GOLD-6248R,或者资源计算逻辑有问题:

  • 先找到cmpt01对应的资源提供者ID:
    openstack resource provider list
    
  • 查看该资源提供者的属性,确认是否带有availability_zone标签:
    openstack resource provider show <provider-id>
    
    如果没有availability_zone: AZ-GOLD-6248R这个属性,说明计算节点没有向Placement上报AZ信息,需要修复nova-compute的配置后重启服务。
  • 检查资源提供者的库存详情,确认可用资源是否符合预期:
    openstack resource provider inventory list <provider-id>
    
    重点看reserved(预留资源)和allocation_ratio(分配比率),如果reserved值过高或者分配比率设置不合理,可能导致Placement认为资源不足,即使实际资源充足。

3. 检查Nova调度器的过滤器配置

调度器的过滤器可能在按AZ筛选时排除了该节点,需要确认:

  • 查看controller节点nova-scheduler的nova.conf,确认enabled_filters里包含AvailabilityZoneFilter,这个过滤器负责根据指定的AZ筛选主机;同时检查是否有其他过滤器(比如CoreFilter、RamFilter)错误地排除了该节点。
  • 可以临时把nova-scheduler的日志级别调到DEBUG(在Kolla里修改配置后重启服务),然后再尝试创建实例,查看调度日志里的详细筛选过程,看哪个过滤器把cmpt01排除了,这样就能定位具体原因。

4. 触发资源同步并重新上报

有时候Nova和Placement的资源状态会不同步,尝试以下操作:

  • 在controller节点执行主机发现命令,强制同步cell数据库:
    nova-manage cell_v2 discover_hosts --verbose
    
  • 确认计算节点的nova-compute服务状态正常:
    openstack compute service list
    
    如果服务状态是down或者disabled,执行以下命令启用:
    openstack compute service set --enable <host-name> nova-compute
    
  • 重启nova-compute服务,等待5-10分钟让资源重新上报给Placement,然后再测试指定AZ创建实例。

补充说明

因为你直接指定--host能成功创建,说明计算节点本身的虚拟化、存储、网络配置都是正常的,问题就集中在调度器的AZ匹配和Placement的资源映射环节,按照上面的步骤排查应该能找到根源。

备注:内容来源于stack exchange,提问作者Febryandana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:49:41