2.2.3 OpenStack七大核心组件
它是一个开源的云项目管理平台,由七部分组成,每一个组件都是多个服务的集合,而每一个都是一个运行进程。它们分别是计算、对象存储、认证、用户界面、块存储、网络和镜像服务。各组件的关系如图2.1所示。
1.计算(Compute):Nova
图2.1 OpenStack的七大核心组件
Nova是云组织的控制器。它提供一个部署云的工具,包括运行实例、管理网络以及控制用户和其他项目对云的访问。它的底层开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于Amazon EC2和Rackspace Cloud Servers。该计算服务是OpenStack的核心服务。计算服务通过Nova-compute模块提供虚拟机。它还提供了诸如EC2兼容性和控制的接口。
2.对象存储(Object Storage):Swift
Swift是一个可扩展的对象存储系统,支持多种应用,如复制和存储数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。
在OpenStack平台中,任何数据都是对象;Swift代理模块提供诸如HTTP(S)、OpenStack Object API和与S3兼容的访问接口。访问对象访问Swift-Proxy后,还需要通过账户、容器、对象三个模块来定位;这是因为OpenStack中的对象被描述为容器中的账户的对象。
3.镜像服务(Image):Glance
Glance的出现缘于虚拟机映像的管理。生成镜像后,需要将映像注册到系统的数据库中;实例化虚拟机时,需要将映像发送到具体的机器来启动虚拟机。所以,最重要的Glance接口是image的注册和传输。
4.块存储(Block Storage):Cinder
Cinder是存储管理的组成部分。许多人一直在努力实现AWS的EBS。OpenStack最终推出了自己的存储管理组件。在未来,如果存储供应商拥护Cinder,OpenStack的商业化仍然十分有利。对于企业来讲,利用分布式存储作为虚拟机并没有节约本钱,并维持了一套分布式存储,成本仍然居高不下。目前,存储供应商可以解决虚拟机的各种高可用性和备份问题。
5.网络&地址管理(Network):Neutron
确保为其他开放服务(如OpenStack计算)提供网络连接。为云计算供应虚构网络功能,并为每一个有差别的租户创建一个独立的网络空间。
6.UI界面(Dashboard):Horizon
为所有的OpenStack服务提供一个模块化的可视化图形界面。允许用户操作使用这些项目中的资源。通过这个接口,用户可以设置主机,分配带宽,添加云盘等。
7.身份服务(ldentity):Keystone
Keystone是OpenStack的用户身份验证组件,其作用是为用户和各种服务端口创建管理项目,并使用任何API对用户进行身份验证,首先必须通过Keystone验证。