云计算|OpenStack|错误记录和解决方案(不定时更新)

news2024/9/29 11:29:13

前言:

openstack的部署和使用是难度比较大的,难免会出现各种各样的问题,因此,本文将把一些在部署和使用openstack社区版时出现的错误做一个记录,并就每一个错误分析和解决问题。(尽量记录比较经典的错误,太弱智的那些就不记录了)

一,

错误前情回顾:

创建虚拟机实例失败

创建实例的命令是:

openstack server create  --flavor m1.tiny --image Centos7   --nic net-id=688a0356-4f2b-4029-b49e-a11bbdbedf0b --key-name mykey --security-group e5f115d2-3c65-4bc5-89db-b9f725ee81db    centos7-init2
错误: 实例 "centos7-init2" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 1bd5d1af-17b1-4524-9f9c-6be299d68293.]. 

 

在dashboard内,查看实例详情,可以看到错误日志:


消息
    Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 17fe6f00-4560-476a-a79b-e6f62d866155.
编码
    500
详情
    Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 624, in build_instances raise exception.MaxRetriesExceeded(reason=msg) MaxRetriesExceeded: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 17fe6f00-4560-476a-a79b-e6f62d866155. 
已创建
    Feb. 11, 2023, 5:23 p.m. 

虚拟机实例状态是:

 

 

解析:

错误代码是500,并且虚拟机没有获取到fix ip地址,上面最后一图IP地址那是空缺的

以上表明错误发生在网络层面,错误提示是在尝试N次后,虚拟机实例仍无法调度,因此,错误日志必定在nova这个服务内有所体现

因此,在所有包含nova的节点执行以下命令,快速查找错误:

grep "ERROR" /var/log/nova/*

在其中一个计算节点,发现如下日志:

倒数第二行提示security group没有被发现

/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293]   File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1042, in allocate_for_instance
/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293]     instance, neutron, security_groups)
/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293]   File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 829, in _process_security_groups
/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293]     security_group_id=security_group)
/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293] SecurityGroupNotFound: Security group e5f115d2-3c65-4bc5-89db-b9f725ee81db not found.
/var/log/nova/nova-compute.log:2023-02-11 16:49:29.901 970 ERROR nova.compute.manager [instance: 1bd5d1af-17b1-4524-9f9c-6be299d68293] 

结合实例启动的时间和日志文件内的上下文,可以确定原因是security group没有找到的原因

查看安全组:

[root@openstack1 ~]# openstack security group list
+--------------------------------------+---------+------------------------+----------------------------------+------+
| ID                                   | Name    | Description            | Project                          | Tags |
+--------------------------------------+---------+------------------------+----------------------------------+------+
| 2035d43a-0e81-4257-bd23-13af431b9f91 | default | Default security group | 205ce8addd9444c893bd62244bcdae78 | []   |
| 5b1b71d7-5e24-4011-82ca-0ddabfd32e8a | default | Default security group |                                  | []   |
| e5f115d2-3c65-4bc5-89db-b9f725ee81db | default | Default security group | ae2263d201c0437788c85f1178b91dbe | []   |
+--------------------------------------+---------+------------------------+----------------------------------+------+
[root@openstack1 ~]# openstack project list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 205ce8addd9444c893bd62244bcdae78 | admin   |
| ae2263d201c0437788c85f1178b91dbe | service |
+----------------------------------+---------+

这里就很奇怪了,安全组可以看到,但openstack创建实例的时候又找不到了,可能和前面调整了网络有关系,

解决方案:

要么重建安全组,要么使用第一个 也就是admin项目的安全组,因为是用的admin登陆的openstack

删除实例,重新创建,创建的时候使用2035d43a-0e81-4257-bd23-13af431b9f91 这个安全组:

[root@openstack1 ~]# openstack server delete centos7-init2
[root@openstack1 ~]# openstack server create  --flavor m1.tiny --image Centos7   --nic net-id=688a0356-4f2b-4029-b49e-a11bbdbedf0b --key-name mykey --security-group 2035d43a-0e81-4257-bd23-13af431b9f91   --user-data /tmp/centos.config --config-drive true centos7-init2
+-------------------------------------+------------------------------------------------+
| Field                               | Value                                          |
+-------------------------------------+------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                         |
| OS-EXT-AZ:availability_zone         |                                                |
| OS-EXT-SRV-ATTR:host                | None                                           |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None                                           |
| OS-EXT-SRV-ATTR:instance_name       |                                                |
| OS-EXT-STS:power_state              | NOSTATE                                        |
| OS-EXT-STS:task_state               | scheduling                                     |
| OS-EXT-STS:vm_state                 | building                                       |
| OS-SRV-USG:launched_at              | None                                           |
| OS-SRV-USG:terminated_at            | None                                           |
| accessIPv4                          |                                                |
| accessIPv6                          |                                                |
| addresses                           |                                                |
| adminPass                           | YpnXPX8xmK7T                                   |
| config_drive                        | True                                           |
| created                             | 2023-02-11T09:18:31Z                           |
| flavor                              | m1.tiny (1)                                    |
| hostId                              |                                                |
| id                                  | 9d24d3d9-e42c-4267-816e-ad8414cd3c7f           |
| image                               | Centos7 (2b672c8f-75bf-4fe0-8468-37309563025a) |
| key_name                            | mykey                                          |
| name                                | centos7-init2                                  |
| progress                            | 0                                              |
| project_id                          | 205ce8addd9444c893bd62244bcdae78               |
| properties                          |                                                |
| security_groups                     | name='2035d43a-0e81-4257-bd23-13af431b9f91'    |
| status                              | BUILD                                          |
| updated                             | 2023-02-11T09:18:31Z                           |
| user_id                             | 74bc206609e04092b698698d944e922a               |
| volumes_attached                    |                                                |
+-------------------------------------+------------------------------------------------+

再次查看实例状态,可以看到没有错误了。dashboard里也看不到错误了:

[root@openstack1 ~]# openstack server list
+--------------------------------------+---------------+---------+--------------------------+---------+---------+
| ID                                   | Name          | Status  | Networks                 | Image   | Flavor  |
+--------------------------------------+---------------+---------+--------------------------+---------+---------+
| 9d24d3d9-e42c-4267-816e-ad8414cd3c7f | centos7-init2 | ACTIVE  | provider=192.168.123.160 | Centos7 | m1.tiny |

二,

前情回顾:

No valid host was found.

还是创建虚拟机失败

 错误代码仍然是500 

消息
    No valid host was found. 
编码
    500
详情
    Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 1271, in schedule_and_build_instances instance_uuids, return_alternates=True) File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 784, in _schedule_instances return_alternates=return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 50, in select_destinations instance_uuids, return_objects, return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 35, in __run_method return getattr(self.instance, __name)(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/query.py", line 42, in select_destinations instance_uuids, return_objects, return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/rpcapi.py", line 160, in select_destinations return cctxt.call(ctxt, 'select_destinations', **msg_args) File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 179, in call retry=self.retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 133, in _send retry=retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 645, in send call_monitor_timeout, retry=retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 636, in _send raise result NoValidHost_Remote: No valid host was found. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 229, in inner return func(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 154, in select_destinations raise exception.NoValidHost(reason="") NoValidHost: No valid host was found. 

错误分析:

这个错误比较常见的,也没什么必要查看日志,基本都是系统资源不足造成的

解决方案:

删除不使用的多余的实例,在重新创建即可,或者是实例类型用错了导致资源不够。

例如:

[root@openstack1 ~]# openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 0  | m1.nano   |    64 |    1 |         0 |     1 | True      |
| 1  | m1.tiny   |  1024 |   50 |         0 |     1 | True      |
| 2  | m1.small  |  2048 |  500 |         0 |     1 | True      |
| 3  | m1.medium |  4096 |  500 |         0 |     2 | True      |
| 4  | m1.large  |  8192 |  500 |         0 |     4 | True      |
| 5  | m1.xlarge | 16384 |  500 |         0 |     8 | True      |
+----+-----------+-------+------+-----------+-------+-----------+

整个系统才100G硬盘,16G内存,创建实例的时候指定m1.xlarge 这个实例规格必定是创建不了并报以上错误的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/339168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微搭低代码从入门到精通10-tab栏组件

在小程序中,如果你的页面是由多个组成的,往往涉及到页面切换的问题。那如何引导用户访问不同的页面呢?微搭中提供了tab栏组件来实现这个功能,本篇我们介绍一下这个组件的使用方法。 首先呢打开我们的应用编辑器,在左侧…

OJ刷题Day2 · 判断根结点是否等于子结点之和 · 删除有序数组中的重复项 · 合并两个有序链表 · 数组中的第K个最大元素(中等题)

一、判断根结点是否等于子结点之和二、删除有序数组中的重复项三、合并两个有序链表四、数组中的第K个最大元素(中等题)一、判断根结点是否等于子结点之和 给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左…

SpringBoot + kotlin/java + Mybatis-Plus +Sqlite + Gradle多模块项目

前言 我自己的业务项目,先用kotlinspringboot 搭建, 发现gradle支持kts脚本,于是我就搭建试试。我就选用了最流行的Sqlite内嵌数据库,虽然H2也不错,但是Sqlite才是最流行的。orm框架我还是选择了Mybatis-Plus ,为此中…

Spring Boot的创建和使用

目录 一、Spring Boot介绍 1.1 Spring Boot 是什么 1.2 Spring Boot的优点 二、Spring Boot 项目的创建 2.1 使用idea创建 2.1.1 安装Spring Boot Helper插件 2.1.2 创建 Spring Boot 项目 2.1.3 验证项目是否创建成功 2.2 使用网页创建 三、输出 hello world 一、S…

前端如何提升To B产品用户体验

云计算产品发展的早期常以技术为核心吸引客户,功能的实现是这一时期产品优先考虑的因素。经过数十年的发展,云计算行业已经进入了深耕细作的时代,市场的激烈竞争与云产品快速发展的同时,用户对产品的可用性与易用性也有了更高的要…

交换机中的冗余链路管理

一 交换机冗余链路许多交换机或交换机设备组成的网络环境中,通常使用一些备份连接,以提高网络的健全性,稳定性。备份连接也叫备份链路,冗余链路等。为了解决共享式局域网的碰撞问题,采用了交换机构成的交换式局域网&am…

C语言静态库、动态库的封装和注意事项

1、动态库、静态库介绍 参考博客:《静态库和动态库介绍以及Makefile》; 2、代码目录结构和编译脚本 参考博客:《实际工作开发中C语言工程的目录结构分析》; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…

chatgpt:人工智能的一次突破,如何正确的创建用户及使用

Chatgpt的正确创建及使用 chatgpt最近在国内也开始有声音了,其实早在去年12月初,该网站就已经可以在国外进行使用,而且很快渗透到了国外各行各业各个年龄段 ,最火的当属国外很多学生用它来生成论文,关键是语句通顺&am…

如何开启多个独立Chrome浏览器

一、简介 作为测试或者开发人员,有些情况下会用到 Chrome 浏览器,但有时是同一个 Chrome 浏览器无法为我们提供隔离开的不同环境。这样 我们就需要清理 cache 、切换账号等,降低了我们的工作效率。今天的主题是如何开启多个独立的 Chrome 浏…

LayUI模板引擎渲染数据

前端模板引擎介绍 接上节Spring boot项目开发实战——(LayUI实现前后端数据交换与定义方法渲染数据) 模板引擎能简化开发,极大提高效率,小编之前使用过JSP和Thymeleaf,以及python的jinja2,这些是后端的模…

spring(二)-----------如何注入bean

我们从第三方框架mybatis为引,看看如何往spring中注入一个bean 1、纯mybatis开发生成一个mapper对象 如果不使用spring的情况下,mybatis想生成一个mapper对象大概需要做下面的操作: 假设我们有了一个TMapper接口,此时获取该map…

12款开源数据资产(元数据)管理平台选型分析(三)

如上,是ChatGPT的百度指数和微信指数,继2022年12月上旬技术圈火热之后,因为微软、谷歌等巨头的推广加持,ChatGPT成为全球大众热源的话题。各大媒体都在消费这波舆论红利,打开微信公众号,劈天盖地各种姿势的…

前后端学习

最近和锴哥想搞一下前后端接口的事儿,但是不会,所以打算再学学前后端的基础知识,之后好抄作业,做缝纫机;达哥觉得我浮躁,这次一定要支棱起来;这次开始,面向openai学习。 前后端学习1…

ChatGPT (可能)是怎么炼成的

学习自李宏毅老师的课https://www.youtube.com/watch?ve0aKI2GGZNg 1.学习文字接龙 学习方式 GPT只需要在网上阅读大量的句子,不需要人工标注即可学习到大量句子接龙的知识 然而实际上,“你好”后面可以接的字有很多。实际上,GPT学的就是…

3、Go基础数据类型

目录一、Go数据类型二、字符串三、强制类型转换一、Go数据类型 基础数据类型 类型长度(字节)默认值说明bool1falsebyte10uint8,取值范围[0,255]rune40Unicode Code Point, int32int, uint4或8032 或 64 位,取决于操作系统int8, uint810-128 ~ 127, 0 ~…

Freemarker介绍

2. Freemarker介绍 FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML…

Python数据结构:概念、栈

1.概念 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 N.Wirth:“程序数据结构算法’ 2.分类 数据结…

基于comsol软件弯曲单模光纤模拟仿真

在本节中,主要基于实验室实际光纤单模圆柱光纤进行模拟,与comsol案例库文件在分析过程和建模有些差异: 模拟主要通过以下三个步骤进行:模型的几何构建、物理场的添加研究、结构处理分析来进行。 下面是第一步骤:几何…

unity2022.1.8之后版本的新的输入行为控制对象变化

文章目录unity2022.1.8之后版本的新的输入行为控制对象变化怎么导入?如何使用?unity2022.1.8之后版本的新的输入行为控制对象变化 我们先了解大概的逻辑。我们要设置触发行为的方式并且让他和对象的行为绑定,再将行为和对象绑定,…

SpringBoot开发规范部分通用模板+idea配置【项目通用-1】

SpringBoot开发规范通用模板 1 分页插件使用 通过MybatisPlus配置分页插件拦截器 Configuration MapperScan("com.xuecheng.content.mapper") public class MybatisPlusConfig {//定义分页的拦截器Beanpublic MybatisPlusInterceptor getMybatisPlusInterceptor() {…