续案例架构(1)

环境准备工作:

按照以下规划配置各主机IP地址及主机名称

# controller

10.0.0.11       controller

# compute1

10.0.0.31       compute1

# block1

10.0.0.41       block1

# object1

10.0.0.51       object1

# object2

10.0.0.52       object2

做名称解析:

编辑/etc/hosts文件,将以上内容写入即可。

关闭所有节点防火墙和NetworkManager,SElinux,实验环境中这样做

controllercompute1上测试到互联网和内网之间的连通性。

[root@controller ~]# ping -c 4 compute1
[root@compute1 ~]# ping -c 4 controller

安装网络时间协议NTP

  需要配置网络时间协议chrony,建议先配置controller节点,然后其他节点同步controller节点时间。

controller节点配置:

1、安装包

[root@controller ~]# yum install chrony -y

2、编辑配置文件:

查看配置文件路径

[root@controller ~]# rpm -qc  chrony

/etc/chrony.conf

[root@controller ~]# vim  /etc/chrony.conf

添加以下内容:

server NTP_SERVER iburst

allow 10.0.0.0/24

server NTP_SERVER iburst   指定NTP服务器地址

allow 10.0.0.0/24  允许其它节点来同步

3、启动服务并设置开机启动

[root@controller ~]# systemctl enable chronyd.service
[root@controller ~]#  systemctl start chronyd.service

其它节点配置(compute1为例)

1、安装包

[root@compute1 ~]# yum install chrony -y

2、编辑配置文件

[root@compute1 ~]# vim  /etc/chrony.conf

注释掉其它的server行,

添加

server controller iburst

3、启动服务并设置开机启动

[root@compute1 ~]# systemctl enable chronyd.service
[root@compute1 ~]# systemctl start chronyd.service

检查操作:

 controller节点:*号表示默认从这个服务器同步时间

[root@controller ~]# chronyc sources

210 Number of sources = 4

MS Name/IP address         Stratum Poll Reach LastRx Last sample               

===============================================================================

^- 61-216-153-105.HINET-IP.>     3   6    53    10  +8531us[+8531us] +/-   96ms

^? ntp2.itcompliance.dk          3   7   200   281    -94ms[ -32.3s] +/-  332ms

^* 61-216-153-104.HINET-IP.>     3   6   327    25  -2289us[-3091us] +/-   96ms

^- ntp3.itcompliance.dk          3   7    43    18    +44ms[  +44ms] +/-  308ms

  在其它节点操作:  可以看到已经同步controller时间了

210 Number of sources = 1

MS Name/IP address         Stratum Poll Reach LastRx Last sample               

===============================================================================

^* controller                    4   6    37    28  -2404ns[-3284us] +/-   96ms

 

OpenStack packages

这里所描述的OpenStack包的设置需要在所有节点上完成:控制器、计算和块存储节点。

禁用或删除任何自动更新服务,因为它们可以影响您的OpenStack环境。

1、yum install centos-release-openstack-pike  安装pike

2、yum upgrade -y 更新,如果升级过程包含一个新内核,请重启主机以激活它。

3、yum install python-openstackclient -y 安装openstack客户端

4、yum install openstack-selinux -y  openstack服务自动管理Selinux中的安全策略

 

SQL database

大多数OpenStack服务使用SQL数据库存储信息。数据库通常在控制器节点上运行。本指南中使用MariaDBMySQLOpenStack服务还支持其他SQL数据库包括PostgreSQL

controller节点安装

1、安装包:

[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL -y

2、创建和配置/etc/my.cnf.d/openstack.cnf文件

[root@controller ~]# vim  /etc/my.cnf.d/openstack.cnf

添加以下内容:

[mysqld]

bind-address = 10.0.0.11  #绑定管理地址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

3、启动数据库服务并设置开机启动

[root@controller ~]# systemctl enable mariadb.service
[root@controller ~]# systemctl start mariadb.service

4、运行脚本,设置数据库管理员root密码,密码要记忆住

 [root@controller ~]# mysql_secure_installation

 

Message queue 消息队列

OpenStack使用消息队列协调服务间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务包括RabbitMQQpid,和ZeroMQ

controller节点操作

1、安装

[root@controller ~]# yum install rabbitmq-server -y

2、启动并设置开机启动

[root@controller ~]# systemctl enable rabbitmq-server.service
[root@controller ~]# systemctl start rabbitmq-server.service

3、添加openstack用户,并设置密码为123.com

[root@controller ~]# rabbitmqctl add_user openstack 123.com

Creating user "openstack" ...

4、授予openstack用户配置、写和读访问权限

[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/" ...

5、查看rabbitmq的监听端口:5672

[root@controller ~]# netstat   -anpt |  grep 5672

tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      13637/beam.smp      

tcp        0      0 10.0.0.11:37023         10.0.0.11:25672         TIME_WAIT   -                   

tcp6       0      0 :::5672    

Memcached

身份认证服务认证机制使用memcached缓存令牌。memcached服务通常运行在控制器节点。

controller上操作

1、安装

[root@controller ~]# yum install memcached python-memcached -y

2、编辑/etc/sysconfig/memcached配置文件

[root@controller ~]# vim  /etc/sysconfig/memcached

添加控制节点的管理IP地址或名字

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

3、开启并设置开机启动

[root@controller ~]#systemctl enable memcached.service
[root@controller ~]#systemctl start memcached.service