OpenStack是一个开源的云平台。由各个组件协同工作,安装非常复杂。

RedHat有个关于Openstack的项目RDO,能够简化安装过程,可是假设真按RDO所说的三步去安装,发现安装过程中还是有非常多报错,不得不查询Openstack的官方文档。

本来准备在新出的RHEL7上安装的,发现缺少libselinux(epel7)的附加包,有可能还没编译。全部选择RedHat6.5作为底层操作系统。

安装环境准备

1.硬件环境:

DELL R410  四核4G内存,双网卡(本实例中仅仅用到一个网卡),2块160G硬盘

2.软件环境:

安装RedHat 6.5 (选择最小化安装)

eth0接口IP地址:192.168.11.120/24

主机名:OSNode.demostack

操作用户:root (也能够用其它用户。仅仅需在全部的命令前加 sudo)

RDO官方文档地址:http://openstack.redhat.com/Quickstart

OpenStack 官方文档:http://docs.openstack.org/

操作系统安装配置

1.安装底层操作系统RHEL

操作系统的安装过程就不赘述了。这里选择最小化安装 RedHat 6.5 。安装过程中记得配置好hostname,hostname一定要足够的长度,千万不能是纯数字的。如189.localdomain。

我这里设为OSNode.demostack

(这是我遇到的第一个错误。原想这个hostname无所谓。直接就随手填了个ip地址的最后一段(189.localdomain),结果安装过程中Puppet报错。)

2.配置host文件

编辑host文件。加入主机名和相应的ip地址到host文件。

vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 Node.OpenStack

-----------------------------------------------------------------------------------------------------------------

这个地方前面的ip地址最好填127.0.0.1,应为RDO安装的Mysql默认仅仅能这个ip地址连接,假设你填写的是本机网卡的ip地址,会报例如以下错误

ERROR : Error appeared during Puppet run: 192.168.11.120_keystone.pp

Error: /Stage[main]/Keystone::Roles::Admin/Keystone_role[_member_]: Could not evaluate: Execution of '/usr/bin/keystone --os-endpoint http://127.0.0.1:35357/v2.0/ role-list' returned 1: An unexpected error prevented the server from fulfilling your request.
(HTTP 500)

3.配置网络

编辑  /etc/sysconfig/network-scripts/ifcfg-** 文件

[root@OSNode network-scripts]# vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=11ed2c17-9098-4519-b388-9f3824b6c531
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:D1:80:BB
IPADDR=192.168.11.120
PREFIX=24
GATEWAY=192.168.11.1
DNS1=114.114.114.114

配置好IP地址、网关、DNS,最好ping 163.com 看下是否正常通讯。

4.打开系统防火墙

这个默认RHEL6.5是打开的。不要关闭了,Openstack的非常多网路功能都是通过防火墙实现的。

service iptables status

5.关闭selinux

vi /etc/selinux/config

SELINUX=disabled

重新启动生效

6.配置本地yum环境

上传RedHat 6.5  IOS镜像到home文件夹,新建个文件夹rhel6。挂载ISO文件到Local_YUM文件夹,改动repo文件。运行过程例如以下:

#cd /home
#mkdir rhel6
#mount -o loop RHEL6.5.iso rhel6/
#vi /etc/yum.repos.d/RHEL6.5.repo
[rhel6]
name=rhel6
baseurl=file:///root/rhel6/
enabled=1
gpgcheck=0
~

更新YUM缓存

yum clean all

yum update

yum makecache

7.重新启动机器

reboot

RDO安装步骤

1.为存储设置LVM分区(可选)

为了提高虚拟机的性能,能够把存储放在第二块硬盘上。在第二块硬盘(sdb)上建立LVM分区。

1.1建立物理分区sdb1
 #fdisk  /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
1.2更改分区类型为8e
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
1.3创建PV和VG
# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
# vgcreate cinder-volumes /dev/sdb1
Volume group "cinder-volumes" successfully created
1.4取消新创建LVM的开机挂载

检查/etc/fsta文件。凝视掉cinder-volumes的开机挂载

2.安装Centos6.5的rubygems包

yum install -y http://mirrors.163.com/centos/6.5/os/x86_64/Packages/rubygems-1.3.7-5.el6.noarch.rpm 

因为RedHat的本地yum没有rubygems包。所以要安装Centos的rubygems包,否则在安装PackStack的时候会报例如以下错误

Error: Package: rubygem-json-1.5.5-1.el6.x86_64 (puppetlabs-deps)

           Requires: rubygems

3.安装PackStack包

yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
yum install -y openstack-packstack

更新yum

yum -y update

yum makecache

重新启动机器

reboot

4.运行RDO安装

packstack  --allinone --provision-demo=n

假设在上面为Cinder设置了分区,能够运行以下的命令

packstack  --allinone --provision-demo=n CONFIG_CINDER_VOLUMES_CREATE=n

安装完毕后在root文件夹下有keystonerc_admin 文件。该文件里有web管理登陆须要的username和password

http://192.168.11.120/dashboard

5.安装过程中出错处理

1.Keystone出现HTTP500错误

 首先检查host文件主机名设置的是不是127.0.0.1,假设没问题运行以下命令。同步数据库到Mysql
keystone-manage db_sync

然后又一次运行PackStack  --answer-file  /root/packstack-answers-20140701-091539.txt 命令。

PackStack命名能够反复运行,但一定要带上第一次安装时的配置文件,第一次安装的时候不管是否成功,都会在root文件夹下生成 如packstack-answers-20140701-091539.txt的配置文件。

2.Cinder's volume group 'cinder-v olumes' could not be created

运行 rm -rf /var/lib/cinder/cinder-volumes

又一次安装

PackStack  --answer-file  /root/packstack-answers-20140701-091539.txt

3.其它安装包在安装过程中下载中断。

由于安装的yumserver在国外,非常easy由于网络原因导致的安装中断,这样的情况直接又一次安装即可了。

RedHat6.5 安装OpenStack all in one-RDO方式的更多相关文章

  1. CentOS RDO方式快速安装OpenStack

    一.了解RDO RDO是什么? RDO是红帽Red Hat Enterprise Linux OpenStack Platform的社区版,类似RHEL和Fedora,RHEV和oVirt这样的关系. ...

  2. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  3. CentOS下一键安装Openstack

    CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...

  4. 怎样使用yum安装OpenStack

      怎样使用yum安装OpenStack         headsen chen        2017-10-09  19:17:15 个人原创博客,转载请注明作者,出处,否则追究法律责任 [sh ...

  5. 部署OpenStack问题汇总(一)--使用packstack安装openstack:源问题的处理

    在安装的过程中,遇到了源的问题,找不到包的网页:    重新打开 预装源地址,打开epel-openstack-havana.repo 文件,显示如下: # Place this file in yo ...

  6. 10分钟安装OpenStack

    1 OpenStack初学者的苦恼 2 OpenStack最低配置要求 3 配置UOS环境 3.1 设置网络 3.1.1 创建路由器 3.1.2 创建网络 3.1.3 创建两个子网 3.2 创建UOS ...

  7. Centos7下使用RDO方式安装openstack-r版

    一.前言 OpenStack是一个开源的云计算管理平台项目,OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.OpenStack通过各种 ...

  8. Vmware虚拟机Devstack安装openstack(All in one)

    Vmware虚拟机Devstack安装openstack(All in one) 博客园第一篇博客,先练习一下. 官方文档 环境 Vmware虚拟机 OS : Ubuntu 14.04 Nat网络,D ...

  9. Fuel快速安装OpenStack

    1 介绍 1.1 关于 Mirantis Mirantis,一家很牛逼的openstack服务集成商,他是社区贡献排名前5名中唯一一个靠软件和服务吃饭的公司(其他分别是Red Hat, HP, IBM ...

随机推荐

  1. 怎样在同一台电脑使用不同的账号提交到同一个github仓库

    近期这段时间使用github.有时在公司办公,想要用git提交代码到自己的github仓库,提交是显示的作者是自己在公司的账户.而不是自己的github账户.这就相当于提交到github的代码不是自己 ...

  2. 【C语言】编写函数实现字符串旋转

    //编写函数实现字符串旋转 #include <stdio.h> #include <assert.h> #include <string.h> void reve ...

  3. bzoj1790: [Ahoi2008]Rectangle 矩形藏宝地

    被统考草翻回来做题不太行啊,线段树和cdq都写挂细节 这题大概就是四维偏序吧,欸n怎么到了20w,只能水70啊 但是这个好像只要有1个在里面就可以ans就可以++了耶 突然想到高中奥数老师说的,大概是 ...

  4. qq邮箱的SMTP服务器是什么

    qq邮箱的SMTP服务器是什么 QQ邮箱POP3 和 SMTP 服务器地址设置如下:POP3服务器地址为“pop.qq.com”,SMTP服务器地址为“smtp.qq.com”注:1.SMTP服务器需 ...

  5. MYSQL中 FIND_IN_SET 函数

    每天掌握一点,你的知识财富就多一点  今天在维护项目的时候发现了个MYSQL的FIND_IN_SET函数,之前接触太浅,今天又涨点知识了.下面是做个测试 1.创建一张test表,并添加数据 2.编写s ...

  6. C++代码审查---参考林锐高质量C/C++

    功能模块名称 审查人 审查日期 代码名称 代码作者 文件结构 重要性       审查项 结论                  头文件和定义文件的名称是否合理? 头文件和定义文件的目录结构是否合理? ...

  7. redux原理

    Redux实现原理 不同组件需要依赖同一个数据的时候,就需要状态提升至这些组件的根组件. redux是状态统一管理工具,需要使用它的原因是: 组件之间通信统一管理,方便代码维护. React中有一个特 ...

  8. 使用BigDecimal完成小数点后的精确位数的四舍五入

    package com.ryan; import java.math.BigDecimal; class MyMath { public static double round(double num ...

  9. CDR 2017版本LiveSketch工具是什么,怎么用?

    LiveSketch 工具在提供手绘草图的简便性和速度的同时,结合了智能笔触调整和向量绘图.在您绘制草图时,CorelDRAW 2017会分析您输入笔触的属性.时序和空间接近度,对其进行调整并将其转换 ...

  10. nginx上搭建https

    nginx上配置https的条件: 1.SSL证书和服务器私钥文件 2.nginx支持SSL模块 一.获取SSL证书 网上有提供权威认证的SSL证书的网站,但多数是收费的,而且不便宜.在正式的生产环境 ...