关于OpenStack的学习路线及相关资源汇总

首先咱们想学习openstack,那么
openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更深层次的理解,当咱们看到dashboard的时候,咱们或许对openstack感受有一点感性认识了。dashboard能够理解为openstack与用户交流的一个窗口,而dashboard对于真正的使用者来说,它的功能上面有必定的局限性。而对于初学者经过它,可能会对openstack有必定的了解。openstack能干什么,能够搭建公有云,私有云,企业云。
openstack由哪些部分来组成:
css

  • Identity(代号为“Keystone”)
  • Dashboard(代号为“Horizon”)
  • Image Service(代号为“Glance”)
  • Network(代号为“Quantum”)
  • Object Storage(代号为“Swift”)
  • Block Storage(代号为“Cinder”)

<ignore_js_op style='font: 14px/21px Tahoma, "Microsoft Yahei", Simsun; color: rgb(68, 68, 68); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; -ms-word-wrap: break-word; widows: 1; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px;'> 
上面给你们一个初步认识,详细可查看
一分钟快速入门openstack
浅谈OpenStack与虚拟机的区别与联系
OpenStack是什么,OpenStack详解

------------------------------------------------------------------------------------------------------------------------------------------
咱们了解了openstack,明白它是什么,咱们接着就会进入实践阶段,搭建openstack是最基本的。该怎么搭建,若是你是传统程序员,没有接触过运维,不懂虚拟化,不懂Linux,彷佛这个困难度就变大了。那么须要掌握哪些知识才能在搭建openstack的过程当中,遇到较少的困难。

咱们须要懂Linux,懂虚拟化,这些须要达到什么程度

Linux须要懂基本的命令,可以配置网络
虚拟化须要会使用虚拟机安装Linux操做系统,可以在三种网络模式下,如何ping通外网。
具体该怎么作,下面给你们一些参考,而这些也是在学习openstack过程当中,你们共同遇到的问题,详细内容以下:
你们能够参考:
集群搭建必备,云技术基础:Linux及虚拟化知识学习指导(hadoop、openstack)

上面的帖子,其中包括了内下内容:
html

VMware workstation安装linux(ubuntu)配置详解java

虚拟网卡概述node

VMware虚拟机网络设置方法python

虚拟机(Linux操做系统)三种网络模式切换遇到的问题mysql

云技术基础:学习hadoop使用零基础linux(Ubuntu)笔记linux

搭建集群必知:Linux经常使用命令及修改文件总结(不断更新)   git

linux入门详细介绍程序员

虚拟机安装linux网络配置资料大全github

linux入门大全:包括零基础入门,Linux详细介绍

Linux重启方式init 0 init1 init 3 init 5 init 6 这几个启动级别都表明什么意思?

Ubuntu经常使用命令总结及修改DNS的多种方法总结

Linux关机各类关机命令总结

Linux基础必懂:eth0,eth1,eth2,lo是什么意思?

linux中pwd命令详解

linux之vi编辑器

linux yum命令详解

Linux下chkconfig命令详解

分析:

你们一看连接有点多,其实这是花费了一两个月,才会有此总结,你们想一口气看完,估计只能囫囵吞枣。上面的知识该如何运用,首先咱们须要搭建环境,

新手指导windows使用虚拟机安装Linux(ubuntu):包括下载及安装指导

VMware workstation安装linux(ubuntu)配置详解


使用上面连接便可。
而后咱们搭建完会遇到各类问题,好比Linux命令不会,网络ping不一样。咱们可使用下面连接

搭建集群必知:Linux经常使用命令及修改文件总结(不断更新)  

linux入门详细介绍

linux入门大全:包括零基础入门,Linux详细介绍

Linux重启方式init 0 init1 init 3 init 5 init 6 这几个启动级别都表明什么意思?

Ubuntu经常使用命令总结及修改DNS的多种方法总结

Linux关机各类关机命令总结

Linux基础必懂:eth0,eth1,eth2,lo是什么意思?

linux中pwd命令详解

linux之vi编辑器

linux yum命令详解

Linux下chkconfig命令详解

上面知识具有了,咱们才有下面的成果

集群搭建:主机宽带拨号上网,虚拟机使用桥接模式,该如何ping通外网

集群搭建必备:虚拟机之一实现Host-only方式上网

集群搭建必备:nat模式设置静态ip,达到上网与主机相互通讯




一样还有其它知识好比:
虚拟化零基础入门
搭建集群必备虚拟化网络知识
虚拟网卡概述

这些大致了解便可。
---------------------------------------------------------------------------------------------------------
有了上面的基础,咱们就须要搭建openstack了。
openstack零基础入门:OpenStack Grizzly安装指导(1)

openstack零基础入门:OpenStack Grizzly安装指导(2)




上面搭建过程当中,可能你还缺少一些知识,不然即便搭建完毕,你可能也不知道怎么回事。那么该具有哪些知识。这里从上面帖子中提取了一些须要了解的知识,供你们参考:
安装openstack过程当中:Linux for循环的做用是什么?

安装openstack过程当中:sed命令的做用是什么

安装openstack过程当中:如何添加源,echo,<<分别表明什么意思?

安装openstack过程当中:RabbitMQ与NTP是什么

学习openstack之linux mysql 操做命令汇总

新手安装openstack之命令apt-get install -y vlan bridge-utils的做用是什么

-------------------------------------------------------------------------------------------------------------------------------------------------
安装完毕,咱们该如何使用
由于如今版本比较多,可是基本的操做都是相同的,能够参考下面内容:
OpenStack Folsom 版搭建云平台基本操做使用指南

使用openstack,常用一些命令,可是又常常忘记,这里整理了一下
使用过过程当中,咱们会遇到各类问题,具体能够查看
openstack排除查找错误的两种方法

Openstack使用问题总结(1)

openstack碰到的一些问题总结(2)

使用openstack遇到的问题

openstack镜像制做思路、指导及问题总结

------------------------------------------------------------------------------------------------------------------------------------------
对于不知足于使用,二次开发openstack该如何学习:
能够参考下面内容:
OpenStack开发者入门

OpenStack新手开发指南

创建openstack quantum开发环境

OpenStack源码如何查看debug信息

由于openstack主要由python来开发的,下面内容供你们参考:

openstack编程:Python学习手册 第3版

Python核心编程下载分享

openstack编程:Python标准库分享

openstack编程:python基础知识总结

openstack二次开发:Python API

OpenStack 学习资源整理

 

Openstack最好的资料确定是英文,推荐几个blog,这基本是我每周必看

http://www.mirantis.com/blog/ 

http://www.sebastien-han.fr/blog/

Grizzly的开发进度,这个你们比较关心,如今终于能够在一个页面看到所有项目的进展

http://wiki.openstack.org/releasestatus/

 

1: Keystone白皮书

这是Canonical出品, 质量仍是有保证的.咱们日常设置keystone,都是使用脚本进行设置,导入数据,这样能够减小咱们出错,不过也形成咱们对keystone没法深刻理解. 这是一步一步的安装过程,应该能够很好帮助你理解keystone的设置

http://docs.openstack.org/developer/keystone/configuringservices.html

http://docs.openstack.org/developer/keystone/middlewarearchitecture.html

这个开发的文档,解析的更加清楚。

 

2: Openstack Nova 请求流程

对于Nova来讲,实际上是有不一样的组件构成,要想搞明白Nova,先要了解他的工做流程。这份文档是国外一家但愿从事Openstack培训的公司MIRANTIS推出,质量很是高,值得部门内部统一学习。

 

3:Openstack 2天培训教程

这也是MIRANTIS公司推出,介绍很是详细,包括schedule。

 

4:OpenStack Beginner’s Guide V3.0 for Essex on Ubuntu 12.04

这是老外写的Openstack安装文档,已是第三个版本,内容覆盖Openstack全部组件的安装,还有各类虚拟机模板,包括windows虚拟机模板的建立。这位做者9月份要出一本关于Openstack方面的书,很是值得期待。

文档的资料很高,而且还能够提交不过 https://bugs.launchpad.net/openstackbook 

国内已经有朋友翻译成中文:http://blog.chinaunix.net/uid-22414998-id-3265685.html

 

5:dvestack安装脚本

要想了解Openstack最新的技术,进展,那么关注devstack脚本就能够。能够这样说,整合到devstack的应用,才算是比较稳定。这是Rackspace工程师搞的。例如你但愿玩nova支持xen,LXC,均可以从devstack脚本入手,搞明白整个安装的过程。

 

6:image下载

若是你不但愿本身作image或者使用现成的image,能够有两个选择,ubuntu官方推出的和cirros

https://launchpad.net/cirros

http://cloud-images.ubuntu.com/

你们能够选择qcow2格式的,这样能更加体现kvm的优点。

 

6:swift开发者blog

blog更新不是很频繁,不过能够了解不少swift的基本知识。

sina程辉也写了一篇很是给力的文档http://www.programmer.com.cn/12403/

发现csdn仍是作了很多的工做。

 

7:Installing OpenStack Essex (2012.1) on Ubuntu 12.04 (“Precise Pangolin”)

该文档已经集成swift。算是一个很是完整的文档,我也是参考该文档写的中文版本。这应该是Essex发布之后,第一篇完整的安装文档。

 

 

 

8:   install Openstack Essex in single-node or dual node with Ubuntu 12.04 LTS.

这位朋友,直接把文档放到github上,而且还提供pdf和word两种版本,所有的配置文件,启动脚本。没啥挑剔。

做者是stackops的成员,技术不容怀疑。

文档最大的特色就是集成quantum。quantum是用来替代nova-network。很是前沿。你就算不打算用quantum,也是能够参考学习。

 

9:   Openstack-Anvil

这是雅虎团队用python写的脚本,基于devstack。老外就是牛啊。同事学习脚本半天,说了一句,用了不少高级语法。

 

10: Install-Your-Own-OpenStack-Cloud-Essex-Edition

这个文档,网络是采用vlan模式。很是值得去学习。而且还提到配置LXC。有时间真的要深刻了解一下。

 

11:HP cloud blog

这是HP运营openstack的blog,文档质量很是高。

 

12: CentOS 6.x安装Openstack

这是Fedora的官方文档,质量无可置疑。一直都在更新。

国人贡献了一套脚本,至少我能勉强看明白,写的仍是很不错的。北京-李强(290578157)https://github.com/ktbvds/auto_deploy_linux/blob/master/openstack/openstack.sh

资料愈来愈多,朋友专门写了一个文档,

http://www.longgeek.com/2012/07/30/rhel-6-2-openstack-essex-install-only-one-node/

 

13:国外Openstack blog

法国学生blog:一个学生就那么牛,国内高校要思考一下:http://www.sebastien-han.fr/blog/

Openstack专家:http://dijks.wordpress.com/

 

14:  dodai-deploy

看上去很是不错,怎么感受这个是华人搞的项目呢?改天和做者交流一下。

https://github.com/nii-cloud

 

15:swift资料

swift成本,这篇文档应该是很是经典 http://www.buildcloudstorage.com/2012/01/can-openstack-swift-hit-amazon-s3-like.html#more

swift可靠性:http://www.buildcloudstorage.com/2012/08/is-openstack-swift-reliable-enough-for.html

swift和ssd:http://www.zmanda.com/blogs/?p=847 

swift基本原理介绍

http://www.mirantis.com/blog/object-storage-openstack-cloud-swift-ceph/

http://mirantis.blogspot.com/2012/02/under-hood-of-swift-ring.html

 

讲的应该是很是深刻和透彻,我也正在学习中。 

 

16:Altai Private Cloud

http://www.griddynamics.com/solutions/altai-private-cloud-for-developers/release/

这应该是基于Centos 6.x, 这是一个咨询公司,最先提供Centos 6.x的Openstack的rpm包。为openstack贡献了不少代码。值得关注的公司。改天能够好好测试一下他们的产品。

http://openstackgd.wordpress.com/ 

 

17:思科版本的Openstack

集成puppet,cobbler,监控。争取早点搭建起来,看看监控是怎么实现的。 

 

18:java sdk

不少朋友常常问,能不能用java来作dashboard开发。我相信若是直接用java来作,确定是很累的事情。有朋友提供java sdk,而且还搞了一个dashboard,你们能够参考学习学习。

web http://woorea.github.com/openstack-ui/

 

19:Quantum学习资料

quantum是一个难点,整理一下资料,学习中

http://wiki.openstack.org/ConfigureOpenvswitch

quantum全面介绍  MIRANRIS出品,必属精品

官方的quantum文档 

使用devstack安装和设置quantum http://networkstatic.net/openstack-folsom-quantum-devstack-installation-tutorial/

 

quantum的难点在openvswitch,这位朋友的blog,你是必定要看的:http://blog.scottlowe.org/

 

20:Essex和Folsom的vlan模式的脚本

https://github.com/neophilo/openstack-scripts/blob/master/Folsom-AIO.sh

你们能够看看这个脚本。vlan模式。 

 

 

21:Folsom的安装

quantum是一个比较麻烦的东西,目前文档仍是很缺少,并且不多解析。不过下面几篇文档,若是你有时间深刻研究,应该会搞明白更多。

  安装脚本

https://github.com/jedipunkz/openstack_folsom_deploy

devstack安装quantum

http://networkstatic.net/openstack-folsom-quantum-devstack-installation-tutorial/

安装文档

https://github.com/EmilienM/openstack-folsom-guide

https://github.com/mseknibilel/OpenStack-Folsom-Install-guide/blob/master/OpenStack_Folsom_Install_Guide_WebVersion.rst

 

22:Redhat Folsom资料

  https://access.redhat.com/knowledge/docs/Red_Hat_OpenStack_Preview/?locale=en-US

目前Redhat提供了Essex版本升级Folsom版本的功能,这个真的是很是不错,至少目前我没看到ubuntu有相似的介绍。

不过Redhat目前这个文档是有问题,仍是日本人厉害,一我的发现Redhat的folsom版本7,8个bug,都提交确认。

http://d.hatena.ne.jp/enakai00/20121118/1353226066

 

 

 

国内中文资料

 

彭勇,openstack开发者, http://www.pubyun.com/blog/

 

趣游,国内最先公开运营Openstack公司 http://blog.lightcloud.cn/

 

国人整理的FAQ:http://blog.csdn.net/hilyoo/article/details/7746634

 

张华blog:http://blog.csdn.net/quqi99  (不少人常常问openstack的开发环境如何搭建,估计这位朋友有答案,http://blog.csdn.net/quqi99/article/details/7411091  这位朋友好像是openstack的开发者.

 

 学习清单

陈沙克: openstack
quqi99: 如何学习OpenStack与精通OpenStack好书推荐 ( by quqi99 )
kong: 【OpenStack】学习OpenStack的历程--送给初学者
Unitedstack: 博客 - UnitedStack
IBM openstack: IBM developerWorks 中国 : Cloud computing : 文档库
IBM developerWorks 中国 : Cloud computing : 文档库sort_by=&show_abstract=true&show_all=&search_flag=&contentarea_by=Cloud+computing&search_by=openstack&product_by=-1&topic_by=-1&type_by=%E6%89%80%E6%9C%89%E7%B1%BB%E5%88%AB&ibm-search=%E6%90%9C%E7%B4%A2
IBM 龚永生: 
OpenStack官方博客: The OpenStack Blog
me: OpenStack - lin_victor的专栏 (待更新)

其余:
openstack资源整理: OpenStack资源整理(转自陈沙克)
OpenStack 源码解读及相关: 学习Python动态扩展包stevedore

进阶:
OpenStack 管理员手册: 
OpenStack 开发手册: OpenStack Docs: Developers
HowTo Contribute: How To Contribute
Final:
1. 官网 + WIKI: Home » OpenStack Open Source Cloud Computing Software
2. 邮件列表: Mailing Lists
3. 源码: openstack (OpenStack) 路 GitHub
4. bugs, features, QA: OpenStack in Launchpad (选择合适的子项目 (Projects))
5. 代码审核: Gerrit Code Review
6. 文档库: OpenStack Docs: Current
7. IRC: UsingIRC - OpenStack
IRC - OpenStack
8. OpenStack会 + IRC: Meetings - OpenStack