一、它是什么,能干什么
想认识一个事物,必须先弄明白它是什么,能干什么。
首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让初学者更容易接受和理解,在后期的慢慢接触过程中,大家就能够理解,为什么说它不是一个软件。openstack能干什么,可以搭建公有云,私有云,企业云。(顺便说一下,企业云将是openstack的用武之地)
二、openstack组成
上面是一个整体的认识,想进一步了解openstack,就必须了解它的组成。其实这有点像研究生物。一般生物都有眼睛,鼻子,嘴等。那么openstack,都有什么。openstack更像是经过计算机的72变之后的产物。包括:7个核心组件:Compute(计算), Object Storage(对象存储),Identity(身份认证),Dashboard(仪表盘), Block Storage(块存储), Network(网络) 和 Image Service(镜像服务) 。
上面从计算机的角度做一个比喻,有不恰当的地方,大家多指正。Compute类似计算的内存;Object Storage类似存储器;Identity就像登陆过程中,验证用户名和密码;Dashboard就操作界面;Network这个大家很容易就明白。
三、openstack组件代号
上面各个组件有名字,其实熟悉openstack的都会说他们的代号。也就是专业术语。Compute(代号为“Nova”)
Identity(代号为“Keystone”)
Dashboard(代号为“Horizon”)
Image Service(代号为“Glance”)
Network(代号为“Quantum”)
Object Storage(代号为“Swift”)
Block Storage(代号为“Cinder”)
四、openstack组件详细介绍
上面了解了,就差不多有点熟悉openstack了。想进一步认识,必须不能着急。下面进一步详细介绍各个组件的作用:
(1)Nova
这个是最核心的,Nova最开始的时候,可以说是一套虚拟化管理程序,还可以管理网络和存储。
(2)keystone
这是提供身份认证和授权的组件。任何系统,身份认证和授权,其实都比较复杂。尤其Openstack 那么庞大的项目,每个组件都需要使用统一认证和授权。
目前keystone 要做的东西其实还是很多。没法基于角色的授权,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存储管理主要是指虚拟机的存储管理。