转载

openstack晋级攻略

openstack是什么?

渣翻译:openstack是一个操控巨量计算,存储以及网络资源池的云操作系统,所有这些都能通过一个web接口的dashboard给予管理员操作并授权普通用户调度资源

原文:

What is OpenStack?   OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.  

openstack从诞生到现在,陆陆续续发布了13个版本,依次ABCD...的首字母命名,现在最新的版本是M,Mitaka。

根据官方的新闻稿,OpenStack的第13个版本――Mitaka聚焦于可管理性、可扩展性和终端用户体验三方面。用比较通俗的话来说,Mitaka的三大特色分别是:

第一,云部署和云管理者更简便了。作为一个 云平台 ,用户最关心的一是部署,让云计算系统快速上线;二是管理方便,云计算系统建立后,方便管理那是对用户而言和吃饭睡觉一样重要的事情。

第二,可扩展性持续改进。用户如果要增加更多的应用,就需要更多的硬件,要求方便增加计算能力,这种可扩展性就凸显出来了。Mitaka版本中可以处理更大的负载和更为复杂的横向扩展。

第三,提升用户的体验。Mitaka版本表明,开源社区正在致力于提升云的用户体验,这些用户体验不仅包括云运营者的体验,还包括了那些正在开发,或是正在云资源上部署应用的终端用户的体验。

参考: http://www.soft6.com/news/201604/11/302379.html

比如openstackclient这个通用命令行工具,虽然还没有完全集成所有组件的命令,但是很大一部分操作通过openstackclient就能搞定,再也不用镜像用glance xxx,虚拟机用nova xxx这种独立的命令了,直接openstack image 或者openstack flavor xxx就OK了

关于openstack架构的文章

OpenStack的架构详解

http://os.51cto.com/art/201205/336386.htm

了解了openstack是什么以及发布的一些信息之后就简单上手了,如果还是对openstack没有一个直观的认识,觉得太抽象,那么可以借助诸如devstack,rdo等一键安装部署工具,快速的部署一套openstack,在简单的使用之后就可以着手手动的安装了,如果不手动安装一遍,那么总觉得不够透彻,不管是故障处理还是配置文件的配置,总会吃不准,所以第二部应该是安装

官方文档写得及其精致,参考,如下

Installation Guide for openSUSE Leap 42.1 and SUSE Linux Enterprise Server 12 SP1 

Installation Guide for Red Hat Enterprise Linux 7 and CentOS 7 

Installation Guide for Ubuntu 14.04 (LTS)  

个人基于官方文档半翻译,半借鉴的文章,一定程度就是copy^_^,因为官方文档写得足够好了,参考

在centos7上安装openstack mitaka版本

http://youerning.blog.51cto.com/10513771/1769358

在安装的过程中自然不是一定一次性成功的,因为光是复制粘贴我都觉得看着有点眼花,遇到错误其实在一定程度上是好事,只有反复的对比相应的参数以及命令才能对其加深认识,再者很重要的一点就是,在安装前一定要有个全局的认识,不然出错了也不知道看哪个组件的日志,总得来说解决故障的两个方法就是,查看错误日志,以及google了。

过了安装的坎之后就是各组件的深入了解了。但是在此之前,应该首先了解各组件之间或者或openstack的通用技术,以及虚拟化。

虚拟化在一定意义上算得上云计算的核心吧。

了解虚拟化的什么呢?

虚拟化的实现方式

虚拟化工具

openstack的相关实现

下面是一些虚拟化相关文章

虚拟化解决方案大比拼 - 51CTO.COM

云计算:虚拟化技术―― 介绍

虚拟化技术概览

图解openstack-虚拟化与云服务

了解openstack的那些通用技术呢?

OpenStack的设计原则:项目之间通过RESTful API进行通信;项目内部通过,不同服务进程之间通过消息总线进行通讯

消息总线,消息队列

ORM(SQLAlchemy)以及数据库

RESTful API和WSGI

eventlet

openstack通用库

下面是一些相关文章

OpenStack消息队列AMQP基础知识 

RabbitMQ从入门到精通

SQLAlchemy介绍――OpenStack的数据库开发基础

SQLAlchemy指南(tutorial) 

RESTful与Openstack

RESTful API 设计指南

理解Python WSGI

Python高并发的网络编程库:eventlet

openstack nova 基础知识――eventlet 

最后就是现在的核心项目

nova, neutron, swift, cinder, keystone, glance

关于它们的相关文章就不赘述了,推荐一本书,非常用心的一本书。

《Open Stack设计与实现》

当然了,更建议先看这一本书,其实看了这本书,上面很多知识都囊括在其中了。

至此,理论知识,部署经验基本上有了一定得储备了,那么下一步就是用户操作。其中包括,Dashboard,command-line,Python-SDK,HOT使用。

最好的文章一定在docs.openstack.org

参考: http://docs.openstack.org/user-guide/

官方文章好的不要不要的,所以这里也就不赘述了,中文相关的文章不是写得太片面就是不实时。

再就是维护管理,这可能也是对于运维工程师最重要的一步了。

这一部分主要着重与以下几个方面。

一: 对于各组件的维护,操作,故障处理。

二: 高可用

三: 生产环境操作

四: 安全

五: 配置优化

六: 架构设计

七: 网络

最后就是开发了。

一: API

二: 开发

总结:总得来说学习如何一样东西都是从浅到深的过程,但是怎么学,怎么从浅到深还是需要一个路线的,这里谈的是个人的学习路线,仅作参考。

openstack的官方文档实在是大而全,精致而又详细。所以不管作为参考资料还是学习资源都是最有价值的资源了。

原文  http://youerning.blog.51cto.com/10513771/1769462
正文到此结束
Loading...