用DevStack安装OpenStack(单机)
来源:互联网 发布:qq管家抢软件 编辑:程序博客网 时间:2024/05/21 04:23
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 multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
DNS也可以换成阿里的DNS。
nameserver 223.5.5.5nameserver 223.6.6.6
DevStack和OpenStack源码可以替换为TryStack镜像。
http://git.trystack.cn/cgit
# 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
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之间的通信。
我的虚拟机网络是这样配置的。
在Ubuntu中网络是这样设置的,设置完了,可以重启一下电脑生效。
root@us14:~# vi /etc/network/interfacesauto eth0iface eth0 inet staticaddress 192.168.0.15netmask 255.255.255.0gateway 192.168.0.1dns-nameservers 223.5.5.5 223.6.6.6
配置pip源
root@us14:~# mkdir /root/.piproot@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 /homeroot@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/devstackus14@us14:~$ cd /home/devstack/tools/us14@us14:~$ sudo ./create-stack-user.shus14@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 specificationroot ALL=(ALL:ALL) ALLstack ALL=(ALL:ALL) ALLroot@us14:~# chown –R stack:stack /home/devstackroot@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 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"HOST_IP=192.168.0.15# CredentialsDATABASE_PASSWORD=passADMIN_PASSWORD=passSERVICE_PASSWORD=passSERVICE_TOKEN=passRABBIT_PASSWORD=passHORIZON_BRANCH=stable/mitakaKEYSTONE_BRANCH=stable/mitakaNOVA_BRANCH=stable/mitakaNEUTRON_BRANCH=stable/mitakaGLANCE_BRANCH=stable/mitakaCINDER_BRANCH=stable/mitaka#keystoneKEYSTONE_TOKEN_FORMAT=UUID##HeatHEAT_BRANCH=stable/mitakaenable_service h-eng h-api h-api-cfn h-api-cw## SwiftSWIFT_BRANCH=stable/mitakaENABLED_SERVICES+=,s-proxy,s-object,s-container,s-accountSWIFT_REPLICAS=1SWIFT_HASH=011688b44136573e209e# Enabling Neutron (network) Servicedisable_service n-netenable_service q-svcenable_service q-agtenable_service q-dhcpenable_service q-l3enable_service q-metaenable_service q-meteringenable_service neutron## Neutron optionsQ_USE_SECGROUP=TrueFLOATING_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.180PUBLIC_NETWORK_GATEWAY="192.168.0.1"Q_L3_ENABLED=TruePUBLIC_INTERFACE=eth0Q_USE_PROVIDERNET_FOR_PUBLIC=TrueOVS_PHYSICAL_BRIDGE=br-exPUBLIC_BRIDGE=br-exOVS_BRIDGE_MAPPINGS=public:br-ex# #VLAN configuration.Q_PLUGIN=ml2ENABLE_TENANT_VLANS=True# LoggingLOGFILE=/opt/stack/logs/stack.sh.logVERBOSE=TrueLOG_COLOR=TrueSCREEN_LOGDIR=/opt/stack/logs
以stack用户身份运行脚本安装
root@us14:/home/devstack# su stackstack@us14:/home/devstack$ ./stack.sh
根据网络情况,安装速度有差别,等最后出现图中所示,则说明安装成功。
访问图中Horizon链接即可使用OpenStack虚拟一台云服务器出来。
重启机器服务不能自动重启
将/home/devstack/local.conf文件中的离线模式打开。重新以stack用户身份运行一下脚本。
#OFFLINE=TrueRECLONE=True
变为
OFFLINE=FalseRECLONE=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/
- 用DevStack安装OpenStack(单机)
- ubuntu12.04上用devstack安装openstack
- Openstack 安装(devstack)
- devstack安装openstack
- devstack安装openstack
- devstack安装openstack日志
- devstack安装openstack 心得
- 使用devstack安装OpenStack
- openstack之DevStack安装
- devstack 安装openstack
- devstack脚本安装Openstack总结
- openstack,使用devstack安装记录
- [Openstack]使用devstack自动化安装
- Centos7 - devstack快速安装openstack
- devstack 安装openstack 注意点
- openstack devstack 安装与配置
- [openstack]proxy后devstack方式安装openstack
- 用devstack安装Openstack,解决重启无法登陆问题
- 7 python 动态绑定,@property的使用__slots_限制class的属性以及多重继承
- EditText 点击全选,再次点击取消全选
- Android简单制作自定义圆形头像
- Swagger UI 隐藏指定接口类或方法
- API设计要素
- 用DevStack安装OpenStack(单机)
- MySQL数据库获取汉字拼音的首字母函数
- win8下修改hosts文件
- va_list深究
- hbase 客户端超时、重连设置
- [编程题]求int型正整数在内存中存储时1的个数
- 20161209计算机科学导论04_试卷
- 图片上传至数据库(新浪云)的方法
- CodeForces 611BNew Year and Old Property