OpenStack项目是由Rackspace和NASA(美国国家航空航天局)共同发起的。它是一个开源软件,它提供了一个部署云的平台。为虚拟计算或存储服务的公有/私有云,提供可扩展的、灵活的云计算。是一个旨在为公共及私有云的建设与管理提供软件的开源项目。OpenStack目前版本Pike并在持续更新中,本文选用Ocata版本进行部署,并记录部署过程中遇到的问题。
环境准备
操作系统
Centos7.2.1151 mini(国内mirrors没有,官方下载)
服务节点
本文使用三个节点部署stand-one方式,按照官方文档进行部署,高可用部署之后文章会跟进。
- controller节点
- computer节点
- block storage节点
网络说明
- Manage network 管理网络,OpenStack各个模块之间的交互,连接数据库,连接Message Queue都是通过这个网络来进行。
- Private network 私有网络,虚拟机之间的数据传输通过这个网络来进行,虚拟机要连接虚拟路由都是通过这个网络来进行。
- External network 外部网络,无论是用户调用OpenStack的API,还是创建出来的虚拟机要访问外网,或者外网要ssh到虚拟机,都用这个网络。
OpenStack将三个网络进行隔离,一方面是安全,在虚拟机里面,干扰的都仅仅是Private Network,都不可能访问到我的数据库。一方面是流量分离,Manage Network的流量不是很大的,而且一般都会比较优雅的使用,而Prviate Network和External Network就需要有流量控制策略。
| 节点 | Manage network | Private network | External network |
| :—: | :— | :—: | :—: | :—: |
| controller | 10.50.1.11 | 10.50.1.11 | 10.112.1.116 |
| computer | 10.50.1.10 | 10.50.1.11 | 10.112.1.117(临时) |
| block storage | 10.50.1.12 | 10.50.1.12 | 10.112.1.118(临时) |
注意:非高可用环境采用Manage Private同网方式,computer和block storage节点的External network的外网用于安装环境的。
配置节点别名
修改/etc/hostname的主机名称,修改每个节点的**/etc/hosts**
1 | 10.50.1.11 controller |
Yum下载源
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup |
安装流程
请参看官方Ocata版本安装向导进行安装。请一步一步进行安装,官方文档已经非常详尽了,这里就不在重复写了,我会我部署过程中的问题中列举出来并记录。
安装问题及解决方案
编码unknown locale: UTF-8
在进行同步数据库命令时,有时会出现unknown locale: UTF-8
错误并同步失败。终端中输入以下命令后再执行同步命令即可:
1 | export LC_ALL=en_US.UTF-8 |
连接不上rabbitmq的问题
其它节点连接不上rabbitmq并提示127.0.0.1:5672(/var/log/下的日志),文档中已经明确配置了transport_url = rabbit://openstack:RABBIT_PASS@controller,这里的rabbitmq的主机是controller而不是127.0.0.1。问题在于配置中还有rabbit_host参数指定,配置rabbit_host=controller重启服务即可。
chrony时间同步问题
参看各个节点的时区是否一致,可使用timedatectl
命令进行查看与修改。如果chrony没有能同步时间,请使用命令修改系统时间后再systemctl restart chrony
。如果时间没有同步,会导致controller检查block storage的cinder-volume服务一直为down状态。controller节点使用命令openstack volume service list查看。
设置时区
1 | timedatectl set-timezone Asia/Shanghai |
重启机器后无法访问web的问题
重启后mysql、rabbitmq服务可能没有启动,需要检查并启动。启动后先需要重启http和memcached.
1 | systemctl start mariadb.service |