首页 > 代码库 > OpenStack 安装笔记

OpenStack 安装笔记

提起openstack的安装,整个人感觉都不好了,搞了将近一周时间也没能搞定Redhat、CentOS 6.5系统的安装,最后换到CentOS7.0上一次安装成功。为了以后少走弯路,记下自己愚钝的脚步。

第一次安装openstack,拿到的服务器是Redhat6.5的系统,手里还有一张CentOS6.5的系统光盘。开发人都很懒,能用的就用,有问题就一根筋的钻研下去(我不是个好的开发人员,到最后没能有将问题解决),这样就开始不幸的安装历程。

第一个头疼的问题是Redhat上配置yum源,文章上讲配置好源后安装下面步骤就安装完成,看似非常简单的事,现在看RDO(https://openstack.redhat.com/Quickstart RDO官网) all-in-one部署确实就这么多步骤,为什么我会遇到这么多问题,也许你自己选择了错误的道路。openstack包和yum源更新都很快,所以当时安装非常顺畅,现在比较麻烦也不难解释。所以建议大家初学一项东西的时候应该选择最新的开始,就像技术会越来越成熟,更容易上手一样的道理,下面列出CentOS7.0上的安装方法。

一、配置yum源

yum 是Fedora和RedHat以及CentOS上的包管理工具,

cd cd /etc/yum.repos.d/

查看到已经包含的yum源

网上很多做法都是替换为第三方源,最多的是网易的yum源,这给出网易yum源使用说明http://mirrors.163.com/.help/centos.html

1、网易源使用

使用wget 文件下载命令下载CentOS6-Base-163.com,这里要根据你自己的系统下载对应版本

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

wget命令会将文件下载到当前目录,然后备份系统Base源,替换为网易源

mv CentOS-Base.repo CentOS-Base.repo.back

mv CentOS6-Base-163.repo CentOS-Base.repo

这样网易base源就替换好了

2、eple 源

rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
根据自己的系统版本选择对应的eple 源安装,安装好后会在 /etc/yum.repos.d/ 下生成 eple-release.repo 源,系统中对应包含epel-release包,可以用 rpm -qa|grep -i epel-release查看。
 
3、RDO包安装
yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-havana/rdo-release-havana-6.noarch.rpm
yum install -y https://rdo.fedorapeople.org/rdo-release.rpm
后面是官网最新的rdo安装,CentOS和RedHat 7.0 之前的推荐安装上面的RDO包,RDO有很多版本具体到https://repos.fedorapeople.org查看。
安装后可以使用 rpm -qa|grep -i rdo-release 查看安装的包。
 
二、openstack-packstack 包安装
yum install -y openstack-packstack
这里安装有可能会出现包依赖问题,如果有问题,先执行 yum update 更新包依赖和系统
这里安装完成后,最好执行下yum update 更新依赖包,然后执行 reboot 重新启动下,个人觉得这里最好更新重启下机器。update的时候有可能会有四百多个文件更新,需要耐心等会。
 
三、执行packstack
1、直接执行
packstack --allinone
2、先生成opensatck应答文件,修改应答文件中的配置,在根据应答文件执行packstack
packstack --gen-answer-file=openstack-answer.txt
packstack --answer-file=openstack-answer.txt
应答文件会在/root/ 目录生成,第一次安装还是推荐第一种方式。
 
如果一切顺利(在低版本上几乎是不可能的),在 /root/ 目录下会生成keystonerc_admin文件,其中包含Horizon登录的用户名和密码。
Horizon登录地址是http://192.168.24.11/dashboard  第二端是你主机的IP地址,后面就自己玩了
 
上面的方式我在CentOS7.0 上安装成功了。
 
安装时遇到的问题
一、yum和eple源问题

在没有配置好yum和eple源的情况下,去执行后面的操作注定要失败了,redhat yum源更新需要收费,所以用centos源替换。redhat yum 源替换还是比较麻烦的,要讲原来的yum删除,在安装第三方的yum,这里有篇文章http://blog.itpub.net/25313300/viewspace-708509/ 讲解了具体的使用。

第一天yum源问题没有解决,第二天上午就将系统换成CentOS6.5的了,CentOS上yum源替换第三方源简单多了,可在找eple源上发了不是功夫。第二天总是将yum源的问题解决了。yum配置好后就是选择rdo包版本了,eple源和rdo包版本是对应的,eple7对应rdo最新的juno版本(对应系统CentOS7.0),eple6对应juno以下版本。

二、python版本问题

后面的安装遇到各种问题,如果安装eple7和juno版本,Python版本要大于2.7,Redhat6.5默认只要2.6,这样就要升级Python。即使你升级成功后面发现还是缺少很多包,所以不建议在6.5系统上安装最新的juno包。还是安装低版本的RDO包,这样你的Python就要降回到2.6版,不然会有Python兼容问题。

安装不同的Python版本默认会在保存在/user/bin 目录下,系统使用版本是通过/user/bin/python link文件指定的,你可以通过ln -s python2.6 python 重新设置系统Python版本为2.6,要先删除之前的python链接文件。重新查看python版本还是没有变化,就通过 find python2.7 查找python2.7版本所以文件夹,将其全部删除。

三、mysql安装问题
packstack执行是会安装mysql,如果系统已经安装会出现冲突,需要卸载mysql
rpm -qa | grep mysql
查看所有安装的mysql数据库
rpm -e mysql-server-5.1.71-1.el6.x86_64
rpm -e mysql-5.1.71-1.el6.x86_64
删除安装包
rm -rf /var/lib/mysql
删除mysql本地数据
 
mysql 安装
yum -y install mysql-server
安装mysql
service mysqld start
启动服务器
mysqladmin -u root password ‘root#123‘
设置root用户密码
mysql -u root -p
以root用户链接数据库
show databases;
查看已经创建的数据库
cd /var/lib/mysql/
数据文件保存位置
 

OpenStack 安装笔记