openstack安装记录(一)环境准备
参考文献:
官方文档 http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/index.html
最小实例:
- 控制节点: 1 处理器, 4 GB 内存, 及5 GB 存储
- 计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储
- 安全
通过运行下面的命令:
openssl rand -hex 10
密码及对应关系:
|
密码名称 |
描述 |
|---|---|
|
SERVICE_PASS |
服务帐号密码 |
|
SERVICE_DBPASS |
数据库密码 |
|
数据库密码(不能使用变量) |
数据库的root密码 |
| ADMIN_PASS |
admin 用户密码 |
| CEILOMETER_DBPASS |
Telemetry 服务的数据库密码 |
| CEILOMETER_PASS |
Telemetry 服务的 ceilometer 用户密码 |
| CINDER_DBPASS |
块设备存储服务的数据库密码 |
| CINDER_PASS |
块设备存储服务的 cinder 密码 |
| DASH_DBPASS | Database password for the dashboard |
| DEMO_PASS |
demo 用户的密码 |
| GLANCE_DBPASS |
镜像服务的数据库密码 |
| GLANCE_PASS |
镜像服务的 glance 用户密码 |
| HEAT_DBPASS |
Orchestration服务的数据库密码 |
| HEAT_DOMAIN_PASS |
Orchestration 域的密码 |
| HEAT_PASS |
Orchestration 服务中``heat``用户的密码 |
| KEYSTONE_DBPASS |
认证服务的数据库密码 |
| NEUTRON_DBPASS |
网络服务的数据库密码 |
| NEUTRON_PASS |
网络服务的 neutron 用户密码 |
| NOVA_DBPASS |
计算服务的数据库密码 |
| NOVA_PASS |
计算服务中``nova``用户的密码 |
| RABBIT_PASS |
RabbitMQ的guest用户密码 |
| SWIFT_PASS |
对象存储服务用户``swift``的密码 |
- 主机网络
示例架构假设使用如下网络:
管理使用 10.0.0.0/24 带有网关 10.0.0.1
这个网络需要一个网关以为所有节点提供内部的管理目的的访问,例如包的安装、安全更新、 DNS,和 NTP。
提供者网段 203.0.113.0/24,网关203.0.113.1
这个网络需要一个网关来提供在环境中内部实例的访问。
控制节点服务器
配置网络接口
将第一个接口配置为管理网络接口:
IP 地址: 10.0.0.11
子网掩码: 255.255.255.0 (or /24)
默认网关: 10.0.0.1
提供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络:
将其中的 INTERFACE_NAME替换为实际的接口名称。例如,eth1 或者*ens224*。
编辑``/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME``文件包含以下内容:
不要改变 键``HWADDR`` 和 UUID 。
DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
重启系统以激活修改。
配置域名解析
设置节点主机名为 controller。
编辑 /etc/hosts 文件包含以下内容:
# 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
计算节点
配置网络接口¶
将第一个接口配置为管理网络接口:
IP 地址:10.0.0.31
子网掩码: 255.255.255.0 (or /24)
默认网关: 10.0.0.1
注解另外的计算节点应使用 10.0.0.32、10.0.0.33 等等。
提供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络:
将其中的 INTERFACE_NAME替换为实际的接口名称。例如,eth1 或者*ens224*。
编辑``/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME``文件包含以下内容:
不要改变 键``HWADDR`` 和 UUID 。
DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
重启系统以激活修改。
配置域名解析¶
设置节点主机名为``compute1``。
编辑 /etc/hosts 文件包含以下内容:
# 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
- 时间同步
控制节点服务器
在控制节点上执行这些步骤。
安全并配置组件
安装软件包:
# yum install chrony
编辑 /etc/chrony.conf 文件,按照你环境的要求,对下面的键进行添加,修改或者删除:
server NTP_SERVER iburst
使用NTP服务器的主机名或者IP地址替换 NTP_SERVER 。配置支持设置多个 server 值。
注解控制节点默认跟公共服务器池同步时间。但是你也可以选择性配置其他服务器,比如你组织中提供的服务器。
为了允许其他节点可以连接到控制节点的 chrony 后台进程,在``/etc/chrony.conf`` 文件添加下面的键:
allow 10.0.0.0/24
如有必要,将 10.0.0.0/24 替换成你子网的相应描述。
启动 NTP 服务并将其配置为随系统启动:
# systemctl enable chronyd.service
# systemctl start chronyd.service
其他节点服务器
安全并配置组件
安装软件包:
# yum install chrony
编辑``/etc/chrony.conf`` 文件并注释除``server`` 值外的所有内容。修改它引用控制节点:
server controller iburst
启动 NTP 服务并将其配置为随系统启动:
# systemctl enable chronyd.service
# systemctl start chronyd.service
验证
我们建议您在继续进一步的操作之前验证 NTP 的同步。有些节点,特别是哪些引用了控制节点的,需要花费一些时间去同步。
在控制节点上执行这个命令:
# chronyc sources
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 192.0.2.11 2 7 12 137 -2814us[-3000us] +/- 43ms
^* 192.0.2.12 2 6 177 46 +17us[ -23us] +/- 68ms在 Name/IP address 列的内容应显示NTP服务器的主机名或者IP地址。在 S 列的内容应该在NTP服务目前同步的上游服务器前显示*。
在所有其他节点执行相同命令:
# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller 3 9 377 421 +15us[ -87us] +/- 15ms在 Name/IP address 列的内容应显示控制节点的主机名。
安装openstack仓库:
注:不能同时存在 epel仓库,会改变依赖的环境
centos:
yum install centos-release-openstack-mitaka
redhat:
yum install https://rdoproject.org/repos/rdo-release.rpm
完成安装:
升级包:
yum upgrade
安装openstack客户的:
yum install python-openstackclient
关闭selinux:
yum install openstack-selinux
安装mysql,及python-mysql
安装mongodb
安装rabbitmq并做以下操作:
添加openstack用户:
rabbitmqctl add_user openstack RABBIT_PASS
给openstack用户配置写和读权限:
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
安装memcached和python-memcache
openstack安装记录(一)环境准备的更多相关文章
- OpenStack 安装:基本环境准备
刚刚学完openstack,这几篇文章就算对过去课程的一个总结吧. 首先说说基本的结构:在一台Dell的workstation上面安装了VMware,在VMware上面安装两台CentOS,现在给每台 ...
- openstack安装记录(二)keystone安装
先决条件 在你配置 OpenStack 身份认证服务前,你必须创建一个数据库和管理员令牌. 完成下面的步骤以创建数据库: 用数据库连接客户端以 root 用户连接到数据库服务器: $ mysql -u ...
- Devstack 安装OpenStack Pike版本(单机环境)
问题背景 最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstac ...
- Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录
Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录 Hadoop 2.6 的安装与配置(伪分布式) 下载并解压缩 配置 .bash_profile : ...
- XenServer虚拟化环境安装记录
Xenserver,思杰基于Xen的虚拟化服务器.Citrix XenServer是一种全面而易于管理的服务器虚拟化平台,基于强大的 Xen Hypervisor 程序之上.XenServer 是为了 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...
- OpenStack实践系列①openstack简介及基础环境部署
OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...
- 《Linux就该这么学》自学笔记_ch22_使用openstack部署云计算服务环境
<Linux就该这么学>自学笔记_ch22_使用openstackb部署云计算服务环境 文章主要内容: 了解云计算 Openstack项目 服务模块组件详解 安装Openstack软件 使 ...
随机推荐
- 解决: AGPBI: {"kind":"error","text":"indicate that it is *not* an inner class.","sources":[{}]}
关于Gradle Console输出类似这样错误信息: AGPBI: {"kind":"error","text":"indica ...
- Codeforces 494B Obsessive String
http://www.codeforces.com/problemset/problem/494/B 题意:给出两个串S,T,求有几种将S分成若干个子串,满足T都是这若干个子串的子串. 思路:f[n] ...
- KEIL C51中const和code的使用
code是KEIL C51 扩展的关键字,用code修饰的变量将会被放到CODE区里.但C语里的const关键字好像也有定义不能改变的变量的功能,这两个关键字有什么区别呢?在帮助手册里查找const, ...
- Qt 自定义事件详细实例(继承QEvent,然后QCoreApplication::postEvent()、sendEvent())
创建用户事件 创建一个自定义类型的事件,首先需要有一个事件号,其值通常大于QEvent::User.为了传递事件信息,因此必须编写自定义的事件类,该事件类从QEvent继承. 编写用户事件:编写用户事 ...
- 找不到Qt5Cored.dll(Release和Debug版连接了不同的库)
Qt5Cored.dll和Qt5Core.dll文件分别用于Qt软件的Debug版和Release版. 通常会有两个Qt5Core.dll文件,分别位于Qti安装目录下的“Qt5.1.0\5.1.0\ ...
- 认识元数据和IL(下)<第五篇>
书接上回: 第二十四回:认识元数据和IL(上) , 第二十五回:认识元数据和IL(中) 我们继续. 终于到了,说说元数据和IL在JIT编译时的角色了,虽然两个回合的铺垫未免铺张,但是却丝毫不为过,因为 ...
- scheme递归
主要参考: http://www.shido.info/lisp/scheme7_e.html Function fact that calculates factorials. (define (f ...
- 2014第3周三JS进阶书籍
本来想尝试每天回答或看已解决的3个问题来学习总结今天的知识点,看了下博文里面的问答,在问的和已解决的都提不起兴趣.就看了下知识库里面一些文章,把里面感觉好的段落再摘录一下,为自己再看时备忘. 第一阶段 ...
- UESTC_秋实大哥与连锁快餐店 2015 UESTC Training for Graph Theory<Problem A>
A - 秋实大哥与连锁快餐店 Time Limit: 9000/3000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) S ...
- java没有条件编译
摘自http://maosidiaoxian.iteye.com/blog/1290740 条件编译绝对是一个好东西.如在C或CPP中,可以通过预处理语句来实现条件编译.代码如下: #IFDEF DE ...