易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3292|回复: 0
收起左侧

No valid host was found. There are not enough hosts available-----openstack建虚拟机直

[复制链接]
发表于 2021-6-17 16:23:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
目录& q( V2 d; J. R2 e( s
No valid host was found. There are not enough hosts available-----openstack建虚拟机直接报错
/ A3 ^) j% O/ \. d4 {3 V' Y$ S. c一、问题现象:
8 |9 a7 c& c# x8 z$ b8 n二、解决思路:
' N9 i* f# ]6 N& }2 o3 E  t+ i1、查看计算节点的nova-compute 日志,发现如下日志:4 _& x9 c3 ^7 J2 z+ H! C% u+ m
2、查看nova-scheduler.log3 S5 K; J: T' J) S* ]! e
3、进数据查看数据库表. ~) a9 q0 w7 Y* u" y, d7 H; y
4、尝试将compute节点从nova service-list中删除,并重新加入到集群中$ @! D0 g$ Q9 q6 g% u
5、再次进入数据库,执行 select * from resource_providers;
1 A8 M, R" k( ?* `, ?, g5 q$ k6、查找官网,找到了操作 resource_providers的openstack命令,执行如下操作。
  H, Q- `/ R7 |一、问题现象:
8 W/ W+ X# H3 r本次环境中只有一个计算节点,创建虚拟机直接报错,使用nova show 看到报错如下图:; {" K5 C, U; |' _
"message": "No valid host was found. There are not enough hosts available.", "code": 500
. B' x) O" Z, X9 ^( C9 W- p1 d: R8 p' W2 s* G
二、解决思路:. r( B4 d, {* K6 T. e. [
1、查看计算节点的nova-compute 日志,发现如下日志:% l& |' x* D; t' {
2019-11-21 19:47:09.484 8 ERROR nova.scheduler.client.report [req-cbc37e88-16be-4b5b-be98-d889cd1b01dc - - - - -] [req-a5a6d438-3f63-49aa-9dd2-98d061b122b4] Failed to create resource provider record in placement API for UUID d878a164-6499-43d4-9772-b77107a1bb8c. Got 409: {"errors": [
( X5 k# G& H" ~- ]{"status": 409, "request_id": "req-a5a6d438-3f63-49aa-9dd2-98d061b122b4", "detail": "There was a conflict when trying to complete your request.\n\n Conflicting resource provider name: compute1 already exists. ", "title": "Conflict"}
/ t1 ^: u2 R1 y' `. _2019-11-21 19:47:09.485 8 ERROR nova.compute.manager [req-cbc37e88-16be-4b5b-be98-d889cd1b01dc - - - - -] Error updating resources for node compute1.: ResourceProviderCreationFailed: Failed to create resource provider compute1% k# Y1 J% {0 B" M  K1 V. C
发现ResourceProviderCreationFailed: Failed to create resource provider compute1 ,发现resource Provider 创建失败。怀疑数据库resource provider 表没有建出来,继续查看nova-nova-scheduler.log。
9 x: W5 F5 ^4 f0 m/ C7 b; L2、查看nova-scheduler.log
9 I  X/ q6 e% Q, [7 Q2019-11-21 20:18:43.360 29 INFO nova.filters [req-448bd5fa-ddc8-45d9-9b8b-a63bdb691335 e0111848d3904a7288df61cac5163f4f 9be97009f556459cb1814232dbedb4a3 - default default] Filter RetryFilter returned 0 hosts
: w/ ~7 O# ]: N/ S2019-11-21 20:18:43.362 29 INFO nova.filters [req-448bd5fa-ddc8-45d9-9b8b-a63bdb691335 e0111848d3904a7288df61cac5163f4f 9be97009f556459cb1814232dbedb4a3 - default default] Filtering removed all hosts for the request with instance ID 'c9542c1c-191e-49f2-815a-fdcacc081af6'. Filter results: ['RetryFilter: (start: 0, end: 0)']
! E& n0 P# u" j0 K) Y3、进数据查看数据库表/ S. F/ ~! M) @
mysql> use nova_api;
- G; R, X9 \! P8 R' cmysql[nova_api] >  select * from resource_providers;+ `! h/ J9 {: o. w* b) ?
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+
  ]0 n+ z! x- V) Y7 H6 F/ V, H| created_at          | updated_at          | id | uuid                                 | name     | generation | can_host | root_provider_id | parent_provider_id |
! N0 n$ N9 \$ i3 L1 S+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+- z' y3 e( D5 q& g8 m8 D
| 2019-11-21 06:17:39 | 2019-11-21 06:17:41 |  3 | 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          1 |     NULL |                3 |               NULL |. D/ N, a' d- Y2 t* ?! Y; Y
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+: l. M* A7 D5 \# A! f6 {
1 row in set (0.00 sec)
  ~& \  J. A" F' H1 i, `发现有数据。重新创建虚拟机,依然会发生报错,
' d0 Z7 _7 q: G2 @9 j( l4、尝试将compute节点从nova service-list中删除,并重新加入到集群中' [6 [) F# O$ X8 z/ z) x. b" w
# 停掉compute节点的nova-compute 服务
" \5 z- F9 [* _nova service-delete <计算节点的uuid>! U- p2 g$ Y" J5 O( p" C: s5 d' j4 |
# 开启计算节点的nova-compute服务,让计算节点重新注册
- w3 a* c& T' W! S3 N3 E- P+ F尝试创建虚拟机,发现还是报错。返回去,查看nova-compute的日志发现 There was a conflict when trying to complete your request.\n\n Conflicting resource provider name: compute1 already exists. 。提示矛盾。/ q" B* V4 v0 K1 j( g3 L1 i9 z! [6 M
5、再次进入数据库,执行 select * from resource_providers;1 e1 D4 D9 ?" v& u1 ]4 E, p7 Z
mysql> use nova_api;
- P  t% \2 s6 y% c$ p0 f4 emysql[nova_api] >  select * from resource_providers;9 w9 p/ {/ f3 H; m
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+( a0 R. H+ C) n9 s, _  B# a
| created_at          | updated_at          | id | uuid                                 | name     | generation | can_host | root_provider_id | parent_provider_id |' Y, O  ^8 D3 o  j
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+
, t! p# N: J) A8 f+ k| 2019-11-21 06:17:39 | 2019-11-21 06:17:41 |  3 | 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          1 |     NULL |                3 |               NULL |
/ m! ?! C, A4 `6 C3 o+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+
& F& K" U: m  X6 k1 row in set (0.00 sec)
/ m9 w* D: J$ Z0 T发现新注册的计算节点,但是resource_providers的uuid 没有发生变化,怀疑是注册compute节点的时候,并没有更新resource_providers,尝试删除resource_providers;3 F* o. _" _+ {6 T3 {% A% k+ \7 {
, |5 H( E* i) {
1 w+ P+ n, y  f
3 Q: P0 h: T' n# y8 _% J( ?
查找官网,找到了操作 resource_providers的openstack命令,执行如下操作。
* t1 A& V1 n  v2 h5 b. b3 [相关文档:https://docs.openstack.org/osc-placement/latest/cli/index.html) @. _4 _& ^; d, _0 P
相关软件包:https://cbs.centos.org/kojifiles/packages/python-osc-placement/1.3.0/1.el7/noarch/python2-osc-placement-1.3.0-1.el7.noarch.rpm
" H$ O. X8 E; Y  M. H+ k" |# 安装osc-placement 软件包,生成命令行工具
( t. Z+ V* m. L0 h* ~# w# 执行如下命令:2 o8 S! Y4 g2 F; i" T
export OS_PLACEMENT_API_VERSION=1.10# J' {* {) Y/ \2 g. R2 j
openstack allocation candidate list --resource VCPU=1
2 Q5 k1 f* d# d8 T2 H6 W. S+ ?# 查看当前resource provider
  I+ X: K  H" S% n0 L& f( I[root@control1 ~]# openstack resource provider  list8 @) v4 m, C" I& r
+--------------------------------------+----------+------------+
3 D, w& b$ t& N7 l: b9 w$ v| uuid                                 | name     | generation |
0 Y, ?1 o0 m2 v0 j* U* S( \4 @+--------------------------------------+----------+------------+3 t  o4 x. T$ q5 u6 x( S4 I7 ~
| 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          2 |
, Z6 u- L, [+ k! I: t# \3 j: X+--------------------------------------+----------+------------+& G' k$ E% t5 X7 W5 E2 R( g
# 停止计算节点nova-compute服务
" n% C9 j9 N/ Y7 P0 a# 从service 中删除compute1
- s8 E* b3 h$ `( _/ Z# \nova service-delete  <uuid>
! ^" I6 A. v  @. j0 s4 o% T. I# 删除当前resource provider) E6 a  L2 S/ c$ ?5 x5 L0 I
openstack resource provider  delete 16d1bd53-7919-4fef-9a11-a0e98c149823
( L/ \4 @0 T! v4 R# 重启nova-compute服务,让其自动注册
: j0 D. D2 l& ~5 z$ [  |# 查看当前resource provider2 w: r, ~* m# X. L2 o# X
[root@control1 ~]# openstack resource provider  list, c% P2 L, B) ]# f& c. C) T
+--------------------------------------+----------+------------+
% d- Z7 C8 U1 q9 B) b' w| uuid                                 | name     | generation |# b/ g# h2 \# K  g9 A( b: m
+--------------------------------------+----------+------------+# |5 X& Y4 W& A$ C
| b32cd7b5-26c6-4998-97f1-79fa2315871b | compute1 |          2 |. S! V5 Q* L2 \( |/ T9 ^
+--------------------------------------+----------+------------+
; ^4 _* N( m/ Y& o# # 执行如下命令,验证是否更新了数据
- `1 i6 m: c  N, D9 V& A+ D* Zexport OS_PLACEMENT_API_VERSION=1.10
- B- G- G7 s+ Z, Y7 J/ @openstack allocation candidate list --resource VCPU=1
% t; s9 r; G* G9 ?' P执行创建云主机,云主机成功创建。* P, H. ]. s1 f; n2 Y
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:20 , Processed in 0.054085 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表