美文网首页
Openstack(Ocata版本)部署总结第一章:环境

Openstack(Ocata版本)部署总结第一章:环境

作者: 辉耀辉耀 | 来源:发表于2017-06-17 09:27 被阅读0次
最近为客户内网环境部署了Openstack(版本Ocata),Ocata本身属于过渡产品,官方文档本身存在一些问题,在此总结,希望可以帮助到有需要的朋友。

一、环境

部署Openstack的服务器官方推荐两台以上,主要是创建的实例(Instances)实际上占用的是计算节点的资源,因此你的计算节点所拥有的VCPU、Memory,将决定你所创建的实例的最大Vcpu数和内存,或许是基于此种原因考虑,官方建议控制节点和计算节点分离,我此次部署是基于物理服务器,主要是用于测试环境,因此规划为单控制节点和两个计算节点,本系列会涉及到的部署组件为keystone,glance,nova,neutron,cinder,dashboard,aws ec2。Cinder块存储部署在计算节点上,Ceph有部署但不是我负责,所以具体情况我不是很清楚,日后有了解的话再更新。
我这次是在三台CentOS 7的服务器进行部署。由于是测试环境,我们的服务器关闭了selinux和firewalld(就我个人理解来看,Openstack如果是部署在内网的话,firewalld其实是开关无所谓的,涉及到的端口比较多,可能会麻烦一些,如果你的Openstack想创建的实例能够从公网连接进来,那你需要开启firewalld并且拥有公网IP资源池,根据实际需要设置开放的端口)
1.关闭selinux和firewalld

#vi /etc/selinux/config
selinux=disabled
#systemctl stop firewalld
#systemctl disable firewalld```
(selinux重启后生效,也可以setenforce 0设置临时关闭)

2.修改主机名(hostname)

hostnamectl set-hostname controller/compute(重新登录生效)

将其添加进/etc/hosts文件
格式如:

10.141.128.11 controller
10.141.128.12 computer```
(这里比较基础,新手注意不要搞反)
3.网络
按照官方需要两块网卡,分别是提供者网络和管理网络,不过实际上每台服务器上只要有一块网卡在集群数量不大的情况下,也是完全没问题的,如果你的Openstack集群规模比较大的时候,就要分开了,不然网络会十分拥挤。所以您现在需要知道每一台服务器的IP地址,以及设置IP的网卡的名字。

# ip a```
4.配置网络时间服务(NTP)
这步看上去不是很重要,但如果您是在VMware虚拟机上创建的话这步将是非常重要的。这里可以将Controller作为NTP服务器为computer同步时间。

yum install chrony

vim /etc/chrony.conf

server controller iburst
allow 0.0.0.0(允许同步的IP段,我这里全部允许了,compute上不需要设置这个)

systemctl enable chronyd.service

systemctl start chronyd.service

验证:

chronyc sources

5.安装Openstack包
这步需要注意的是如果你的系统是RHEL的话,YUM是需要过RED HAT认证的,比较麻烦(我就不说我不太擅长这个了),我的方法是1.更换yum为CentOS的yum源,当然,这步需要你把RHEL的yum卸载干净重装,比较麻烦,也容易出问题。2.换CentOS的系统。

yum install centos-release-openstack-ocata

如果你是新装的系统,您可以进行更新,如果您之前有安装其他服务,为了您的系统稳定,不建议使用upgrade操作。

yum upgrade

yum install python-openstackclient

yum install openstack-selinux

6.安装数据库
CentOS默认使用mariadb,我个人感觉您完全可以使用源码安装的mysql,因为我的实际使用感觉,yum安装的mariadb性能实在不敢恭维,为我算是挖了无数个坑。在以下是相关链接,您仅需要参考MySQL的源码安装部分即可。
***
######LNMP环境的源码搭建(CentOS 7) http://www.jianshu.com/p/4699bcb04633
***
本文按照官方的mariadb来

yum install mariadb mariadb-server python2-PyMySQL

vim /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

这里的max_connections最大连接数是不一定能生效的,我搭建的平台好几次因为数据库连接数过多挂掉了,而实际上才连了200多个,建议检查一下。我会在本系列第二篇附录解决办法。

systemctl enable mariadb.service

systemctl start mariadb.service

为mariadb配置用户密码(根据提示输入yes或者要设置的密码或者直接回车)

mysql_secure_installation

7.消息队列
Openstack官方推荐使用消息队列服务为RabbitMQ

yum install rabbitmq-server

systemctl enable rabbitmq-server.service

systemctl start rabbitmq-server.service

添加一个用户和密码

rabbitmqctl add_user openstack RABBIT_PASS

设置用户权限

rabbitmqctl set_permissions openstack "." "." ".*"

8.缓存服务(Memcache)

yum install memcached python-memcached

vim /etc/sysconfig/memcache

OPTIONS="-l 127.0.0.1,::1,controller"

systemctl enable memcached.service

systemctl start memcached.service

相关文章

网友评论

      本文标题:Openstack(Ocata版本)部署总结第一章:环境

      本文链接:https://www.haomeiwen.com/subject/pryvqxtx.html