openstack 问题集锦 -- 持续更新中

本文档详细介绍了OpenStack在运行或添加新模块时遇到的各种问题及其解决方案,包括云主机状态错误、资源分配问题、Ceilometer安装故障、Cinder卷创建失败等,并提供了具体的配置修改建议。

openstack 在运行或者添加新模块时,会碰到各式各样的问题,记录一下吧(欢迎留言提问)–持续更新中

nova

云主机建立一定数量后,会出【no valid host was found】这样的错误
* 因为之前全部成功,之后全部失败,说明资源不足了
资源使用
可以有三种修改方案
1. 修改controller节点的nova.conf
2. 修改每个compute节点的nova.conf(优先级高于1),两者修改如下:

[Default]
...
cpu_allocation_ratio = 16.0
ram_allocation_ratio=2.0
  1. 使用命令修改(没试验过~)
nova aggregate-set-metadata 1 cpu_allocation_ratio=2.0

MultipleSchedulerPolicies

Ceilometer

按照官方安装Ceilometer,执行meter-list 出现 HTTPNotFound (HTTP 404)
+ 查看日志会发现Target WSGI script not found or unable to stat: /var/www/cgi-bin没有找到。解决方法:

1.看看是不是没有cgi-bin
# ls /var/www/
2. 找一下文件ceilometer/api/app.wsgi
# find / -name app.wsgi
/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi
3. 复制
mkdir -p /var/www/cgi-bin/ceilometer
cp /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app

Cinder

创建实例+创建卷【Block Device Mapping is Invalid】
Error: 云主机 “awithc” 执行所请求操作失败,云主机处于错误状态。: 请稍后再试 [错误: Build of instance 21130c1d-f525-4add-b3e9-3e69f472593f aborted: Block Device Mapping is Invalid.].
* 可能的原因:创建实例过程中创建卷,由于卷在创建时,需要挂载到实例上,此时卷没有找到对应的实例,所以就失败了。解决方法:

vi /etc/cinder/cinder.conf
[DEFAULT]
...
# 镜像服务所在(一般是controller节点)
glance_host=192.168.10.11
# 镜像服务端口
glance_port=9292

注:如果是这样的错误,那么在创建实例+卷时,会一直报错,及时是使用tiny测试的例子也会。
* 可能的原因:使用小的linux时没问题,但是使用大的windows镜像就会出错
具体描述
* 创建卷没有问题,已经创建成功
* 实例ip没问题
* 实例创建失败,状态显示错误
* 使用tiny实例,1G的volume会成功,不会失败
这是由于实例创建超时引起的。因为大的卷在创建时会耗费大量时间,实例创建好了,但是卷没有准备好,那么就会出错。因为这种创建是/dev/sda/,当做启动盘用的,必须得创建好才行。如果是实例创建好,再挂载volume是/dev/sdb/
再所有的计算节点(compute node) /etc/nova/nova.conf default

[Default]
...
block_device_allocate_retries = 60 (default) to 300

block_device_allocate_retries_interval = 3(default) to 10 

block_device_creation_timeout = 10(default) to 300

注:创建的卷最好要比默认的值大10G。。。。
参考链接如下:

https://ask.openstack.org/en/question/65282/instance-failed-to-create-due-to-block-device-setup-timeout/
https://ask.openstack.org/en/question/62636/instance-creation-fails-block-device-mapping/

glance

  • 启动一个win7实例,设置了4核,查看任务管理器现实只有两块
    cpu2块
    管理选项
    至于什么原因,可以去微软上看微软解释
Commercial servers, workstations, and other high-end PCs may have more than one physical processor. Windows 7 Professional, Enterprise, and Ultimate allow for two physical processors, providing the best performance on these computers. Windows 7 Starter, Home Basic, and Home Premium will recognize only one physical processor.

4核设置方法如下:

    nova flavor-key win7 set hw:cpu_max_sockets=2
    nova flavor-key win7 set hw:cpu_max_cores=1
    nova flavor-key win7 set hw:cpu_max_threads=2  

8核设置:

    nova flavor-key win7 set hw:cpu_max_sockets=2
    nova flavor-key win7 set hw:cpu_max_cores=4
    nova flavor-key win7 set hw:cpu_max_threads=4  

4cores
8cores
数值有以下搭配方案:

vcpus=4:
sockets=4, cores=1, threads=1
sockets=2, cores=2, threads=1
sockets=2, cores=1, threads=2
sockets=1, cores=2, threads=2
sockets=1, cores=4, threads=1
sockets=1, cores=1, threads=4

vcpus=8:
sockets=4, cores=2, threads=1
sockets=4, cores=1, threads=2
sockets=2, cores=4, threads=1
sockets=2, cores=4, threads=4
sockets=1, cores=4, threads=2
sockets=1, cores=2, threads=4
sockets=1, cores=8, threads=1
sockets=1, cores=1, threads=8

详情参考链接:VirtDriverGuestCPUTopology

云主机状态错误

描述:云主机compute1节点已经down了,但是再horizon下,点击了“hardreboot”,结果导致状态一直是“硬重启”状态
解决方法:

nova list | grep HARD_REBOOT
. admin-source.sh 
nova reset-state server-id
nova reset-state server-id --active

============未完==============华丽分割线==============待续===========

### 安装 OpenStack Nova 组件 可以通过 `yum` 命令来安装 OpenStack Nova 的相关组件,具体命令如下: ```bash yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-scheduler openstack-nova-novncproxy ``` 此命令将会自动下载并安装所需的依赖项以及指定的服务组件[^1]。 --- ### 配置 OpenStack Nova 服务 完成安装后,需要对这些服务进行必要的配置。以下是主要步骤说明: #### 修改主配置文件 编辑 `/etc/nova/nova.conf` 文件以调整调度器的行为。例如,为了实现定期扫描计算节点的功能,可以在 `[scheduler]` 节下添加以下参数: ```ini [scheduler] discover_hosts_in_cells_interval = 300 ``` 这表示每隔 300 秒(即 5 分钟)扫描一次计算节点中的主机状态[^4]。 保存更改后重启 API 服务以使新配置生效: ```bash systemctl restart openstack-nova-api.service ``` --- ### 启动与设置开机自启 安装完成后,需手动启动各个 Nova 相关服务,并将其设为随系统启动而运行: ```bash systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy ``` 以上操作确保了所有核心服务正常运行并能够在下次系统启动时自动加载[^2]。 --- ### 创建管理接口端点 如果尚未创建 Nova 的管理员服务端点,则可通过以下命令完成初始化工作: ```bash openstack endpoint create --region RegionOne nova admin http://<control_node_ip>:8774/v2.1 ``` 其中 `<control_node_ip>` 应替换为实际的控制器节点 IP 地址。成功执行该命令后,将返回包含字段及其对应值的结果表单,确认端点已正确注册到 Keystone 中[^3]。 --- ### 总结 综上所述,通过 Yum 源安装 OpenStack Nova 组件的过程涉及以下几个方面: 1. 使用 `yum` 工具批量安装所需软件包; 2. 编辑配置文件优化功能选项; 3. 手动激活各子服务并将它们加入系统的引导序列; 4. 注册相应的访问入口至身份验证框架内。 按照上述指导即可顺利完成基础环境搭建任务。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值