炙伦云终端分享:
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源。OpenStack作为IaaS的云操作系统,虚拟机生命周期管理也就是通过Nova来实现的。Nova要与其它的openstack服务相互配合才能完成任务,因此,Nova的排错也很有挑战性,我们在本文中介绍相应的步骤来准确定位错误并处理:
检查服务状态
检查数据库
检查身份验证
检查Glance集成
检查Neutron 集成
Nova 的架构比较复杂,包含很多组件。这些组件以子服务(后台 deamon 进程)的形式运行,使用以下命令检查服务状态
ps -aux | grep nova-
确保以下进程正常运行:
nova-api
nova-scheduler
nova-conductor
nova-compute
下面我们分别讲述如何检查每个子服务的工作:
1.1 nova-api:接收和响应客户的 API 调用。 除了提供 OpenStack 自己的API,nova-api 还支持 Amazon EC2 API。
Nova api 一般部署在控制节点。Compute (nova) endpoints默认端口8774,nova-api 的默认端口是8773, 8775 。使用命令检查服务状态
ps -aux | grep nova-api
如果发现服务没有启动,可以使用以下命令启动(Ubuntu 下):
start nova-api
或者手工指定启动配置文件:
sudo -u nova nova-api --config-file = /etc/nova/nova.conf
1.1.1 常见错误1: Address already in use类似信息:
你要检查端口的情况,确认是否被占用,使用如下命令:
lsof –i :8774
如果你查询到的不是图中那样,就证明端口被占用,在清除占用端口的进程后,再次检查。
1.1.2 常见错误2: permission error这个错误最常见的原因就是/etc/nova/nova.conf的权限不对,可以按照以下实例修改:
chmod 644 /etc/nova/nova.conf
chown nova:nova /etc/nova/nova.conf
重新设置权限后,再次启动服务,如果仍然有权限错误,就要检查日志文件,查询是否有其它原因。
1.2 nova-scheduler:虚机调度服务,负责决定在哪个计算节点上运行虚机实例。
检查nova-scheduler服务是否正在运行,我们可以使用以下命令:
ps-aus|grep nova-scheduler
如果nova-scheduler进程未启动,可以通过运行以下命令来执行此操作:
sudo-u nova /usr/bin/python /usr/local/bin/nova-scheduler --config-file=etc/nova/nova.conf
如果启动过程中发生permission error,就参考前面的解决方法。在服务启动后,如果还有错误信息,就要去看日志,通常日志在/var/log/nova/下,命令如下:
less /var/log/nova/nova-scheduler.log | grep \\\'ERROR\\\'
某些时候,也有可能RabbitMQ出现问题,使用如下命令查看:
rabbitmqctl status
1.3 nova-compute:管理虚机的核心服务,通过调用 Hypervisor API 实现虚机生命周期管理。
首先还是要检查nova-scheduler服务是否正在运行,我们可以使用以下命令:
ps -aux | grep nova-compute
如果需要启动服务,可以执行:
start nova-compute
或者:
sudo -u nova nova-compute --config-file = /etc/nova/nova.conf --config-file = /etc/nova/nova-compute.log
当你发现实例状态有“ERROR”,在服务进程正常的前提下,需要在日志文件里查找相关信息:
/var/1og/nova/nova-compute.log
/var/1og/nova/nova-scheduler.log
/var/1og/nova/nova-conductor.log
1.4 nova-conductor:介于nova-computer和database之间,设计目的在于消除直接nova-computer直接访问云数据库,保证数据库安全。
首先还是要检查nova-conductor服务是否正在运行,我们可以使用以下命令:
ps -aux | grep nova-conductor
如果需要启动服务:
start nova-conductor
或者指定配置文件:
sudo-u nova nova-conductor --config-file=/etc/nova/nova.conf
如果遇到权限问题,参考前面的解决方法。
转自:云技术实践
在 IT 行业,每隔十年左右,都会出现一次可能重构市场、改写未来的技术变革,一些公司能够抓住这些机会...
More它的弹性在于:可以支持服务器虚拟化与桌面虚拟化的混合;可以支持多种hyper-v, KVM 等...
More也有挺多私有云+桌面云的需求的,能有openstack +VDI那是更好了。...
More