此文原创,绝大部分资料翻译自OpenStack官方安装GUIDE,转载请注明出处。
目录
配置外网DNS,用于解释外网域名(视运营商配置DNS服务器)... 15
配置GRUB启动文件,加主机信息,用于标记主机,利于启动识别... 15
安装本地时间同步服务(NTP) @Controller @other. 16
启用OpenStack-pike库 @Controller. 17
安装和配置消息队列RabbitMQ @Controller. 19
启动 Apache HTTP 服务并配置其随系统启动:... 24
前言
本文档为OpenStackPike版学习笔记。主要内容参考自openstack.org官方网站docs栏目。
本笔记主要内容记录了搭建分布式OpenStack的过程,1 Controller(控制器节点) + 1 Compute(计算节点) + 1 Cinder(块存储节点) + 1 Swift(对象存储节点)。
基于CentOS71708安装,搭建一个基本实验环境,不可用于生产。如果需要生产环境,还需要更多高级设置。
需要注意的是,RedHat 7操作系统虽然和CentOS一藤并生,但是安装时有一些额外的命令需要运行。
OpenStack参考架构
OpenStack通过各种补充服务提供基础设施即服务IaaS的解决方案。每个服务都提供便于集成的应用程序接口(API)。
下表显示OpenStack常用组件(项目)
OpenStack services |
||
服务 |
项目名称 |
描述 |
提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。 |
||
在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。 |
||
确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。 |
||
存储类 |
||
对象存储 |
||
块存储 |
为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。 |
|
共享服务 |
||
为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。 |
||
Glance |
存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。 |
|
为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。 |
||
高层次服务 |
||
Heat |
硬件架构及配置
控制器节点
控制节点上运行身份认证服务、镜像服务、计算服务的管理部分,网络服务的管理部分,多种网络代理以及仪表板。也需要包含一些支持服务,例如:SQL数据库、消息队列、NTP服务等。
计算节点
计算节点上运行计算服务中管理实例的管理程序部分。支持各类主流虚拟化技术,如Xen、KVM、VMWARE ESXI等。默认情况下,计算服务使用 KVM。
可以部署超过一个计算节点,每个结算节点至少需要两块网卡。
可选:可以在计算节点上运行部分块存储,对象存储,Orchestration 和 Telemetry 服务。
块设备存储节点
块存储节点是可选节点。一般来讲,块存储节点上包含了大量磁盘,拥有极大的存储容量。部署块存储服务和共享文件系统,对外以块设备的方式提供磁盘空间。
为了实验简单起见,计算节点和块存储节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以隔离流量,增强性能和安全。
可以部署超过一个块存储节点,每个块存储节点要求至少一块网卡。
对象存储节点
对象存储节点是可选的,一般来讲,对象存储节点和块存储节点一样,也包含大量磁盘,拥有海量存储容量。部署对象存储服务。对象存储节点通过对象存储服务,用这些磁盘来存储账号,容器和对象。
为了简单起见,计算节点和本类节点之间的服务流量使用管理网络。生产环境中应该部署一个单独的存储网络以增强性能和安全。
这个服务要求两个节点。每个节点要求最少一块网卡。你可以部署超过两个对象存储节点。
实验环境信息
可以利用openssl生成:openssl rand -hex 10 |
|
|
|
||
密码名称 |
密码 |
描述 |
ESXI Server root pass |
|
虚拟服务器密码 |
OSCTL node ROOT pass |
|
控制节点root密码 |
OSCOM node ROOT pass |
|
计算节点root密码 |
OSBSN node ROOT pass |
|
块存储节点root密码 |
OSOSN node ROOT pass |
|
对象存储节点0 root密码 |
OSOSN node1 ROOT pass |
|
对象存储节点1 root密码 |
数据库密码(不能使用变量) |
|
数据库的root密码 |
ADMIN_PASS |
|
admin用户密码 |
CINDER_PASS |
|
块存储服务cinder用户密码 |
DASH_DBPASS |
|
DB password for the dashboard |
DEMO_PASS |
|
demo用户的密码 |
GLANCE_DBPASS |
|
镜像服务的数据库密码 |
GLANCE_PASS |
|
镜像服务的 glance用户密码 |
KEYSTONE_DBPASS |
|
认证服务的数据库密码 |
METADATA_SECRET |
|
元数据代理密文 |
NEUTRON_DBPASS |
|
网络服务的数据库密码 |
NEUTRON_PASS |
|
网络服务的 neutron用户密码 |
NOVA_DBPASS |
|
计算服务的数据库密码 |
NOVA_PASS |
|
计算服务中nova用户的密码 |
PLACEMENT_PASS |
|