组件:

nova(计算服务)

作用:管理计算资源
架构:
nova-api :接受外部请求
noca-conductor:向计算节点提供数据块访问、复杂流程操作
nova-scheduler:通过过滤和权重来为虚拟机选择合适的主机
nova-compute:通过虚拟机引擎创建删除虚拟机,部署在KVM的计算节点,如果使用本地磁盘创建虚拟机,则使用nova-compute所在节点的本地硬盘,由nova-compute直接调用
nova-console、nova-novnproxy:访问虚拟机控制台

cinder(块存储服务)

作用:对接块存储设备
架构:
Cinder-api:接收并响应卷操作请求
Cinder-scheduler:通过过滤权重选择合适的存储创建卷
Cinder-volume:与后端存储对接,管理卷,由厂商提供驱动,每个存储对应一个volume

Glance(镜像服务)

作用:管理镜像
架构:
Glance-api:对外的服务接口,提供镜像查询存取
Glance-registry:管理镜像的数据库,提供镜像的注册查询
image-store:对接存储、存取镜像,
swift:本地磁盘、raid、远端的LUN组成的PG划分出的VG,本地存储位置Glance-api节点上的、var/lib/glance/images,华为公有云OBS。
镜像类型:.vhd .qcow2 .raw .iso .ovf
缓存机制:将镜像缓存到本地,提高效率,配置:缓存开关、缓存大小 、缓存周期。
问题:镜像缓存到本地的什么位置(计算节点、Glance-api所在节点)
image.png

swift(对象存储服务)

作用:提供对象存储
架构

  • proxy Server:提供api接口,对外界提供对象存储功能
  • Account Server:账户服务,存放租户信息,容器列表
  • contain Server :容器服务、存放容器信息,对象列表
  • object Server:对象服务

空间:默认使用本地磁盘(本地硬盘、raid、挂载到本地的LUN)划出一个VG给Swift做存储空间
多副本、扁平化结构,适合非结构化数据存储
多租户隔离(三级结构):租户层、容器层、对象层

neutron(网络服务)

作用:提供网络服务
架构:

  • Neutron Server:接收api请求,并分配适当的插件
  • Neutron Plugin:插件,编排后端设备(插入或拔出端口、创建网络和子网、分配IP地址),支持不同的厂商插件,管理agent
  • Neutron Agent:代理执行插件下发的指令

创建:

  • network(网络):软件定义的一个二层网络,如ovs
  • subnet(子网):与network相关的一个IP地址端,被分配到端口
  • port(端口):虚拟机与OVS的连接方式

部署:

  • 控制节点:neutron-server、neutron-plugin、DB
  • 计算节点:L2-agent(ovs-agent)
  • 网络节点:L3-agent、DHCP-agent

    Keyston(认证服务)

    作用:

  • 身份认证:对用户名密码进行验证

  • 令牌管理:为用户生成token,去对token的合法性验证
  • 访问控制:不同角色的用户或用户组拥有不同的权限
  • 服务目录:对外提供服务查询,通过身份认证后返回相应的Endport(Endport:针对不同对象,指向同一服务(组建)URL(链接))

架构:

  • Keyston-api:接受请求:外部请求内部组件时,先向Keyston做身份认证
  • keyston Middleware:缓存token,减轻keyston Service压力
  • keyston Services:不同的Service提供不同的认证或鉴权服务
  • Keyston Backends:实现Keyston服务,不同的Service由不同的Backend提供

多个openstack同一管理时,公用一个Keyston,手动指向一个openstack的Keyston,Catalog存放各regin相应组建的endport
认证:Keyston收到用户请求后先做身份认证,通过后生成Token并返回给用户,根据用户角色返回相应的endport
鉴权:组件api收到请求会,拿token向keyston鉴权,keyston根据token进行授权

Ceilometer(计量服务)

作用:提供计量服务
架构:
api:对外提供数据查询(读取DB)
Cellector:数据汇总,写入DB;周期查询Agent对接各个组件,周期收集各组件信息;侦听Agent通过对消息队列的倾听,收集信息,Compute Agent上报节点信息
Ceilometer使用Mongodb(分布式数据块)

heat(编排服务)

作用:基于模板创建所需资源,运行指定程序,完成指定配置,Heat根据Ceilometer检测到的数据,自动执行操作(自动化运维)
架构:
Heat api:提供外部接口,将接收到的消息传送给Heat-engine
engine service:实现任务调度、资源生命周期管理,自身并不提供资源创建功能,只负责编排资源后交由其它组件去处理
模板:CFN模板,主要为了建通AWS
HOT模板

lronic

作用:管理裸金属资源
架构:
lronic-api:接受请求
Noca-Compute(lronic):管理硬件资源

流程:

虚拟机创建流程:

  • nova-api收到虚拟机创建指令,先向Keyston鉴权
  • 鉴权成功,将虚拟机信息通过Conductor写入DB,将指令发送到Scheduler。
  • Scheduler根据规格要求,选择合适的主机资源,将主机信息写入DB,并将消息发送给主机的nova-compute
  • nova-compute收到指令后先预留计算资源,并将资源使用信息通过Conductor写入DB
  • Nova-compute向neutron请求网络
  • 向Cinder请求存储(创卷、挂卷)
  • 向Glance请求镜像
  • 启动虚拟机。

    cinder创建卷流程:

  • Cinder-api收到创卷请求,向Keyston进行鉴权,

  • 鉴权成功后预留资源,生成卷ID,写入DB,返回卷信息,
  • 将创建指令通过消息队列发送给Scheduler;Scheduler选择合适的存储,将指令下发给Cinder-volume,
  • Cinder-volume调用驱动driver进行创卷,
  • 创卷成功,更新数据库。

    nova挂载流程:

  • nova-compute向Cinder-api发起挂卷请求,

  • Cinder-api将请求发送至相应的Cinder-volume,
  • Cinder-volume通过存储驱动建立主机与卷的映射返回到nova-compute,
  • nova-compute通过主机驱动将卷挂载到虚拟机,
  • nova-compute将挂载信息发送给cinder-api,cinder-api写入DB。

    虚拟机网络创建流程:

  • nova-compute向Neutron-server发送建立port请求,

  • Neutron向Keyston鉴权
  • 鉴权成功,建立端口信息(pid、MAC等),存入到DB,将pid、MAC等信息返回nova-compute
  • nova-compute生成VM并启动,建立于OVS的链接
  • ovs-agent将ovs端口变化信息(新启动的虚拟机port端口)上报给plugin
  • plugin根据端口ID从DB中找到相应网络信息,根据信息下发配置。


网络平面:

Internal_base:内部通讯平面,二层网络,无网关,无tag,系统的内部配置,默认网段使用172.28.0.0/20,主要适用于内部的组件通讯,PXE(自动化安装部署)安装节点。
External_OM:内部OM管理平面,对接运维组件使用,如OM、VRM、FSM等
External-api:外部API管理平面,北向服务统一入口。主要面向租户、管理员、通过反向代理对外提供API访问接口。
External-base:用于对接FC时,Neutron-Server与CNA上的ovs-agent通讯,非必要,可以由OM平面代替
External-bearing:VXLAN承载平面
存储平面:Storage_data0、1:存储网络平面,链接计算节点与存储
云服务平面:
Dmz_Service:云服务前端平面,以Console等方式,对外提供服务(SC)
Public_Service:公共服务平面,云服务的后端(OC)
运维平面:
BMC_base:接入服务器BMC平面,对服务器远程登录
OM-Service:运维平面,私有云中所有节点设备(服务器、网络)通过该平面对接运维平台(eSight,iMaster-NCE等)。
用户网络平面:

FusionSphere Openstack相较于开源openstack的优点:

级联增强:可以跨多个Openstack的统一自动网络管理,完全兼容社区API
基础架构可靠性增强:

VM可靠性增强:**

  • 扩展虚拟机HA功能:新增VM HA service服务,实现虚拟机的HA功能,满足VM的可靠性诉求。
  • 虚拟机故障:根据虚拟机监控结果进行VM的HA,即监控虚拟机中GuestOS 系统panic、内核死循环等异常。
  • 服务器故障:虚拟机异地重建,即虚拟机在本地无法重新启动或者物理服务器故障场景,在满足条件的物理服务器进行虚拟机重建。

VM带块配置增强

  • 华为通过nova-compute刷新各节点带宽资源信息,扩展flavor接口,定义VM带宽资源要求,扩展filter支持调度阶段筛选带宽资源充足的节点,以满足VNF对底层的高带宽要求。

共享卷机制增强

  • 逻辑卷作为共享卷挂载到两个或多个VM中,支持对同一个或多个卷进行同时读写的操作 。
  • 数据一致性访问, 双机热备等场景下减少故障切换时间,提升系统的可用性。

用户态EVS增强:

  • EVS用户态高速转发,满足NFV数据面网元高性能、低时延的需求。
  • 华为高性能用户态EVS 基于OpenStack Neutron标准的ML2插件无缝接入OpenStack网络虚拟化服务,对租户提供高性能、低时延的虚拟交换性能。
  • 用户态EVS通过高性能DPDK用户态转发框架将数据包从物理网卡直接旁路到用户态,VMM通过vhost-user前后端共享内存技术实现虚拟机与host用户态,虚拟机与虚拟机之间的高性能与低时延包处理。

SDN网络增强:

  • SDN对接,SDN控制器实现全方位网络自动化编排。
  • FusionSphere云平台支持构建多虚拟化平台(ESXi\华为KVM)及物理机自动化发放的融合资源池。
  • 通过FusionSphere和华为SDN控制器的协同,共同完成端到端的基于硬件SDN/纯软SDN的Overlay网络业务自动化编排。