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群去。一次两次不知道问题原因,解决多了就能快速定位了。