【转】《从入门到精通云服务器》第六讲—OpenStack基础

  前五期的《从入门到精通云服务器》受到了普遍好评,收到留言,有不少读者对云计算相关的技术很是感兴趣。应观众要求,咱们这期要安利一条纯技术内容。准备好瓜子、花生,随小编一块儿进入OpenStack 基础知识大讲堂吧。服务器

  了解OpenStack网络

  OpenStack 是最火的开源软件之一,活跃度呈指数级别上升;它是一组开源项目,诞生之初是由两个项目组成,目前十几个项目;它是一个云操做系统,OpenStack is a cloud operating system that …框架

  OpenStack 管理的资源不是单机的而是一个分布的系统,把分布的计算、存储、网络、设备、资源组织起来,造成一个完整的云计算系统;OpenStack 也提供一个 UI,这里包括一个图形化的 UI:Horizon,也提供命令行的界面,还提供了一套 API 支持用户开发本身的软件……分布式

  OpenStack 是用 Python 实现的软件。oop

  分布式系统的逻辑很是复杂,因此用更高级的语言去作,能够把精力更多的放在逻辑上,而不是说纠结与底层的细节,由于高级语言的底层机制已经优化的很是好了,C/C++ 写出来的东西性能不必定就真高;事实上在分布式系统这个领域,有不少很好的例证,比方说 OpenStack 用 Python 写的,Hadoop 使用 Java 写的,UC Berkeley 的 Spark 使用 Scala 语言写的,Twitter Storm 是用 Clojure 语言开发的,这些都是很著名的分布式系统,都是用的更高层的语言而不是 C性能

  OpenStack的特色优化

  OpenStack 是一套框架 —— API,它有两个特色:云计算

  它是一个中间层,能够建立、管理和销毁虚拟机,可是要完成这些操做须要依赖于第三方的 Hypervisor,经过这个 Hypervisor 去完成虚拟化的工做,OpenStack 并不能本身去提供一个虚拟化的运行环境,OpenStack 有个组件叫 Cinder(用来提供块存储服务的),可是 OpenStack 本身并不能进行数据的存储和读写,它须要依赖一个实际的块存储设备的支持,这个设备能够是一个分布式的存储系统,好比说 Ceph,也能够是一个存储设备,好比说 EMC 的 SAN,也能够是存储服务器的本地硬盘,可是它必须依赖一个存储设备的支持,OpenStack 自己并不具有这个功能。OpenStack 是一个中间层。操作系统

  框架有一个很重要的特色,那就是它能提供一批 API 去支持应用的开发,这也是咱们业内对框架的一个定义,OpenStack 固然也有这个特色,云计算的愿景就是让用户可以像用电同样去使用计算,OpenStack 的设计也是朝着这个愿景去作设计的,可是实际上咱们平时是不能直接用电的,咱们须要用的是电冰箱、电脑、电视等等这些电器。同理,对于云计算来讲,提供 API 去支持开发应用这个事情就合情合理的很是的重要了,具备完备的 API 是 OpenStack 的突出优势。命令行

  OpenStack ≠虚拟化软件

  第一,它不是虚拟化软件(必须知道这点),OpenStack 虽然管理虚拟机,但不具有虚拟化的功能,它给上层提供一个虚拟化的运行环境,必须得依赖一个第三方的虚拟化软件来实现,好比默认支持的 Linux 内核虚拟机,装完 Linux 以后就自动带了,集成到 Linux 内核里面了(KVM),另外它还支持 Xen,还支持微软的 Hyper-V,支持 VMware 的 Vshpere,还支持像 Linux Container 和 Docker 这样轻量级的虚拟化技术。总之,OpenStack 自己不提供虚拟化,依赖第三方软件。

  须要了解的第二层含义:这个云化和虚拟化其实是不同的,云 != 虚拟化,云化的目的是为了实现效用计算,弹性计算,动态资源调度,多租户等这样的一些特性;而虚拟化只是实现云计算的这些特性中的一个技术手段而已,并且它不是必需的。比方说 IBM 的 Softlayer 是 IBM 主推的云服务之一,它中间有一个很是大的特色就是,它支持 Bare Metal Server,直译过来就是 “金属裸机”,也就是 Softlayer 在上面不作虚拟化,而是直接用物理服务器来实现云,直接给用户、租户提供的就是物理服务器,Softlayer 也能够在上面来实现多租户 、弹性计算等等特性。总之,Softlayer 没有虚拟化,可是 Softlayer 也作了云。第二个例子是 OpenStack 也有一个项目叫做 Ironic,是为了经过管理 “金属裸机”来实现云从而提出的项目。

  OpenStack资源管理

  OpenStack 做为一个操做系统,管理资源是它的首要任务;

  OpenStack 管理资源主要有三个方面:计算、存储和网络。

  OpenStack 对资源进行管理,而且以服务的形式提供给上层应用或者用户去使用。这些资源的管理是经过 OpenStack 中的各个项目来实现的。

  其中计算资源管理相关的项目是 Nova(又称为 OpenStack Compute);

  存储相关的主要有块存储服务 Cinder、对象存储服务 Swift、镜像存储服务 Glance 这三种;

  与网络相关的主要是一个和软件定义网络相关的项目叫做 Neutron;另外,Nova 中间有一个管理网络的模块叫做 Nova Network,做为一个比较稳定的遗留组件仍在 OpenStack 里面和 Neutron 并存,咱们在小规模部署里面常常为了追求这种稳定,而且减小工做量会去使用 Nova Network 这样的一个组件来对网络资源进行管理。

相关文章
相关标签/搜索