OpenStack学习:通过devstack安装openstacke mitaka

来源:互联网 发布:郑州淘宝骗局 编辑:程序博客网 时间:2024/05/16 17:50

一、操作系统

Devstack目前是支持 Ubuntu 14.04 (Trusty),Fedora 22 (或 Fedora 23) 和 CentOS/RHEL 7,不过全球的OpenStack开发者,大部分都在用Ubuntu 14.04。相关的资料也是基于Ubuntu14.04的比较多,所以还是建议你使用Ubuntu 14.04。

为了正确解决安装时的依赖问题,建议使用最小化安装的受支持的操作系统。

详细的介绍 http://docs.openstack.org/developer/devstack/

二、设置源

对于ubuntu的系统,默认安全会从国外的源安装,导致速度比较慢,可以修改/etc/apt/source.list文件,相关源列表可从http://wiki.ubuntu.org.cn/获取。

deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse# Canonical 合作伙伴和附加deb http://archive.canonical.com/ubuntu/ trusty partnerdeb http://extras.ubuntu.com/ubuntu/ trusty main

允许更新

sudo apt-get update

三、更新时间

http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到我们国家的NTP服务器

ntpdate  2.cn.pool.ntp.org

四、下载devstack

下载devstack,并指定稳定版本。默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。
apt-get install gitgit clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
或者
$git clone https://github.com/openstack-dev/devstack.git  #克隆devstack的Git代码仓库cd devstack/;git branch -a   #显示本地分支git checkout -b mitaka  origin/stable/mitaka  #切换到指定mitaka分支或标签

五、分配权限

目前Devstack脚本已经不支持直接使用root身份运行,你需要创建stack用户运行
cd /home/devstack/tools/./create-stack-user.sh
使用这个脚本创建用户stack,依然需要手工给用户添加权限。
chown -R stack:stack /home/devstack

此外我们可以手动创建用户分配权限。

创建 stack 用户,添加 stack 用户权限。

sudo groupadd stacksudo useradd -g stack -s /bin/bash -d /opt/stack -m stack
保证该用户下sudo可以免密码运行,否则脚本执行过程中会出现权限问题。
可以修改/etc/sudoers, 在行 root    ALL=(ALL:ALL) ALL 后添加 stack      ALL=(ALL) ALL  然后保存文件,如下
sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
切换到 stack 用户
sudo su - stack

六、配置localrc

devstack目录下的一些文件描述
stack.sh #自动化部署的入口;判断是否存在localrc文件; 否,进入交互模式; 是,进入配置模式(如果需要输入输入stack.sh需要的参数,如:数据库的密码、Rabbit MQ的密码、Service TOKEN 等)localrc  #配置文件;传入stack.sh的参数;nova部署在哪个节点,用户名密码是什么openrc   #环境变量脚本;在执行openstack命令时要导入一些环境变量 如:export OS_USERNAME = adminunstack.sh #卸载脚本lib          #每个服务的自动化安装脚本;通常存放nova,swift等自动化安装脚本,手动安装时执行的所有命令;每一个openstack服务对应一个文件(以下对相关文件作了简要说明)    apache (Web 服务)  Swift  (对象存储的组件)  Glance  (镜像管理)  Horizon (提供了一个模块化的webbased用户界面)  heat(应用的自动化部署AWS cloudformation)  ceilometer(监控和计费)  sahara(BigData-as-a-Service #BDaaS,将hadoop部署在openstack的虚拟机上)  ironic(PXE+IPMI,物理节点的自动化部署)  trove(Database-as-a-service,将数据库部署在openstack的虚拟机上)  tempest(openstack单元测试框架)  opendaylight(开源的sdn控制器)  ldap(轻量型目录访问协议,与keystone整合,实现多级用户的鉴权)  database、databases(postgresql/mysql,默认将选择mysql)  nova、nova_plugins  (可以说是一套虚拟化管理程序,还可以管理网络和存储;下面是支持的一些虚拟化管理程序)  functions-libvirt  hypervisor-baremetal  hypervisor-fake  hypervisor-ironic  hypervisor-libvirt  hypervisor-openvz  hypervisor-vsphere  hypervisor-xenserver  neutron、neutron_plugins、neutron_thirdparty(网络管理的组件,neutron未来将取代Nova相关网络相关内容)  cinder、cinder_plugins (存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理)
建议创建最小化配置文件localrc,即使用非交互模式安装,内容如下:
ADMIN_PASSWORD=secretDATABASE_PASSWORD=$ADMIN_PASSWORDRABBIT_PASSWORD=$ADMIN_PASSWORDSERVICE_PASSWORD=$ADMIN_PASSWORD#FIXED_RANGE=172.31.1.0/24#FLOATING_RANGE=192.168.20.0/25#HOST_IP=10.3.4.5
或者直接使用devstack/sample/local.conf,

cp /home/devstack/samples/local.conf    /home/devstack/local.conf

记得手动修改HOST_IP

七、安装devstack

安装devstack痛苦的其中一个原因,是OpenStack代码,都需要从github下载,这样由于网络的原因,经常导致各种错误,简直让人崩溃,各种错误,也根本无法通过google来解决。
目前国内已经提供了完整的OpenStack的github的mirror。
http://git.trystack.cn
这样Devstack成功概率会大大提高。
另外devstack还会下载image,下载的过程也是非常缓慢。trystack也提供大家常用的image下载。
http://images.trystack.cn
要使用trystack源,只需要往上一步的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#OFFLINE=TrueRECLONE=True# Define images to be automatically downloaded during the DevStack built process.DOWNLOAD_DEFAULT_IMAGES=FalseIMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"
此外,修改pip源可以加快安装速度,国内可以使用豆瓣源
在/root主目录下创建.pip文件夹
mkdir ~/.pip
然后在该目录下创建pip.conf文件编写如下内容:
[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple

然后运行
./stack.sh    
等待安装部署即可。

参考文章:
http://www.chenshake.com/openstack-project-series-3-devstack/

http://my.oschina.net/u/2381034/blog/491610?p=1

1 0
原创粉丝点击