云计算|OpenStack|社区版OpenStack安装部署文档(十--- 调整配额限制和解决建虚拟机报错---No valid host was found---Rocky版)

简介: 云计算|OpenStack|社区版OpenStack安装部署文档(十--- 调整配额限制和解决建虚拟机报错---No valid host was found---Rocky版)

前言:

默认的openstack安装完毕后,基本都是使用默认值得,因此,如果是在实际的应用中,很可能会不够用,例如,虚拟机实例创建数默认是10个,超出10个将会创建失败。

那么,如何设置配额或者是直接关闭配额是一个需要思考的问题。

其次,是一个创建虚拟机实例的时候经常报错的问题,No valid host was found,本文将深入分析此报错的原因以及解决方案。

一,

认识并了解openstack的官方文档

官方文档链接:OpenStack Docs: Zed

首先不得不说openstack的官方文档内容非常的多,但,openstack的方方面面都有写到,只是有一些地方并不是非常的清楚。

OK,yum部署openstack是选择installation guides,那么,安装部署完毕后,如何调试安装好的openstack呢?

OpenStack Docs: Configuration Guide

OK,根据此文档,配置/etc/nova/nova.conf 文件如下:

openstack-config --set /etc/nova/nova.conf DEFAULT quota_instances 1000000
openstack-config --set /etc/nova/nova.conf DEFAULT quota_cores 2000
openstack-config --set /etc/nova/nova.conf DEFAULT quota_ram 5120000

重启nova-api服务,以使以上配置生效:

systemctl restart openstack-nova-api

在dashboard里的概况里,可以看到配额已经生效:

那么,如何关闭所有配额,无限制使用呢?

driver

Type: string
Default: nova.quota.DbQuotaDriver
Valid Values: nova.quota.DbQuotaDriver, nova.quota.NoopQuotaDriver

Provides abstraction for quota checks. Users can configure a specific driver to use for quota checks.

Possible values:

  • nova.quota.DbQuotaDriver: Stores quota limit information in the database and relies on the quota_* configuration options for default quota limit values. Counts quota usage on-demand.
  • nova.quota.NoopQuotaDriver: Ignores quota and treats all resources as unlimited.

修改成这样后,在重启nova-api服务,在dashboard里,可以看到配额全部取消了:

卷的配额同样以这种方式修改,官方文档:OpenStack Docs: Additional options

在此就不演示了

二,

创建虚拟机实例时报错:No valid host was found

创建虚拟机的命令:

openstack server create --flavor m1.large  --image new1 --security-group default --key-name mykey newlinux1
[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      |
+----+-----------+-------+------+-----------+-------+-----------+
[root@openstack1 ~]# openstack server create --flavor m1.large  --image newlinux --security-group default --key-name mykey newlinux1
Could not find resource newlinux
[root@openstack1 ~]# openstack image list
+--------------------------------------+---------+--------+
| ID                                   | Name    | Status |
+--------------------------------------+---------+--------+
| 200984db-d793-4a1b-808a-5c78fd0028f7 | Centos7 | active |
| 4737972b-31e8-4bef-9ad0-e542b271dbf7 | back    | active |
| 867784df-9090-4ae0-ad25-564b941cc350 | cirros  | active |
| 2b527304-8fe6-4582-8451-8feba9a86cfb | new1    | active |
+--------------------------------------+---------+--------+

OK,实例模板使用的是large,而控制节点的配置总共才8G内存,100G硬盘,很明显是超出了节点的可使用资源。

当然,这个问题看日志也基本看不出来什么原因,只是给了一个报错

tail -f /var/log/nova/nova-conductor.log
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager   File "/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 154, in select_destinations
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager     raise exception.NoValidHost(reason="")
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager NoValidHost: No valid host was found.
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager
2023-02-05 14:09:58.647 1685 ERROR nova.conductor.manager
2023-02-05 14:09:58.815 1685 WARNING nova.scheduler.utils [req-f387e7f7-d1f7-4346-8387-9c027d20eb49 74bc206609e04092b698698d944e922a 205ce8addd9444c893bd62244bcdae78 - default default] Failed to compute_task_build_instances: 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.
: NoValidHost_Remote: No valid host was found.
2023-02-05 14:09:58.820 1685 WARNING nova.scheduler.utils [req-f387e7f7-d1f7-4346-8387-9c027d20eb49 74bc206609e04092b698698d944e922a 205ce8addd9444c893bd62244bcdae78 - default default] [instance: ad3da68e-0cc8-4406-8f87-34dff4bc277a] Setting instance to ERROR state.: NoValidHost_Remote: No valid host was found.

总的来说,出现此种错误一般是节点资源不足造成的,因此,创建虚拟机实例的时候需要使用一个合适的虚拟机模板(也就是flavor )

本例中,创建虚拟机的时候使用m1.tiny 这个模板是比较合适的,改用如下命令后,即可成功创建虚拟机了:

openstack server create --flavor m1.tiny  --image new1 --security-group default --key-name mykey newlinux1

 

目录
相关文章
|
8月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
3565 3
|
10月前
|
编解码 网络协议 网络安全
OpenWrt x86 虚拟机VMware ESXi安装
OpenWrt x86 虚拟机VMware ESXi安装
|
IDE 测试技术 数据库
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
在 VMware 虚拟机中安装并测试 YashanDB,数据库及虚拟机运行正常,但本地 IDE 工具无法连接虚拟机中的数据库。问题可能与 VMware 网络适配器配置或网络模式(如 NAT、桥接)有关,导致网络通信异常。需检查虚拟机网络设置、IP 地址配置以及防火墙规则,确保本地与虚拟机间网络连通性。目前无明确修复版本。
|
12月前
|
人工智能 安全 虚拟化
企业级Win11纯净部署指南|VMware虚拟机安装+GPT分区优化+绕过限制详解(小白必看)
Windows 11 是微软推出的新一代操作系统,以其直观交互和 AI 技术为核心升级亮点。界面采用圆角设计与居中任务栏布局,支持多窗口贴靠分屏、虚拟桌面功能,大幅提升多任务处理效率。系统深度集成了 Copilot 智能助手,提供语音写作、照片编辑等便捷功能,并通过 DirectStorage 和 DirectX 12 Ultimate 技术优化游戏体验。本文详细介绍 Windows 11 的下载、U盘制作及安装步骤,帮助用户快速上手全新系统。
3072 37
|
IDE 测试技术 网络安全
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
【YashanDB知识库】使用vmware虚拟机安装的YashanDB,本机无法访问
|
8月前
|
Oracle 关系型数据库 虚拟化
在VMware的Win10虚拟机中安装使用ENSP
本文介绍了在Windows 10虚拟机上安装ENSP及相关软件的全过程,包括VirtualBox、WinPcap、Wireshark、VLC和ENSP的安装步骤,并提供图文演示,帮助用户顺利完成配置与测试。
2286 134
|
11月前
|
虚拟化 数据中心
VMware vSphere Replication 9.0.3 - 虚拟机复制和数据保护
VMware vSphere Replication 9.0.3 - 虚拟机复制和数据保护
392 0
|
7月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
1757 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
7月前
|
Linux 虚拟化 iOS开发
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
1696 0
VMware Fusion 25H2 OEM BIOS 2.7 - 在 macOS 中运行 Windows 虚拟机的最佳方式
|
7月前
|
存储 Linux 文件存储
VMware vSphere Replication 9.0.4 - 虚拟机复制和数据保护
VMware vSphere Replication 9.0.4 - 虚拟机复制和数据保护
355 2