Cloud OS开源软件-OpenStack
Nova
OpenStack云中的计算组织控制器
管理OpenStack云中实例的生命周期
管理计算资源、网络、认证所需的可扩展性平台
常用术语:
Nova框架:
流程:
Nova-scheduler:实现实例的调度分配工作,实例的创建需要调用Nova-compute来完成,当然也离不开网络存储镜像等组件的配合。所以需要通过消息队列进行合作。
功能特性:
实例的生命周期管理
管理平台的计算资源
统一风格的RestAPI
支持透明的hypervisor
各个模块通过消息队列实现交互
Swift
提供高可用分布式对象存储的服务
为Nova组件提供虚拟机镜像存储服务
适用于互联网应用场景下非结构化的数据存储。
数据冗余无需用raid,通过在软件层面引入一致性散列技术和数据冗余,牺牲一定程度的数据一致性,来达到高可用和可伸缩性。支持多租户模式下容器和对象读写操作。
常用术语
Ring环有Account环、Container环、Object环。
术语间的关系
我们可以创建多个Account,Account下可以创建多个容器container,每个容器中可以创建多个object
container之间不能嵌套。
Swift功能
在物理结构上往往会存储对象的多个副本,通常按照物理位置的特点,将对象拷贝到不同的物理位置上,来保证数据的可靠性。
由地理位置划分了两个Region,Region下为了冗余的考虑设计了ZoneA和ZoneB,在ZoneA下有三个节点Node。而在更大的架构上两个地域的所有系统构成一个集群Cluster。
Swift架构
Keystone
提供身份验证、服务规则和服务令牌功能
任何服务之间相互调用,都需要经过Keystone的身份验证。
常用术语
相互关系
首先创建两个域Domain分配给不同的集团公司使用,在domain下分别创建项目Project,project下可以创建不同的用户,并且用户可以跨多个project而存在。
Keystone认证原理:
Neutron
提供网络服务的核心组件
基于软件定义网络的思想实现软件化的网络资源管理
在实现上充分利用了linux系统中的网络相关的技术支持第三方插件。
常用术语:
架构
L2-Agent实现相同VLAN下的通信,L3-Agent 同一个租户网络下不同子网之间的 通信。DHCP-Agent实现的是子网的创建和IP地址的分发。
Glance
为Nova提供镜像服务
通常不负责镜像的本地存储
实现对镜像的管理
Glance支持的镜像格式:
Raw:无格式镜像
vhd:VMware、Xen等经常使用的格式
vdi:qumeu支持的
iso、qcow2、aki ami(亚马逊的)
Glance组件:
Glance-api:负责提供镜像服务的rest api服务
Glance-registry:主要负责与Glance使用的数据交互(比如镜像的删除、修改等操作)
架构:
Cinder
为虚拟机实例提供volume卷的块存储服务,可以将卷挂载到实例上作为虚拟机的本地磁盘来使用
一个volume可以同时挂载到多个实例上,但是同时只能有一个实例可以对卷进行写操作,其他的都是只读的。
支持的文件类型:
术语:
架构:
Celiometer
OpenStack中的数据监控器
为流量计费提供数据支撑
组件:
架构:
Heat
OpenStack核心项目之一
提供基于模板的编排服务
常用术语:
架构
Heat在这的作用分为了三层:
第一层 处理heat层面的请求。然后根据模板和输入的参数来创建stack,这个stack是由各种资源集合而成
第二层 解析stack里面各种资源的依赖关系以及stack的嵌套关系
第三层 根据解析出来的关系依次调用各种client来创建各种资源