云操作系统OpenStack架构分析
OpenStack是什么?
OpenStack是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过web接口让最终用户部署资源。
OpenStack项目
Horizon提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。
Nova在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。
Neutron确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。
Keystone为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
Glance存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。
Cinder为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。
Swift通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。
Ceilometer为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
HeatOrchestration服务支持多样化的综合的云应用,通过调用OpenStack-native REST API和CloudFormation-compatible Query API,支持:term:HOT
组件">OpenStack组件
Nova分析
1、Nova简介
OpenStack云中的计算组织控制器 管理OpenStack云中实例的生命周期 管理计算资源、网络、认证所需的可扩展性平台
2、Nova常用术语
KVM
内核虚拟化,OpenStack默认的Hypersvisor。
Qemu
KVM的替补角色,没有KVM执行效率高,不支持全虚拟化。
Flavor
新建虚拟机的配置列表,虚拟机模板。
Keypair
ssh连接访问实例的秘钥对。
安全组
用来控制实例访问策略的容器。
安全组规则
用来控制实例访问的具体策略。
3、Nova功能特性
实例的生命周期管理 管理平台的计算资源 统一风格的RestAPI 支持透明的hypervisor 各个模块通过消息队列实现交互
Swift分析
1、Swift简介
高可用分布式对象存储 为Nona组件提供虚拟机镜像存储 适用于互联网应用场景下非结构化的数据存储
2、Swift常用术语
Account
用户定义的管理存储区域。
Container
存储隔间,类似于文件夹或目录。
Object
包含了基本的存储实体和它自身的元数据。
Ring
记录了磁盘上的实体名称和物理位置的映射关系。
Region
地域,从地理位置上划分的一个概念。
Zone
可用区,按照独立的供网、供电基础设施划分。
Node
节点,存储服务器。
Disk
磁盘,物理服务器上的存储设备。
Cluster
群集,为冗余考虑的部署架构。
Keystone分析
1、Keystone简介
提供身份验证、服务规则和服务令牌功能 任何服务之间相互调用,都需要经过Keystone的身份验证
2、 Keystone常用术语
User
OpenStack最基本的用户。
Project
指分配给使用者的资源的集合。
Role
代表一组用户可以访问资源的权限。
Domain
定义管理边界,可以包含多个project/tenant、user、role等。
Endpoint
服务的URL路径,暴露出来的访问点。
Neutron分析
1、Neutron简介
提供网络服务的核心组件 基于软件定义网络的思想
2、Neutron常用术语
Bridge-int
实现内部网络功能的网桥
Br-ex
与外部网络通信的网桥
Neutron-server
提供API接口
Neutron-L2-agent
实现二层网络通信的代理
Neutron-DHCP-agent
为子网自动分发IP地址
Neutron-I3-agent
租户网络和floating IP间地址转换
Neutron-metadata-agent
响应Nova的metadata请求
LBaaS agent
为多台实例和open vswitch agent提供负载均衡服务
Glance分析
1、Glance简介
为Nova提供镜像服务 通常不负责镜像的本地存储 实现对镜像的管理
2、Glance镜像格式
Raw vhd vdi iso qcow2 aki ami
3、Glance组件
Glance-api
负责提供镜像服务的rest api 服务
Glance-registry
主要负责与Glance使用的数据库交互
Cinder分析
1、Cinder简介
为虚拟机实例提供volume卷的块存储服务 一个volume可以同时挂载到多个实例上 共享的卷同时只能被一个实例进行写操作
2、支持的文件系统类型
LVM/ISCSI NFS NetAPP NFS Gluster DELL Equall Logic
3、Cinder常用术语
Volume备份
volume卷的备份
Volume快照
卷在某个时间点的状态
Cinder API
为Cinder请求提供统一风格的Rest API服务
Cinder Scheduler
负责为新建卷指定块存储设备
Cinder Volume
负责与存储的块设备交互,实现卷的创建、删除、修改等操作
Cinder Backup
备份服务负责通过驱动和后端的备份设备打交道
Ceilometer分析
1、Ceilometer简介
OpenStack中的数据监控器 为流量计费提供数据支撑
2、核心概念
Ceilometer-agent-compute
收集计算节点上信息的代理
Ceilometer-agent-central
运行在控制节点上,轮询服务的非持续化数据
Ceilometer-collector
运行在控制节点上,监听Message Bus,将收到的消息写入到数据库中
Storage
数据存储,用于存储收集到的样本数据
API server
运行在控制节点上,提供对数据库数据的访问
Message Bus
计量消息的数据总线,收集数据给collector
Heat分析
1、Heat简介
OpenStack核心项目之一 提供基于模板的编排服务
2、Heat常用术语
Stack
指的是Heat要用到的所有设施和资源的集合
Heat template
是以.yaml结尾的文件,用于创建stack
Heat-api
提供rest api服务,将api请求发送给heat engine去执行
Heat-api-cfn
支持亚马逊格式访问的Rest api
Heat-engine
Heat的核心模块,接收API请求在openstack中创建资源
3、Heat组件
Heat-cfntools 、Heat-init
在镜像中安装完成虚拟实例操作任务的工具
Heat-api-cloudwatch
监控编排服务
Resource
底层各种服务抽象的集合
Heat-client
调用访问其他各个组件的client工具
上一篇: C语言指向函数的指针运行讲解