这个案例网络规划如下:
1
|
<br>
|
这个案例网络规划如下:
管理网络使用10.0.0.0/24 网关:10.0.0.1
提供商网络在203.0.113.0/24 网关为203.0.113.1
此外,所有的节点名称要能解析,IP地址解析为管理网段的地址。例如:controller对应10.0.0.11地址
环境准备工作:
按照以下规划配置各主机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文件,将以上内容写入即可。
关闭所有节点防火墙和SElinux,实验环境中这样做
1
|
[root@localhost /]
# vim /etc/selinux/config
|
1
|
[root@localhost /]
# yum -y install vim
|
在controller和compute1上测试到互联网和内网之间的连通性。
安装网络时间协议NTP
需要配置网络时间协议chrony,建议先配置controller节点,然后其他节点同步controller节点时间。
controller节点配置:
1、安装包
1
|
[root@localhost ~]
# yum -y install chrony
|
编辑配置文件
1
|
[root@controller /]
# vim /etc/chrony.conf
|
1、启动服务并设置开机启动
1
2
|
[root@localhost ~]
# systemctl enable chronyd.service
[root@localhost ~]
# systemctl start chronyd.service
|
检查操作:
在controller节点:*号表示默认从这个服务器同步时间
检查操作:
1
|
[root@localhost ~]
# chronyc sources
|
配置内网网卡
修改主机名称
1
2
|
[root@localhost network-scripts]
# cat /etc/hostname
Controller
|
修改computer主机
[root@localhost network-scripts]# cat /etc/hostname
compute1
在compute1主机修改网络地址
在controller和compute1上测试到互联网和内网之间的连通性。
1
|
[root@controller ~]
# ping -c 4 openstack.org
|
在compute节点安装
1
|
[root@compute1 /]
# yum -y install chrony
|
1、编辑配置文件
注释掉其它的server行,添加
1
|
[root@compute1 /]
# vim /etc/chrony.conf
|
1
2
|
[root@compute1 /]
# systemctl start chronyd
[root@compute1 /]
# systemctl enable chronyd
|
在其它节点操作: 可以看到已经同步controller时间了
OpenStack packages
这里所描述的OpenStack包的设置需要在所有节点上完成:控制器、计算和块存储节点。
禁用或删除任何自动更新服务,因为它们可以影响您的OpenStack环境。
1、yum install centos-release-openstack-pike 安装pike源
2、yum upgrade 更新,如果升级过程包含一个新内核,请重启主机以激活它。
3、yum install python-openstackclient 安装openstack客户端
4、yum install openstack-selinux 为openstack服务自动管理Selinux中的安全策略
SQL database
大多数OpenStack服务使用SQL数据库存储信息。数据库通常在控制器节点上运行。本指南中使用MariaDB或MySQL。OpenStack服务还支持其他SQL数据库包括PostgreSQL。
在controller节点安装
1、安装包:
1
2
3
4
5
6
7
8
9
10
|
[root@controller ~]
# yum install mariadb mariadb-server python2-PyMySQL -y
[root@controller ~]
# cat /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
|
1、启动数据库服务并设置开机启动
1
2
|
[root@controller ~]
# systemctl start mariadb.service
[root@controller ~]
# systemctl enable mariadb.service
|
Message queue 消息队列
OpenStack使用消息队列协调服务间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务包括RabbitMQ,Qpid,和ZeroMQ。
在controller节点操作
1、安装
1
2
3
|
[root@controller ~]
# yum install rabbitmq-server -y
[root@controller ~]
# systemctl enable rabbitmq-server.service
[root@controller ~]
# systemctl start rabbitmq-server.service
|
1、添加openstack用户,并设置密码为123456
[root@controller ~]# rabbitmqctl add_user openstack 123456
Creating user "openstack" ...
1、授予openstack用户配置、写和读访问权限
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
1、查看rabbitmq的监听端口:5672
Memcached
身份认证服务认证机制使用memcached缓存令牌。memcached服务通常运行在控制器节点。
在controller上操作
1、安装
1
|
[root@controller ~]
# yum install memcached python-memcached -y
|
OPTIONS="-l 127.0.0.1,::1,10.0.0.11" 添加控制节点的管理IP地址或名字
1
2
3
4
5
6
|
[root@controller ~]
# cat /etc/sysconfig/memcached
PORT=
"11211"
USER=
"memcached"
MAXCONN=
"1024"
CACHESIZE=
"64"
OPTIONS=
"-l 127.0.0.1,::1,::1,10.0.0.11"
|
1
|
1、开启并设置开机启动
|
1
2
|
[root@controller ~]
# systemctl enable memcached.service
[root@controller ~]
# systemctl start memcached.service
|