haoman 发表于 2015-10-11 07:18:22

RedHat6.5 安装OpenStack all in one-RDO方式

  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.1Node.OpenStack
  
  -----------------------------------------------------------------------------------------------------------------
  这个地方前面的ip地址最好填127.0.0.1,应为RDO安装的Mysql默认只能这个ip地址连接,如果你填写的是本机网卡的ip地址,会报如下错误
  ERROR : Error appeared during Puppet run: 192.168.11.120_keystone.pp

Error: /Stage/Keystone::Roles::Admin/Keystone_role: 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-** 文件

# 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.5IOS镜像到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

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管理登陆需要的用户名和密码
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.其他安装包在安装过程中下载中断。
  由于安装的yum服务器在国外,很容易因为网络原因导致的安装中断,这种情况直接重新安装就行了。
  



版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: RedHat6.5 安装OpenStack all in one-RDO方式