1、OpenStack的部署过程遇到的问题可归纳总结为配置文件问题、配置步骤缺失等
2、故障通常有以下几种情况:
(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,一定会出现服务无法正常运行的问题。
3、通常排错方法总结如下:
(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 ^$可以实现删除注释行和空白行
坚定信念,计算机不会犯错,别人能成功,那一定是自己的错!