OpenStack的安装部署对很多刚开始接触OpenStack的人来说是比较痛苦的,在各种OpenStack的qq群中问的比较多的问题也是安装部署的问题。这里我们总结了一些大家在OpenStack的安装部署中的排错经验供那些手动部署OpenStack的同学参考。

如何防止故障

  • 安装部署前了解下OpenStack有哪些类型的节点,各类型节点的作用是什么。

  • 在开始安装之前,建议先把所有组件的安装包都先下载下来制作成一个iso,避免每次都从网络下载。除非你以后都不安装了。

  • 如果是在虚拟机中安装,在完成每个组件的安装后打快照,必要时可以回退。

  • 在开始OpenStack的安装之前关闭防火墙,禁用selinux。防止出现各个组件的端口不能访问的问题。

  • 按照文档安装时,复制粘贴时注意换行的问题。根据自身环境替换相关配置项(主机名、ip地址、各类密码)。

  • 新手安装建议在安装过程中保证各类密码都一致。

    过程中如何排错

安装过程中的错误,绝大部分都是配置错误。完全按照官方文档来一般来说是不会有问题的。

如果不知道错误是什么意思,按照下面的方法可以解决安装中的大部分问题。 
- 如果安装某个组件,不管在启动服务时报错,还是在验证时出错。这个时候你又不知道错误是什么意思,那建议你把这个组件从头到尾的配置文件与文档对一下有没有问题。 
- 如果配置文件确定没问题了,但是问题还没解决,建议把这个组件的数据库删除,然后重新创建,然后同步数据库表结构。

上面的方法虽然能解决很多问题。但是不推荐使用上面的方法。建议大家按照下面的思路解决问题: 
1. 检查服务的状态,查看服务启动没有。 
2. 错误日志、错误日志、错误日志,重要的事说三遍!哪个组件的问题就去看哪个组件的日志。这里给大家总结了各个组件的日志位置。

服务路径
认证服务(keystone)/var/log/keystone/keystone.log
镜像服务(glance)/var/log/glance/api.log
镜像服务(glance)/var/log/glance/registry.log
网络服务(neutron)/var/log/neutron/dhcp-agent.log
网络服务(neutron)/var/log/neutron/l3-agent.log
网络服务(neutron)/var/log/neutron/lbaas-agent.log
网络服务(neutron)/var/log/neutron/linuxbridge-agent.log
网络服务(neutron)/var/log/neutron/metadata-agent.log
网络服务(neutron)/var/log/neutron/metering-agent.log
网络服务(neutron)/var/log/neutron/openvswitch-agent.log
网络服务(neutron)/var/log/neutron/server.log
对象存储(swift)/var/log/swift/swift.log
编排服务(heat)/var/log/heat/heat-api.log
编排服务(heat)/var/log/heat/heat-engine.log
编排服务(heat)/var/log/heat/heat-manage.log
计算服务(nova)/var/log/nova/nova-api.log
计算服务(nova)/var/log/nova/nova-cert.log
计算服务(nova)/var/log/nova/nova-compute.log
计算服务(nova)/var/log/nova/nova-conductor.log
计算服务(nova)/var/log/nova/nova-consoleauth.log
计算服务(nova)/var/log/nova/nova-network.log
计算服务(nova)/var/log/nova/nova-manage.log
计算服务(nova)/var/log/nova/nova-scheduler.log
块存储服务(cinder)/var/log/cinder/api.log
块存储服务(cinder)/var/log/cinder/cinder-manage.log
块存储服务(cinder)/var/log/cinder/scheduler.log
块存储服务(cinder)/var/log/cinder/volume.log
界面(dashboard)/var/log/httpd/access_log
界面(dashboard)/var/log/httpd/error_log

99%的问题查看错误日志都能发现问题。有些同学说看不懂错误日志,那error这个单词你总能认识吧?查看error对应的内容是什么,如果你不懂说的是什么,把这行日志复制粘贴到网上去搜索一下,搜索不到就科学上网去搜,大部分情况能找到原因的。这样还不行就发到各个qq群去。一次两次不知道问题原因,解决多了就能快速定位了。