用DevStack安装OpenStack(单机)

这里写图片描述

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。但是安装OpenStack却不是那么容易的,让许多初学者望而却步。想体验一下OpenStack的魅力,可以使用DevStack来安装OpenStack。

转载请注明出处:

http://blog.csdn.net/gane_cheng/article/details/53538203

http://www.ganecheng.tech/blog/53538203.html (浏览效果更好)

概念简介

OpenStack:OpenStack是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。OpenStack是用Python编程语言编写的。

DevStack:可以自动安装OpenStack的工具。

OpenStack核心项目:OpenStack是由很多核心项目组合在一起的。

计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。

对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中。

镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。

身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。

网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。

块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。

UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。

pip:是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,DevStack安装OpenStack的时候会使用到这个工具。使用教程可以参考 这里

安装准备

OpenStack部署在Linux机器上。经过我的测试在Ubuntu 14.04 Server版上安装OpenStack Mitaka版本比较稳定。为了操作方便,我的Ubuntu是安装在VMware Workstation 12虚拟机上的。

Ubuntu 14.04 Server版下载链接在这里。

magnet:?xt=urn:btih:0A4193F50658C7F195288BFD84A1B067697E21A2

OpenStack需要在线安装。源码在这里。

https://github.com/openstack

DevStack也需要在线安装。源码在这里。

https://git.openstack.org/cgit/openstack-dev/devstack

但是,国外的网站在国内访问速度是非常慢的。我们需要替换为国内访问比较畅快的资源。

Ubuntu 源可以替换为国内的阿里源。

http://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:14.04source

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

DNS也可以换成阿里的DNS。

nameserver 223.5.5.5
nameserver 223.6.6.6

DevStack和OpenStack源码可以替换为TryStack镜像。

http://git.trystack.cn/cgit

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

pip源地址也可以换为国内的豆瓣源。

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

经过这些准备,OpenStack安装成功率会提高很多。

操作步骤

安装Ubuntu

下载镜像,然后在虚拟机中安装,至少需要安装OpenSSH Server,方便远程连接。

配置网络

OpenStack至少需要两个网卡,一个用于连接外部网络,一个用于连接内部网络

外部网络
公共网络,外部或Internet可以访问的网络。

内部网络
管理网络,用于OpenStack组件以及MySQL DB Server, RabbitMQ messaging server之间的通信。

我的虚拟机网络是这样配置的。

网络名称类型子网IP子网掩码子网网关
外部网络VMnet0桥接模式192.168.0.0255.255.255.0192.168.0.1
内部网络VMnet8NAT模式10.0.0.0255.255.255.010.0.0.2

在Ubuntu中网络是这样设置的,设置完了,可以重启一下电脑生效。

root@us14:~# vi /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.15
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 223.5.5.5 223.6.6.6

配置pip源

root@us14:~# mkdir /root/.pip
root@us14:~# vi /root/.pip/pip.conf

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

下载DevStack

安装git并下载最新版的devstack。

root@us14:~# apt-get install git   
root@us14:~# cd /home
root@us14:~# git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka  

创建stack用户

目前DevStack脚本已经不支持直接使用root身份运行,你需要创建stack用户来运行。

在非root用户下创建stack用户并设置密码。

us14@us14:~$ sudo chown –R $USER:$USER /home/devstack
us14@us14:~$ cd /home/devstack/tools/
us14@us14:~$ sudo ./create-stack-user.sh
us14@us14:~$ sudo passwd stack

授权stack用户

在root用户下给stack用户授权。编辑/etc/sudoers,找到这一行 root ALL=(ALL:ALL) ALL,在下面加上一行 stack ALL=(ALL:ALL) ALL。

root@us14:~# vi /etc/sudoers

# User privilege specification
root ALL=(ALL:ALL) ALL
stack ALL=(ALL:ALL) ALL

root@us14:~# chown –R stack:stack /home/devstack
root@us14:~# chown –R stack:stack /opt/stack

创建local.conf文件

进入/home/devstack目录,编辑local.conf文件(没有就新建)。

root@us14:~# cd /home/devstack/
root@us14:/home/devstack# vi local.conf

在文件中添加如下内容。网络的地方需要根据自己的实际情况修改。

[[local|localrc]]

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

#OFFLINE=True
RECLONE=True

# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"

HOST_IP=192.168.0.15


# Credentials
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass

HORIZON_BRANCH=stable/mitaka
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka


#keystone
KEYSTONE_TOKEN_FORMAT=UUID

##Heat
HEAT_BRANCH=stable/mitaka
enable_service h-eng h-api h-api-cfn h-api-cw


## Swift
SWIFT_BRANCH=stable/mitaka
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44136573e209e


# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron

## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.0.0/24"
FIXED_RANGE="10.0.0.0/24"
NETWORK_GATEWAY="10.0.0.2"
Q_FLOATING_ALLOCATION_POOL=start=192.168.0.150,end=192.168.0.180
PUBLIC_NETWORK_GATEWAY="192.168.0.1"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

# #VLAN configuration.
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True

# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

以stack用户身份运行脚本安装

root@us14:/home/devstack# su stack
stack@us14:/home/devstack$ ./stack.sh

根据网络情况,安装速度有差别,等最后出现图中所示,则说明安装成功。

这里写图片描述

访问图中Horizon链接即可使用OpenStack虚拟一台云服务器出来。

这里写图片描述

重启机器服务不能自动重启

将/home/devstack/local.conf文件中的离线模式打开。重新以stack用户身份运行一下脚本。

#OFFLINE=True
RECLONE=True

变为

OFFLINE=False
RECLONE=False

操作视频下载

百度网盘链接:http://pan.baidu.com/s/1dEVUPUD 密码:mkw9

微云链接:https://share.weiyun.com/ffdc7041096da5e280fc3602b0026f7e (密码:Vl5Cqn)

优酷网址。

http://v.youku.com/v_show/id_XMTg1NjY1MTg4OA

爱奇艺网址。

http://www.iqiyi.com/w_19rukcofy1.html

参考文献

http://docs.openstack.org/developer/devstack/

https://my.oschina.net/u/1179767/blog/735035

http://www.chenshake.com/openstack-project-series-3-devstack/

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Devstack是一个用于快速部署OpenStack的工具。以下是使用Devstack部署OpenStack的一些基本步骤: 1. 确保你的服务器满足最低要求,包括硬件要求和操作系统要求。 2. 下载并安装Devstack。你可以从Devstack的官方GitHub页面下载安装包,或者使用Git从GitHub上克隆Devstack的代码。 3. 配置Devstack。你需要修改Devstack的配置文件来指定要安装OpenStack组件和各个组件的参数。 4. 运行Devstack安装脚本。运行安装脚本后,Devstack将自动下载和安装OpenStack组件。 5. 等待安装完成。安装过程可能需要一段时间,具体时间取决于你的服务器性能和网络速度。 6. 验证OpenStack安装是否成功。你可以通过命令行工具或OpenStack的Web界面来验证OpenStack安装是否成功。 请注意,Devstack是一个用于测试和开发的工具,不适用于生产环境。如果你要在生产环境中部署OpenStack,建议使用更为稳定和安全的部署工具。 ### 回答2: DevStack是一款开源的OpenStack部署工具,使用它可以快速构建OpenStack的开发环境。在线上环境中的OpenStack是一个非常庞大复杂的系统,包含了多个组件,如Nova、Glance、Neutron等,要手动安装和管理这些组件需要一定的技术水平和时间成本。而DevStack在这方面给开发者带来了极大的便利,只需要简单的几条命令,就能轻松地搭建OpenStack环境。 DevStack的部署步骤如下: 1. 安装依赖项:DevStack基于Python语言实现,所以需要首先安装Python、git等依赖项。 2. 下载DevStack脚本:将DevStack官方提供的脚本文件clone到本地。 3. 配置DevStack参数:对于DevStack,需要进行一些简单的配置。这些参数包括主机名、IP地址、密码、数据库名称等等。 4. 运行DevStack安装命令:执行DevStack脚本,系统将自动下载、安装和配置OpenStack组件。 5. 验证OpenStack环境:安装完成后,可以通过一系列的命令来验证OpenStack环境的发布情况,如nova service-list、neutron net-list等等。 总的来说,DevStack可以帮助开发者轻松地搭建OpenStack的开发环境,大大减少了环境搭建时间和难度。不过,由于OpenStack在在线上场景中是一个非常庞大的系统,所以在实际部署过程中,建议对DevStack命令进行逐一分析,保证OpenStack环境的稳定性和可靠性。 ### 回答3: OpenStack是一个开源的云计算平台,它可以提供基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)等服务。DevStack是一种OpenStack的部署方案,它主要是为了方便开发者在本地环境下测试和开发OpenStack而设计的。本文将从以下几个方面来介绍DevStack部署OpenStack。 一、环境准备 在部署之前,需要确保环境中有足够的内存和CPU资源,并且已经安装了Git和Python。此外,还需要为OpenStack的虚拟机创建一个网络环境,并确保主机和虚拟机可以相互通信。 二、下载并安装DevStack 下载最新的DevStack源代码并解压。 $ git clone https://github.com/openstack-dev/devstack.git $ cd devstack $ ./stack.sh 在安装期间需要输入OpenStack的相关设置信息,例如管理员账户和密码,虚拟机IP地址等。最后,DevStack会自动安装和配置OpenStack的各个组件。 三、检查OpenStack状态 安装完成后,可以使用OpenStack的命令行工具或Web界面来验证OpenStack的状态。在命令行中可以使用以下命令来获取OpenStack的状态信息: $ source /opt/stack/devstack/accrc/admin/admin $ openstack service list $ openstack endpoint list $ openstack project list $ openstack user list 如果OpenStack的状态全部正常,则说明DevStack已经成功完成了OpenStack的部署。 四、常见问题及解决方法 在部署OpenStack的过程中,可能会遇到一些问题。以下是一些常见的问题及解决方法: 1. VM无法启动:可能是因为虚拟化环境无法正常工作,可以检查CPU的虚拟化支持是否开启。 2. Nova服务无法成功启动:可能是因为虚拟机网络未正常配置,可以检查nova网络的配置和网络连接。 3. 网络出现问题:可能是因为网络配置错误,可以检查网络的IP地址和子网掩码等配置信息。 总之,使用DevStack可以快速方便地部署OpenStack,提高开发者的工作效率。通过阅读本文的介绍,相信大家对DevStack部署OpenStack有了更深入的理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gane_Cheng

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值