很多人面对OpenStack时不知道该如何下手,不知道该从哪里学起,面对众多的概念也是一头雾水。对于初学者而言,不建议采用devstack的方式安装OpenStack,因为这对于了解OpenStack的各个服务之间的关系没什么作用,我认为先通过手动安装OpenStack,对服务有了一个基本的认识之后,再用devstack的方式快速安装好,进行下一步深入学习,这样是比较好的。这篇文章主要是给刚开始手动安装OpenStack的朋友一个参考。
OpenStack是一个分布式的云平台,它是由众多服务组成的,这些服务之间是松耦合的关系,用户可以根据自身需求来搭建自己的云平台。要想入门OpenStack必须要有一定的基础:Linux的操作和使用,计算机网络的基础知识,虚拟化的相关了解等。下面就介绍一些按照OpenStack的官方手动安装文档部署遇到的一些坑。
Linux版本:CentOS 7
OpenStack版本:Newton
部署方式:一台控制节点,一台计算节点。
控制节点上运行身份认证服务,镜像服务,计算服务的管理部分,网络服务的管理部分,各种网络代理,Dashboard。还包括一些支持服务, MySQL、消息队列和NTP。
计算节点上运行计算服务中管理实例的管理程序,还包括网络代理服务。
错误一:控制节点安装NTP时报错:Could not resolve host: mirrorlist.centos.org
解决办法:DNS配置错误,重新按照实际环境配置DNS。
错误二:计算节点无法同步控制节点NTP服务。
解决办法:原因在于控制节点防火墙没关。这里也提醒一下,配置完网络后建议关闭防火墙和selinux。
错误三:创建域、项目、用户、角色时无法创建成功。
解决办法:实际控制节点主机名为controller1,而配置文件中写成了controller,最终卸载了keystone、httpd、wsgi,重新配置后执行正确。
这里也提醒一下各位,配置文件中有很多地方需要配置主机名,例如:
In the
[keystone_authtoken]
and[paste_deploy]
sections, configure Identity service access:
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS
[paste_deploy]
...
flavor = keystone
这里面就需要根据实际主机名来替换掉官方配置,或者干脆直接换成IP地址。类似这样的配置有很多,需要注意。
错误四:配置镜像服务出错,无法同步glance数据库,无法上传镜像。
解决办法: 查看openstack-glance-api.service状态时看到没有启动,提示启动太频繁。
根据网上的经验多方尝试,删除了glance数据库,重新同步,依然没有成功;后又将镜像保存位置权限修改为777,未果。使用su -s /bin/sh -c "glance-manage db_sync" glance命令同步(之前没有用su,因为一直是root用户)后发现IOError: [Errno 13] Permission denied: '/var/log/glance/api.log'
查看权限后发现有问题,# ll /var/log/glance/api.log,将其修改为glance组,glance用户,再次同步数据库,成功。
但是这里还是不能上传镜像,报错:410 Gone: Error in store configuration. Adding images to store is disabled. (HTTP N/A) 通过在网上查找相关资料,有人在安装J版本时遇到过这个问题,在这个文件中,/etc/glance/glance-api.conf ,选项[glance_store]中有一项default_store = file,最终注释掉这个参数。上传镜像成功!
这些就是初次手动安装OpenStack遇到的错误了,不论遇到什么错误,大部分都能通过修改配置文件解决。
在安装过程中,只要认真细心,按照文档一步一步来,一般不会有问题。另外,在安装OpenStack时,有许多密码,建议全部使用同一个密码,这样防止出错,包括:
数据库密码
消息队列密码
Keystone密码
Glance密码
域、项目、用户密码
Nova密码
Neutron密码
注意:在局域网环境中,通过浏览器访问http://controller/dashboard会出现找不到的情况,这是因为局域网无法解析主机地址,把controller换成IP地址就可以了。
OpenStack手动安装复杂,安装量大,一定要认真做好每一步配置,设置好每一个参数,还要根据自己的实际环境来修改配置,而不能全部照搬官方文档。
参考文档:
https://docs.openstack.org/newton/install-guide-rdo/