架构
OpenStack+KVM解决方案用于公有云和私有云场景。
OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于帮助组织运行为虚拟计算或存储服务的云,并为公有云和私有云提供可扩展的、灵活的云计算。
OpenStack包含主要开源组件包括Nova、Cinder、Neutron、Glance、Swift、Placement、Keystone、Horizon、Heat、Ceilometer。
OpenStack详细的系统架构如图1。
名称 |
说明 |
---|---|
Nova |
Nova是OpenStack的最核心组件,负责为虚拟机管理计算资源。包括CPU和内存。当接到虚拟机创建请求时,Nova根据请求中携带的计算资源需求对计算资源进行过滤,选出可用来创建虚拟机的资源,再根据一定的策略进行排序,选定某些计算资源创建虚拟机。 |
Cinder |
Cinder负责为虚拟机提供块存储(Block Storage)资源。所谓的“块”,就是我们通常操作系统对待硬盘的状态。操作系统将磁盘划分多个块(簇),来对硬盘进行读写。Cinder向下对物理存储介质使用相对应的驱动(Driver)来完成硬盘的管理和读写,对VM提供统一的iSCSI存储,即统一的磁盘卷,虚拟机将Cinder统一之后的磁盘卷进行挂载使用。 |
Neutron |
Neutron负责虚拟机的网络资源。虚拟机与外部网络互通以及隔离,需要配置IP地址、路由、VLAN等信息,即在网络上搭建一个可隔离、可交换/路由的分组数据包转发通路。Neutron根据虚拟机的需求,在相应的主机、交换机和路由器上完成支撑虚拟机转发通路的接口、VLAN、路由等配置,支撑虚拟机的数据转发。 |
Glance |
Glance提供对虚拟机镜像的管理,包括虚拟机的查询、注册、上传、获取以及删除功能。 |
Swift |
Swift是OpenStack的对象存储组件,支持和Ceph对象存储对接,实现OpenStack使用对象存储。 |
Horizon |
Horizon为几乎所有组件提供基于Web的操作界面,方便操作。OpenStack各组件只提供命令行的交互方式,Horizon提供了图形化封装的功能。 |
Keystone |
Keystone提供鉴权功能。OpenStack中所有需要鉴权才能继续的操作,各组件首先要与Keystone组件进行交互,进行鉴权和认证。 |
Ceilometer |
Ceilometer提供资源的计量和监测服务。 |
Heat |
Heat提供业务编排功能。 |