(1)Nova——又被称为OpenStack Compute,主要作用是控制虚拟机的创建,以及改变虚拟机的容量和配置,还可以做虚拟机的销毁,虚拟机的整个生命周期都是由Nova来控制的。一般将Nova部署到计算节点上,在实验环境中也可部署在Controller节点上运行。
(2)Cinder——Cinder组件主要的用途是提供块存储服务,最核心的两个部分是Scheduler和Cinder Volume。当有读/写存储服务请求时,Scheduler决定请求通过哪个Cinder Volume进行读取操作,Cinder Volume是实际控制存储的设备。
(3)Neutron——管理网络资源,提供一组应用编程接口(API),用户可以调用它们来定义网络(如VLAN ),并把定义好的网络附加给租户。Networking是一个插件式结构,支持当前主流的网络设备和最新网铬技术。
(4)Swift——从OpenStack诞生就有Swift组件,NoSQL数据库为虚拟机提供非结构化数据存储,它把相同的数据存储在多台计算机上,以确保数据不会丢失。用户可通过RESTful和HTTP类型的API来与它通信。
(5)Glance——存取虚拟机磁盘镜像文件,Compute服务在启动虚拟机时需要从Glance获取镜像文件。这个组件不同于上面的Swift和Cinder,这两者提供的存储是在虚拟机中使用的。
(6)Keystone——为其他服务提供身份验证、权限管理、令牌管理及服务名册管理。若要使用云计算的所有用户事先需要在Keystone中建立账号、设置密码,并定义权限。另外,OpenStack服务(如Nova、Neutron、Swift、Cinder等)包括Keystone也要在里面注册,并且登记具体的API。