码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-20 06:43:16      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

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

  • 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)

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

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

虚拟网卡概述

VMware虚拟机网络设置方法

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

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

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

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命令详解

分析:

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

新手指导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

 

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

标签:

原文地址:http://www.cnblogs.com/huangyibo/p/4743964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!