本文是OpenStack基础环境安装配置,在接下来的实验中需要安装配置服务组件,所以我们需要建立三台虚拟机,来分别安装OpenStack的一些组件。
1、环境说明
主机名 | IP地址 |
---|---|
controller(控制节点) | 192.168.23.101 |
compute(计算节点) | 192.168.23.102 |
storage(存储节点) | 192.168.23.103 |
控制节点(controller):
控制节点上运行身份认证服务,镜像服务,计算服务的管理部分,网络服务
的管理部分,多种网络代理以及仪表板。也需要包含一些支持服务,例如:SQL
数据库,term 消息队列等。
计算节点(compute):
可以在计算节点上运行部分块存储,对象存储,Orchestration 和
Telemetry 服务。计算节点上需要至少两块网卡。计算节点上运行计算服务中管
理实例的管理程序部分。默认情况下,计算服务使用 KVM。你可以部署超过一
个计算节点。
存储节点(storage): 安装块存储对象
2、主机搭建及网络配置
- 实现要求
根据要求,我们需要创建 3 台虚拟机,完成三台主机搭建及网络配置
建议配置:
控制节点:1CPU 2GB Memory 100GB Storage
计算节点:1CPU 2GB Memory 100GB Storage
存储节点:1CPU 2GB Memory 100GB Storage
-
实验过程
由于在我之前上传【CentOS7 操作系统安装】文档中已经创建了controller 虚拟机,我们这里还需要在建立一个 compute 虚拟机和 1 台 storage 虚拟机。(另外俩个虚拟机创建操作和controller一样)
CentOS7 操作系统安装 -
同时在三台虚拟机上修改 hosts
# vi /etc/hosts
192.168.23.101 controller
192.168.23.102 compute
192.168.23.103 storage
重启系统,完成配置。
安装时间同步服务器
- 实验要求
整个 OpenStack 的环境中所有主机节点的时间必须是相同的,控制节点和计
算节点,存储节点都需要装一个时间同步软件 chrony ,控制节点做服务端 - 实验过程
1、修改主机yum源为阿里云
更换wget命令
#yum -y install wget
更换阿里云的 yum 源
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak
# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2、安装 chrony
# yum install -y chrony
编辑 vi /etc/chrony.conf , 配置控制节点 chrony.conf 文件如下:
(1)注释掉所有 server 开头
(2)增加配置(192.168.23.0 为控制节点的网关地址)
local stratum 5
server 控制节点 IP 地址 iburst
allow 192.168.23.0/24
(3)计算节点 compute 和存储节点 storage
编辑文件 vi /etc/chrony.conf,注释掉所有 server 开头
增加配置
local stratum 5
server 控制节点 IP 地址 iburst
(4)启动 chrony
# systemctl start chronyd
注如果启动失败,可能是因为 yum -y install chrony 命令,自动安装了最新版
的 chrony 服务,这与我们的系统版本不符,导致失败。执行 yum -y update 即可解决问题。
设置开机自启动
# systemctl enable chronyd
执行时间同步
# chronyc sources
至此,时间同步配置完成,检测时间是否同步的命令:timedatectl
在控制节点安装 mysql
安装配置数据库服务(注意:执行以下命令需要保持网络畅通)
# yum install mariadb mariadb-server -y
完成后在/etc/my.cnf.d/目录下创建 openstack.cnf 文件,编辑内容如下
[mysqld]
bind-address = 192.168.23.101
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
启动数据库服务,并将其配置为开机自启
# systemctl start mariadb
# systemctl enable mariadb
初始化数据库,为了方便记忆,所有密码统一设置为 123456
# mysql_secure_installation
设置密码过程中提示 Y/N 一律选择 Y
控制节点安装和配置消息队列服务
1、实验要求
完成控制节点安装消息队列服务
2、实验过程
进入/etc/yum.repos.d 目录,添加添加 erlang 源至 yum 存储库
# rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装 erlang,遇到提示,输入 y 即可
# yum install erlang
导入 RabbitMQ 源
# rpm -Uvh https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm
如果上一步报错,则执行以下,没有错误的忽略
# wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm
然后安装 RabbitMQ 公共库秘钥
# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装 RabbitMQ,遇到提示时,输入 y 命令
# yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm
启动服务,添加开机启动
# systemctl start rabbitmq-server
# systemctl enable rabbitmq-server
接下来配置 rabbitmq
- 添加 openstack 用户,密码为 123456
# rabbitmqctl add_user openstack 123456
- 给 openstack 用户超级管理员
# rabbitmqctl set_user_tags openstack administrator
- 给 openstack 用户配置写和读权限
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
- 使用插件实现 web 管理
# rabbitmq-plugins enable rabbitmq_management
- 由于 3.3 版本后 rabbitmq 不允许 localhost 之外的 guest(管理员账号,密码guest)访问,修改配置,添加 guest 远程登录,把/usr/share/doc/rabbitmq-server-3.6.8/rabbitmq.config.example 复制一份到 /etc/rabbitmq/rabbitmq.config
# cp /usr/share/doc/rabbitmq-server-3.6.8/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
进入/etc/rabbitmq/目录下,修改文件 rabbitmq.config,添加内容
[{loopback_users, []}
效果图如下:
最后重启 rabbitmq 服务
# systemctl restart rabbitmq-server
登陆网址
备注:192.168.23.101 为控制节点的 IP 地址
登录名:openstack(或者 guest)
密码:123456(或者 guest)
登录成功如下图
最后需要在控制节点、计算节点和存储节点配置 openstack 的安装源,进入/etc/yum.repo.d/目录下,创建 OpenStack-Newton.repo 文件,添加内容 vi OpenStack-Newton.repo
[openstack-newton]
name=openstack-newton
baseurl=http://vault.centos.org/7.2.1511/cloud/x86_64/openstack-newton/
gpgcheck=0
enabled=1
然后安装 openstack 软件包
# yum install centos-release-openstack-newton
这个地方速度比较慢要有耐心哦,完成以后重启所有机器。
安装 Openstack 运行环境
# yum install python-openstackclient -y
如果出错,遇到以下错误:
说明文件里有镜像不能用,删除 CentOS-OpenStack-newton.repo 文件(rm -rf CentOS-OpenStack-newton.repo)即可,或者直接改名。
然后重新执行 # yum install python-openstackclient -y
至此,配置就完成拉!!!