OpenStack架构
OpenStack是一个综合的云计算管理平台,在OpenStack项目中包含了各种各样的组件,如提供身份验证的Keystone组件、提供计算服务的Nova组件,提供镜像服务的Glance组件、提供对象存储的Swift组件、提供网络服务的Neutron组件、提供块存储服务的Cinder组件、提供面板服务的horizon组件等。
提供认证服务的Keystone组件在OpenStack中主要负责用户、租户、服务和服务端点的管理,同时也是OpenStack中各个组件间认证的核心,通过了服务的注册功能,并且可以支持SQL、PAM、LDAP等后端的认证。
提供计算服务的Nova组件只要负责虚拟机实例的调度分配以及实例的创建、启停、迁移、重启等操作,从而管理云中实例的生命周期,是整个OpenStack云中的组织控制器。运行的虚拟实例支持的hypervisor有KVM等,默认的是KVM,同时提供了与亚马逊兼容的API接口。
提供镜像服务的是Glance组件,能够实现镜像的创建、镜像的快照管理、镜像模板等,同时支持各种镜像,如无格式的raw、默认格式qcow、Vmware格式的vhd等,而实际的镜像文件通常是不保存在本地的,而是保存在存储的后端,如Swift,文件系统,亚马逊S3等。
镜像格式:raw, qcow, vhd, vmdk, iso
后端存储: Swift, Filesystem, AmazonS3
提供对象存储的是Swift组件,主要是提供了存取数据的应用服务,和亚马逊的S3比较类似,通常用于保存非结构化数据,如通常作为Glance组件镜像的存储后端,或作为云盘等应用。
提供网络服务的是Neutron组件,是基于软件定义网络的思想,实现网络资源的软件化管理,支持各种类型的插件,实现多租户网络的隔离,也可以与支持硬件和软件的网络解决方案进行集成。
提供块存储的是Cinder组件,为虚拟化实例提供卷的持久化存储服务,同时支持对卷的快照、备份等一些管理,和亚马逊EBS组件较为相似,基于插件的架构,便于扩展 。
提供web统一化管理界面的是horizon组件,主要提供了自动化仪表板的管理服务,实现对用户、租户、卷、网络等几乎所有资源的图形化管理。
提供监控和计量服务的是ceilometer组件,主要实现对OpenStack平台中各个组件信息的统一化采集处理,从而实现对OpenStack各个组件状态的监控以及流量统计等功能。