续案例架构(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,实验环境中这样做
在controller和compute1上测试到互联网和内网之间的连通性。
[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数据库存储信息。数据库通常在控制器节点上运行。本指南中使用MariaDB或MySQL。OpenStack服务还支持其他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支持多种消息队列服务包括RabbitMQ,Qpid,和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