OpenStack服务启动故障排除经验

今天同事在配置OpenStack的计算节点(在CentOS 7上部署)时遇到一个问题,发现在控制节点上运行nova service-list发现只有4行,没有nova-compute service,让我帮他排查。

提前透露原因:这位同事在/etc/nova/nova.conf配置文件中verbose = True 写成了 verbose =Ture,我也是检查了半天(两眼对了3遍)没看出来,有点汗!

根据我以前掌握的经验,OpenStack的部署过程遇到的问题可归纳总结为配置文件问题、配置步骤缺失等,因为通常计算机不会犯错,犯错的只有人类……

故障通常有以下几种情况:

  1. 时间同步问题,两(多)个节点间时间不同步
  2. 数据库问题,权限问题,数据库缺失,表结构不存在(数据库建立表结构时出错),用户名密码错误等
  3. 软件包没有正确安装,例如国外的源网络存在波动或网站存在故障或网站临时修改了源的路径等都会导致软件包安装出现重大错误,而安装的人却没有发现
  4. 配置文件中配置出错,这种错误最为常见,往往一个不易引人注意的错误就会出现问题,就如本文刚开始的第二段所说的一样,诸如此类还有把0写成o,把1写成l,service写成server等
  5. 网络接口地址用错,例如这次的排错步骤中还发现控制节点上的endpoint-list发现public url用的是错误地址,如本地环回地址而不是管理接口地址
  6. 服务用户缺失,一般由软件bug或软件安装不正确导致,如以前有rabbitmq需要的rabbitmq不存在,导致rabbitmq的guest密码不可修改等问题。
  7. 文件权限问题,如配置文件在更换后没有配置文件权限,例如本来是root:nova的文件所有者,被换成了root:root,一定会出现服务无法正常运行的问题。

通常排错方法总结如下:

  1. 检查软件日志和系统日志,这是第一步就要做的,如果没有生成软件日志就考虑查看系统日志,可以将/var/log/messages文件清空再执行一下相关的命令,查看此文件中的日志,可以在执行命令后没有生成日志的情况下使用此方法解决这一问题(在今天的故障排除中具有关键作用)。
  2. 删除软件包时要用rpm –e packages而不要用yum erase packages,以免删除还需要用的依赖包
  3. 保留(备份)配置文件,重新安装软件包,yum reinstall packages
  4. 执行完不确定执行结果的命令后,用echo $?检查执行结果,0为没有错,1以上为有严重错误,如执行su -s /bin/sh -c "nova-manage db sync" nova时,如果遇到前面所说的数据库问题中的权限问题等就会出错,但此命令结束后并不报错。
  5. 认真比对配置文件,把注释行和空白行全部清除再做对比,grep –v \# /filepath/filename | grep –v ^$可以实现删除注释行和空白行
  6. 坚定信念,计算机不会犯错,别人能成功,那一定是自己的错!

此次故障是如何排除的:

  1. 首先发现在控制节点上运行nova service-list发现只有4行,没有nova-compute service,可以联想到计算节点上的计算服务没有运行
  2. 经过执行systemctl status openstack-nova-compute.service -l查看详细结果,发现服务没有运行,而且显示openstack-nova-compute.service start request repeated too quickly, refusing to start. Unit systemd-journald.socket entered failed state.
  3. 此时查看nova-compute的日志文件/var/log/nova/nova-compute.log时发现文件不存在
  4. 因此,应该立刻联想到,配置文件(/etc/nova/nova.conf)一定有问题,但因为对比了2-3次后依然没有确定问题
  5. 此后我又检查了系统时间、数据库、文件权限、备份配置文件后重新安装软件包等是否存在问题,结果都全部正常,最后想到第7个步骤
  6. 可以通过系统日志查看服务启动失败的原因,先将/var/log/messages文件清空(true > /var/log/messages),再重启openstack-nova-compute.service
  7. 再观察/var/log/messages文件的内容,发现提示nova配置文件中非法的布尔型值ture,
  8. 因此在配置文件(/etc/nova/nova.conf)中找到ture的位置,将此单词改为正确的true,重新启动
  9. 在控制节点上执行校验命令nova service-list,确定无其他问题,successfully!

end

时间: 2024-11-07 23:56:15

OpenStack服务启动故障排除经验的相关文章

Linux系统之TroubleShooting(启动故障排除)

尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能面面俱到,只能不断的补充,更新. 一.管理员忘记密码 (1).重启计算机,进入单用户模式 1 2 3 4 5 [[email protected] grub]# reboot Broadcast message from root (pts/2) (Wed Dec  2 18:45:32 2015)

电脑故障排除经验

近期.杂七杂八的事真多,手机摇杆坏了,因为是东西老化了.没法修.所以想换手机.一直在Iphone和Gphone两个中犹豫.iphone的工业设计是不错.正好我朋友叫我帮忙越狱iphone.我就把iOS把玩了下,自由度太低了,天线门一来.再加上必须用itunes这个恶心的软件. 哎~~~苹果真是赚钱赚疯了. 我还是比較看好Gphone.准备入手Droid X.呵呵~~~可能说的有点偏了,以下说下写这篇文章的原因.我爸的电脑被他电源踢掉.内存卡槽氧化,硬盘坏道.查了我好久,感觉不能每次都把啥问题都查

1-19-1 RHEL6启动原理和故障排除

大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit--->/etc/rc.d/rc[0-6].d--->/etc/rc.d/rc.local--->/bin/login 二.启动故障排除 1.防止恶意破解root密码(grub加密) 2.系统崩溃后,如何备份数据到U盘(救援模式) 3.inode结点满了怎么办 4.双系统,更新grub ======

RHEL6启动原理和故障排除

1.1-Linux启动过程详解 1.2-常见的启动故障排除                  1.2-1 实战-防止黑客破解root密码                  1.2-2 实战-服务器挂机,转移数据                  1.2-3 实战-修复磁盘I节点耗尽                  1.2-4 实战-磁盘坏道检测 一 .Linux启动过程详解 其实就是转交系统控制权的过程 Linux操作系统的引导过程中一般包括一下几个步骤 开机自检àMBR引导àGRUB菜单à加

Linux系统启动原理及故障排除

Linux启动过程详解影响启动的配置文件常见的启动故障排除救援模式的使用Live CD的使用 Linux启动过程详解:1:加载BIOS的硬件信息,跟据设定取得第一个可开机引导设置2:读取硬盘中MBR的bootloader<grub.....>    MBR详解        名称:主引导扇区,主引导扇区        位置:硬盘的0柱面,0磁头,1扇区        大小:磁盘默认一个扇区大小为512字节,而MBR也是1个扇区,自然是512字节        三部分组成:           

Linux下的系统启动原理及故障排除

Linux下的系统启动原理及故障排除 一:实验环境 1):虚拟机 2):linux系统环境 二:实验目标 1):理解Linux启动过程详解 2):理解影响启动的配置文件 3):常见的启动故障排除 4):救援模式的使用 三:实验步骤 第一块 Linux启动过程详解 1. 加载 BIOS 的硬件信息,跟据设定取得第一个可开机引导设置,如:光驱,硬盘,网络,USB: 如果是硬盘为第一引导. 2. 读取硬盘中 MBR 的 bootLoader (亦即是 grub,Lilo 等程序): 硬盘的0柱面.0磁

Atitit.故障排除系列-----apache 不能启动的排除

Atitit.故障排除系列-----apache 不能启动的排除 能直接使用cli启动httpd   ,,详细打印出信息.. C:\Users\ASIMO>"C:\wamp\apache2\bin\httpd.exe" httpd.exe: Syntax error on line 42 of C:/wamp/Apache2/conf/httpd.conf: ServerRoo t must be a valid directory 作者:: 老哇的爪子 Attilax 艾龙, 

CentOS 7 启动故障、密码忘了怎么办?服务启动怎么优化?手把手教你解决!

前 言: 在解决问题前我们先了解一下开机引导的过程: 启动故障主要出现在前三个步骤,开机自检主要是检查硬件是否损坏,主要是检查CPU和内存, 所以如果是这一步骤出问题了我们就需要更换硬件了.下面我开始从MBR开始讲. 什么是MBR? 通常,我们将包含MBR引导代码的扇区称为主引导扇区.因这一扇区中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR).由于这一扇区承担有不同于磁盘上其他普通存储空间的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,

工作经验--双绞线故障排除

无线AP使用POE交换机供电,故障表现为无法通过AP上网,POE交换机上对应的以太口在重启后黄灯闪烁几下后熄灭,绿灯不亮:AP灯常亮.起初以为是AP故障,更换后故障未排除,把网线拔下后插在一台普通交换机上,另一端连接笔记本电脑,发现无网络连接,判定双绞线有物理问题,仔细检查后发现第一.第二两根线位置不对,重新做水晶头后故障排除,网络恢复正常. 注:POE供电模式: 模式A(空闲线45,78供电):45(蓝.蓝白)为+,78(棕白.棕)为- 模式B(数据线12,36供电):36(绿白.绿)为+,1