1、它是什么,能干什么
想认识一个事物,必须先弄明白它是什么,能干什么。
首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,可是我以为说是一个软件,可以让你们认识更清晰些。openstack能干什么,能够搭建公有云,私有云,企业云。(顺便说一下,企业云将是openstack的用武之地)linux
2、openstack组成
上面是一个总体的认识,想进一步了解openstack,就必须了解它的组成。其实这有点像研究生物。通常生物都有眼睛,鼻子,嘴等。那么openstack,都有什么。openstack更像是通过计算机的72变以后的产物。包括:7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。
上面从计算机的角度作一个比喻,有不恰当的地方,你们多指正。Compute相似计算的内存;Object Storage相似存储器;Identity就像登录过程当中,验证用户名和密码;Dashboard就操做界面;Network这个你们很容易就明白。
3、openstack组件代号
上面各个组件有名字,其实熟悉openstack的都会说他们的代号。也就是专业术语。Compute(代号为“Nova”)
Identity(代号为“Keystone”)
Dashboard(代号为“Horizon”)
Image Service(代号为“Glance”)
Network(代号为“Quantum”)
Object Storage(代号为“Swift”)
Block Storage(代号为“Cinder”)
4、openstack组件详细介绍
上面了解了,就差很少有点熟悉openstack了。想进一步认识,必须不能着急。下面进一步详细介绍各个组件的做用:
(1)Nova
这个是最核心的,Nova最开始的时候,能够说是一套虚拟化管理程序,还能够管理网络和存储。
(2)keystone
这是提供身份认证和受权的组件。任何系统,身份认证和受权,其实都比较复杂。尤为Openstack 那么庞大的项目,每一个组件都须要使用统一认证和受权。
目前keystone 要作的东西其实仍是不少。无法基于角色的受权,web管理用户等。web
(3)Dashboard
(代号为“Horizon”) 为全部OpenStack的服务提供了一个模块化的web-based用户界面。使用这个Web GUI,能够在云上完成大多数的操做,如启动实例,分配IP地址,设置访问控制等。
(4)Glance
这是镜像管理。
目前Glance的镜像存储,支持本地存储,NFS,swift,sheepdog和Ceph,基本是够用了。
目前Glance的最大需求就是多个数据中心的镜像管理,如何复制,不过这个功能已经基本实现。还有就是租户私有的image管理,这些目前功能都已经实现。
我的感受:Glance后续基本就是一个bug修复,稳定的阶段。
(5)Quantum
这是网络管理的组件,也是重头戏,Openstack的将来,基本都要靠quantum。上面介绍nova的时候,说过网络相关的内容,都会交给Quantum。不过Quantum的开发进度不是太如人意。Flosom规划实现功能,到Grizzly才实现。将来nova network的代码清理,估计到H版本都不见得能够实现。
Quantum 后端能够是商业产品或者开源。开源产品支持Openvswitch,和linux bridge。网络设备厂商都在积极参与,让他们的产品支持Quantum。
(6)Swift
这是对象存储的组件。对于大部分用户来讲,swift不是必须的。你只有存储数量到必定级别,并且是非结构化数据才有这样的需求。不少人都问一个相同的问题:是否能够把虚拟机的存储放在swift上。简单回答:不行。你须要搞明白对象存储是干啥,擅长那些地方,那些是不行的。
swift是Openstack全部组件了最成熟的,能够在线升级版本,各类版本能够混合在一块儿,也就是说,1.75版本的swift能够和1.48的在一个群集里.这个是很可贵的.
(7)Cinder
这是存储管理的组件。Cinder存储管理主要是指虚拟机的存储管理。swift