CentOS7安装Devstack Mitaka

来源:互联网 发布:初三化学视频教程软件 编辑:程序博客网 时间:2024/06/05 15:17

在VMware Centos7环境下, 使用Devstack安装Openstack Mitaka版本.

被Openstack的环境部署困扰了很久, 遇到的大多数问题是网络问题 (源在国外, 下载超时). 或者是软件版本的问题, 软件之间的相互依赖导致经常出现某个python的module在import的时候出错, 因为新版本已经不再沿用老版本的命名方式了.

搜了很多教程, 大部分是基于ubuntu和openstack L版的. 个人比较喜欢Centos, 而且M版出来这么久了, 也该试试了. 这次实践了一个Devstack的安装, 这里做一个简单的记录, 希望这个部署流程是可重复的. 如果有朋友按照这个流程部署遇到了问题, 希望可以留言交流一个遇到的那些坑= =.

记录一下在CentOS7环境下安装Devstack Mitaka版本的过程. 针对网络环境做了一些优化.

1. 安装环境

1.1 VM安装

使用VMware安装一台Centos 7 VM. 内存2GB, 硬盘100GB.

系统镜像: CentOS-7-x86_64-DVD-1511(1).iso

1.2 虚拟机网络配置

为VM设置一张NAT网卡. 这张NAT网卡使得VM可以访问公网. 另一方面, 为了在Windows中使用Xshell远程连接VM, 为这张NAT网卡配置了端口转发. 具体如下图所示:
virtualbox端口转发

2. 基本环境配置

2.1 关闭selinux

[root@devstack ~]# vim /etc/selinux/config# SELINUX=enforcing     #注释掉SELINUX=disabled        #增加[root@devstack ~]# systemctl stop firewalld [root@devstack ~]# systemctl disabled firewalld 

2.2 设置使用本地Centos源

[root@devstack yum.repos.d]# scp server:/var/www/html/centos/help/repos/local_mitaka.repo .[root@devstack yum.repos.d]# yum clean all[root@devstack yum.repos.d]# yum makecache

3. 安装Devstack

3.1 准备Devstack

下载代码, 指定clone mitaka版本:

[root@devstack ~]# cd /home[root@devstack home]# git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka  或[root@localhost home]# scp -r server:/var/www/html/centos/help/sourcecode/mitaka/devstack .

3.2 创建stack用户

[root@devstack tools]# cd /home/devstack/tools/[root@devstack tools]# ./create-stack-user.sh 

3.3 安装pip并改为豆瓣源

[root@devstack home]# yum install python-pip -y[root@devstack home]# vim /etc/pip.conf[global]index-url = http://pypi.douban.com/simple[install]trusted-host = pypi.douban.com

3.4 准备一些安装过程中会自动下载的文件

事先下载好的Mitaka各组件的源代码:

[root@devstack home]# cd /opt/stack/[root@devstack stack]# scp -r server:/var/www/html/centos/help/sourcecode/mitaka/* .[root@devstack stack]# lscinder  glance  horizon  keystone  manila  manila-ui  neutron  nova  python-manilaclient  swift或者逐一下载: git clone http://git.trystack.cn/openstack/nova.git /opt/stack/nova -b stable/mitaka

事先准备好get-pip.py:

[root@devstack files]# scp -r server:/var/www/html/centos/help/files/get-pip.py .[root@devstack files]# scp -r server:/var/www/html/centos/help/files/cirros-0.3.4-x86_64-disk.img .[root@devstack files]# scp -r server:/var/www/html/centos/help/files/manila-service-image-master.qcow2 .

Devstack相关文件:
在server节点查看如下:

[root@bak files]# lscirros-0.3.4-x86_64-disk.img  get-pip.py                         manila-service-image.qcow2cirros.img                    manila-service-image-master.qcow2  manila-ubuntu-core.qcow2

3.5 修改devstack目录权限,让stack用户可以运行

[root@devstack files]# chown -R stack:stack /home/devstack[root@devstack files]# chmod 777 /opt/stack -R

3.6 切换到stack用户下

[root@localhost ~]# su stack

3.7 https协议替代git协议

因为本人所在的网络环境貌似禁用了git协议, 因此这里通过配置采用https协议代替了git协议:

[stack@devstack devstack]$ git config --global url."https://".insteadOf git://

3.8 创建编辑localrc文件,添加以下内容:

[stack@devstack files]$ cd /home/devstack[stack@devstack devstack]$ vim local.conf

local.conf 是这次安装devstack的配置文件. 为了加速安装过程, 采用了九州云的devstack源. 这里特别感谢一下, 比用国外的源快了真不是一星半点= =.

[[local|localrc]]# use TryStack git mirrorGIT_BASE=http://git.trystack.cnNOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.gitSPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git# Define images to be automatically downloaded during the DevStack built process.DOWNLOAD_DEFAULT_IMAGES=FalseIMAGE_URLS="http://192.168.44.128/centos/help/files/cirros-0.3.4-x86_64-disk.img"# MiscADMIN_PASSWORD=adminDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORDSERVICE_TOKEN=$ADMIN_PASSWORD# Target PathDEST=/opt/stack# Enable LoggingLOGFILE=$DEST/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=FalseSCREEN_LOGDIR=$DEST/logsKEYSTONE_TOKEN_FORMAT=UUID# Novaenable_service n-novnc n-cauth# Neutrondisable_service n-netENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutronENABLED_SERVICES+=,q-lbaas,q-vpn,q-fwaasHOST_IP=192.168.44.131    #虚拟机网卡eth0 ip地址FIXED_RANGE=10.0.0.0/24   #固定子网,随意指定  10.0.0.1#NETWORK_GATEWAY=10.0.0.1  #固定子网网关FLOATING_RANGE=192.168.44.0/24PUBLIC_NETWORK_GATEWAY="192.168.44.1"Q_FLOATING_ALLOCATION_POOL=start=192.168.44.200,end=192.168.56.210PUBLIC_INTERFACE=eno16777736Q_L3_ENABLED=TrueQ_USE_PROVIDERNET_FOR_PUBLIC=TrueOVS_PHYSICAL_BRIDGE=br-exPUBLIC_BRIDGE=br-exOVS_BRIDGE_MAPPINGS=public:br-ex# Swift#enable_service s-proxy s-object s-container s-accounts#SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5# CinderVOLUME_GROUP="cinder-volumes"ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak# Ceilometer#enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector ceilometer-api#enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator# Heatdisable_service heat h-api h-api-cfn h-api-cw h-engdisable_service tempest# Trovedisable_service trove tr-api tr-tmgr tr-cond# Saharadisable_service sahara# Manilaenable_plugin manila http://git.trystack.cn/openstack/manila.git stable/mitakaOFFLINE=False

注意:若需要安装其他服务,请参考其他资料。

3.9 开始安装

[stack@localhost devstack]$ ./stack.sh

注意:使用的是stack用户运行。

安装成功, 得到如下信息:

========================DevStack Components Timed========================run_process - 87 secspip_install - 1174 secsrestart_apache_server - 14 secswait_for_service - 48 secsyum_install - 757 secsgit_timed - 947 secsThis is your host IP address: 10.0.2.15This is your host IPv6 address: ::1Horizon is now available at http://10.0.2.15/dashboardKeystone is serving at http://10.0.2.15:5000/The default users are: admin and demoThe password: admin2016-08-11 02:37:46.670 | stack.sh completed in 4318 seconds.

4. 淌过的坑

安装过程的坑实在是太多了, 很遗憾没有一一记录下来, 能记得多少写多少吧.

4.1 git协议不可用的情况解决

在某些情况下, git协议可能被网络环境禁用, 会出现”fatal: unable to connect to git.openstack.org”的问题. 这时, 可以通过https协议来代替git协议. 具体的操作有两种方式:
(1) 通过指令
运行指令:

git config --global url."https://".insteadOf git://

(2) 通过配置Devstack配置文件
默认情况下的配置文件是:

GIT_BASE=${GIT_BASE:-git://git.openstack.org}

为了使用https协议, 修改为:

GIT_BASE=${GIT_BASE:-https://git.openstack.org}

4.2 更改为163的centos源

网上有些教程说, 使用163的centos源速度会更快.

使用说明:http://mirrors.163.com/.help/centos.html

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost ~]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo[root@localhost ~]# yum clean all[root@localhost ~]# yum makecache

但是, 我在实践的过程中, 有一次安装失败就是因为使用了163的源, 具体错误提示不记得了, 大意是安装包broken. 最后改回了centos的官方源, 安装通过. 有遇到一样情况的朋友可以反馈一下具体的错误叫什么.

4.3 mariadb root用户密码不对

因为在虚拟机上尝试安装了好多次Devstack, local.conf文件也使用了好多个网上教程的方案, 可能是因为设置的密码不一样的原因, 最后一次安装的时候出现了mariadb root用户密码不对的情况. 通过修改root用户密码的方式应该可以解决, 没有去尝试. 修改数据库root用户密码可以参考这个教程MySQL和MariaDB如何修改root密码, 我没有实践过.

参考资料

  1. Trystack国内Openstack源
  2. English0523: 再玩 DevStack(Mitaka版)- 基于 trystack.cn 源
  3. Yikun: 搭建OpenStack开发环境
  4. 陈沙克日志: OpenStack项目系列介绍(3) Devstack
  5. Devstack安装Liberty by 徐超笔记
1 0
原创粉丝点击