基于超融合架构的管理调度技术的制作方法

文档序号:23090033发布日期:2020-11-27 12:41阅读:96来源:国知局

本发明涉及云计算领域,具体来说,涉及基于超融合架构的管理调度技术。



背景技术:

随着陆军部队转型,作战机动性越来越高,信息服务车、指挥车等战术前沿装备硬件资源受限,需要对车载平台的计算、存储、网络等资源进行高效的管理。依托传统的虚拟化技术进行资源管理难以满足要求:一是kvm、xen等服务器虚拟化技术具有很高的隔离度,但虚拟机比较“笨重”,难以适应动态的战场环境;二是传统虚拟化架构下,计算与存储分离,使得应用读取数据存在性能瓶颈;三是受限于性能及技术瓶颈,目前传统服务器虚拟化技术在国产cpu平台上运行效率低下,无法满足战场实用需求。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的目的在于提供基于超融合架构的管理调度技术,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:基于超融合架构的管理调度技术,包括超融合系统架构设计、基于超融合架构的资源一体化管理、面向国产异构平台的统一计算虚拟化、基于分布式存储的存储虚拟化、基于软件定义的网络虚拟化和面向高机动环境的容器动态调度管理技术。

进一步的,所述超融合系统架构设计由超融合基础设施层、超融合资源池、资源调度层组成,所述超融合基础设施层基础设施层包括搭建超融合云平台的物理基础设施,在信息服务车、指挥车等车载环境内,由异构cpu的服务器集群、车内万兆网络组成超融合的计算存储环境支撑,为基础设施之上构建超融合虚拟化资源池提供支撑;

所述超融合资源池通过采用虚拟化和超融合技术对单车环境内的硬件设施(例如车载服务器、存储、网络设备等)和基础软件(例如操作系统、数据库等)进行虚拟化封装,向用户提供信息基础设施服务,在车内异构服务器上部署超融合组件,利用超融合技术构建统一虚拟化资源池,即docker轻量级虚拟化技术构建异构计算资源池,分布式存储虚拟化技术构建统一存储资源池,软件定义网络技术构建虚拟化网络环境,其中异构计算资源池纳管车内不同架构cpu服务器的异构计算资源,支持融合管理不少于2种国产cpu计算资源;

所述资源调度层为整个平台系统提供快速创建、按需调度、自动伸缩、安全可靠的轻量级虚拟化平面资源环境,其中容器集群调度器是在虚拟资源池上提供的计算、存储、网络等资源监控和调度管理,从而实现容器基于负载的自适应弹性伸缩、容器网络通信管理等。

进一步的,所述基于超融合架构的资源一体化管理在单车内异构服务器上部署超融合组件,利用超融合技术构建统一虚拟化资源池,即docker轻量级虚拟化技术构建异构计算资源池,ceph分布式存储虚拟化技术构建统一存储资源池,软件定义技术构建虚拟网络子网,在用户进行应用访问时,后台无需从存储端取出数据,而是将计算直接分发到存储上运行,将“计算”作为传输单元进行传输,这样大量的存储数据都是本地访问,不需要再跨网络传输,“计算”和“存储”运行(融合)在了一个服务器上,实现超融合架构下的应用快速响应。

进一步的,所述面向国产异构平台的统一计算虚拟化分为基于容器的计算资源虚拟化和异构cpu计算资源融合管理,所述基于容器的计算资源虚拟化是基于docker容器技术,docker容器虚拟化技术使用client-server架构模式,docker由守护进程、镜像维护、容器管理驱动等模块组成,docker守护进程(docker-daemon)负责响应来自docker客户端的请求,然后将这些请求翻译成系统调用完成容器管理操作,该进程会在后台启动一个api服务,负责接收由dockerclient发送的请求,接收到的请求将通过docker守护进程内部的一个路由分发调度,再由具体的函数来执行请求,以docker轻量级虚拟化技术实现计算资源虚拟化,实现在自主可控服务器性能不占优的现状下更高效的利用国产化服务器的计算资源,实现计算资源整合池化、按需调度等功能;

所述异构cpu计算资源融合管理由面向通用服务的service系统和基于服务代理的实例通信组合构成,所述面向通用服务的service系统的服务层可提供的服务主要包括以下六种类型:数据库服务,如:redis、mondodb、mysql、postgres等;存储类服务,比如:vblob、filesystem等;中间件服务,比如应用中间件、消息中间件等;基本计算、网络服务等,以及其他类型服务,比如:rabbitmq消息队列系统、memcached分布式内存对象缓存服务等,服务层包括两部分:服务网关和服务节点,服务节点是实际实现基础服务的位置,即应用程序实例绑定的基础服务是由服务节点来实现,启动服务网关时,首先向云控制器发送heartbeat,实际上是一个post请求,当云控制器接收到上述的请求后,它会向其数据库中插入一条该服务网关的信息,此时注册生效,然后服务网关会查看云控制器的响应状态,若响应结果是成功,此时服务网关在云控制器中注册成功,由于网关在工作过程中会用到一些服务配置和绑定的信息,而由于网关存储的信息都是在该结点上开辟内存来实现的,所以每次在网关启动的时候,都需要向云控制器发送一个获取握手的命令,从而在云控制器结点中找到关于该网关负责服务的服务信息并返回;

所述基于服务代理的实例通信基于服务代理的实例通信技术基于数据库引擎集成各种资源服务,如mongo、mysql、rabbitmq和redis缓存等,通过控制台,用户可以浏览到各种服务的代理,通过简单地界面操作,就可以完成创建和销毁不同规格的服务实例,将目标服务实例与应用绑定,并以安全的方式将服务实例的访问信息和密钥注入到应用容器中,其中服务代理(简称ssb)负责提供一个强大的异步编程模型,可在服务实例之间完成高效可靠的异步通信。

进一步的,所述基于分布式存储的存储虚拟化基于ceph技术的分布式存储架构,为自主可控的陆军机动战术云平台提供存储支撑,且可以运行在集网络、计算为一体的超融合云平台节点上,ceph技术的分布式存储架构基于rados提供无限可扩展的存储集群,rados即“可靠的、自动化的、分布式的对象存储”,存储ceph系统中的用户数据,物理上,rados由大量的存储设备节点组成,每个节点拥有自己的硬件资源(cpu、内存、硬件、网络),并运行操作系统和文件系统,基础库librados:ceph客户端用一定的协议和存储集群交互,并把该功能封装进librados库,基于librados库可创建定制客户端,高层应用接口使用radosgw对象网关、rbd块设备接口以及cephfs,一个posix兼容的分布式文件系统,应用层是不同场景下对于ceph各个应用接口的各种应用方式,对外统一提供对象存储、块存储和文件存储,并且提供了无限扩展能力。

进一步的,所述基于软件定义的网络虚拟化包括虚拟网络映射平面、网络结构虚拟化和网络资源隔离三个步骤;

所述虚拟网络映射平面实现面向用户和面向底层网络的透明虚拟化,虚拟化平面管理全部的物理网络拓扑,并向用户提供隔离的虚拟网络;

所述网络结构虚拟化对物理网络结构进行抽象虚拟化;

所述网络资源隔离拟化仅仅完成了物理资源到虚拟资源的抽象过程,为实现完全的网络虚拟化,还需要对不同的用户提供隔离的网络资源。

进一步的,所述网络资源隔离包括控制面隔离、数据面隔离和地址隔离,所述控制面隔离保证用户的控制器在运行时不受其他用户控制器的影响,保证用户对虚拟化平面资源的使用;

所述数据面隔离保证用户的资源不被其他用户所占据;

所述地址隔离为使用户能在自己的虚拟用户网中任意使用地址。

进一步的,所述面向高机动环境的容器动态调度管理技术包括容器集群调度器设计、容器网络通信管理与优化和基于负载的自适应弹性伸缩,所述容器集群调度器设计基于kubernetes的容器集群管理系统架构集群中的机器被划分为一个master节点和一群工作节点(node),其中master节点上运行着集群管理相关的一组进程api服务、管理控制器、调度器和高可用键值数据库etcd四个组件,其中前三个组件构成了集群的总控中心,负责对集群中所有资源进行管控和调度,在每个node节点上运行kubelet、容器虚拟化、存储虚拟化和网络虚拟化的组件,负责对本节点的pod的生命周期进行管理,以及实现服务代理的功能,在所有节点运行kunbectl命令行工具,提供集群管理工具集,集群中的调度器负责pod在集群节点中的调度分配,接收控制器创建的新pod,为其安排一个目标node,目标node上的kubelet服务进程接管后续工作负责pod整个生命周期,调度器的作用是将带调度的pod按照特定的调度算法和调度策略绑定到集群中的某个node上,并将绑定信息写入etcd中,在整个调度过程中涉及三个对象,分别是:带调度pod列表、可用node列表,以及调度算法和策略;

所述容器网络通信管理与优化包括容器到容器之间的直接通信、pod到pod之间的通信和pod到service之间的通信三个部分;

所述基于负载的自适应弹性伸缩基于负载的弹性调度系统能够对容器环境的计算、存储负载情况进行监控,并根据实时负载进行自适应弹性伸缩调度,系统主要由底层容器集群、负载均衡和伸缩控制系统这三部分组成,上层微服务基于docker容器进行构建,负载均衡使得集群中的微服务容器能够正常收到用户的请求,伸缩控制系统是整个系统架构的核心部分,包括资源监控模块、伸缩决策模块和资源调度模块,其中资源监控模块负责统计物理主机和docker容器的资源使用情况并报告给伸缩决策模块,伸缩决策模块会分析统计数据从而决定是否需要进行扩容或缩容,资源调度模块负责对底层的容器资源进行调度,负责容器的创建和销毁工作,资源动态调度算法在容器集群中每个节点上所有运行着的应用实例之间进行资源动态调度,当可以利用容器集群上应用实例的资源监控数据生成预测数据后,针对每种资源运用该算法生成一系列资源伸缩决策,并将决策响应到容器的请求资源限制中。

进一步的,所述基于负载的自适应弹性伸缩包括资源监控架构设计、伸缩决策模块设计和资源调度架构设计,所述资源监控架构设计资源监控模块需要对主机和容器的cpu、内存和磁盘等资源使用情况进行收集并进行存储,按照功能可以将其划分为数据采集(agent端)、监控服务(monitor)、数据存储(dataserver)和仪表盘(dashboards)这四个模块;

所述伸缩决策模块设计伸缩决策模块主要负责对资源监控模块产生的监控数据进行分析并做出相应的伸缩决策,主要包括建模模块和控制模块,建模预测模块主要针对使用预测型伸缩算法的网络流量这一指标,它会从数据库中获取网络流量的历史观测数据并进行建模预测,给出网络流量的预测数据,控制模块会不断获取建模预测模块和监控服务模块的数据,只要有一种规则指定的数据超过阈值时,便会触发相应的伸缩指令;

所述资源调度架构设计资源调度模块主要负责对容器集群进行数量上的调整,会一直等待伸缩决策模块的伸缩指令,然后执行相应的容器调度命令,包括新建容器和销毁容器,资源调度模块主要由容器调度模块(dockerscheduler)和管理器模块(manager)这两部分构成,其中容器调度模块负责每台主机上的容器创建或销毁任务,管理器模块则负责容器调度的计算及分配,在接收到伸缩决策模块的伸缩指令时会自动给容器调度模块发送相应的命令。

与现有技术相比,本发明具有以下有益效果:

(1)本发明提供的基于超融合架构的管理调度技术创新地提出基于超融合架构的轻量级虚拟化技术,提升战术云平台的虚拟化能力和管理能力,为构建陆军机动战术云全链路生态提供关键技术支撑,利用docker容器技术构建虚拟化计算资源池,将多台物理服务器上的多个虚拟机组合成可弹性扩展的计算集群,提供按需弹性的虚拟化计算存储资源池,基于开源kubernetes实现虚拟机集群管理,为容器化的应用提供资源调度、部署运行、服务发现、扩容、缩容等一整套功能,针对国产异构cpu架构和指令集,对docker和kubernetes进行代码级重构和适配,实现异构融合计算虚拟化,同时利用分布式存储技术构建存储资源池,软件定义技术构建虚拟网络,形成超融合资源池,实现应用服务的本地化数据和网络访问,解决传统虚拟化部署模式的i/o瓶颈问题,提高服务响应性能。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“顶部”、“底部”、“一侧”、“另一侧”、“前面”、“后面”、“中间部位”、“内部”、“顶端”、“底端”等指示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性;此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

根据本发明实施例的基于超融合架构的管理调度技术,包括超融合系统架构设计、基于超融合架构的资源一体化管理、面向国产异构平台的统一计算虚拟化、基于分布式存储的存储虚拟化、基于软件定义的网络虚拟化和面向高机动环境的容器动态调度管理技术。

通过本发明的上述方案,所述超融合系统架构设计由超融合基础设施层、超融合资源池、资源调度层组成,其特征在于:

所述超融合基础设施层基础设施层包括搭建超融合云平台的物理基础设施,在信息服务车、指挥车等车载环境内,由异构cpu的服务器集群、车内万兆网络组成超融合的计算存储环境支撑,为基础设施之上构建超融合虚拟化资源池提供支撑;

所述超融合资源池通过采用虚拟化和超融合技术对单车环境内的硬件设施(例如车载服务器、存储、网络设备等)和基础软件(例如操作系统、数据库等)进行虚拟化封装,向用户提供信息基础设施服务,在车内异构服务器上部署超融合组件,利用超融合技术构建统一虚拟化资源池,即docker轻量级虚拟化技术构建异构计算资源池,分布式存储虚拟化技术构建统一存储资源池,软件定义网络技术构建虚拟化网络环境,其中异构计算资源池纳管车内不同架构cpu服务器的异构计算资源,支持融合管理不少于2种国产cpu计算资源;

所述资源调度层为整个平台系统提供快速创建、按需调度、自动伸缩、安全可靠的轻量级虚拟化平面资源环境,其中容器集群调度器是在虚拟资源池上提供的计算、存储、网络等资源监控和调度管理,从而实现容器基于负载的自适应弹性伸缩、容器网络通信管理等。

通过本发明的上述方案,所述基于超融合架构的资源一体化管理在单车内异构服务器上部署超融合组件,利用超融合技术构建统一虚拟化资源池,即docker轻量级虚拟化技术构建异构计算资源池,ceph分布式存储虚拟化技术构建统一存储资源池,软件定义技术构建虚拟网络子网,在用户进行应用访问时,后台无需从存储端取出数据,而是将计算直接分发到存储上运行,将“计算”作为传输单元进行传输,这样大量的存储数据都是本地访问,不需要再跨网络传输,“计算”和“存储”运行(融合)在了一个服务器上,实现超融合架构下的应用快速响应。

通过本发明的上述方案,所述面向国产异构平台的统一计算虚拟化分为基于容器的计算资源虚拟化和异构cpu计算资源融合管理,所述基于容器的计算资源虚拟化是基于docker容器技术,docker容器虚拟化技术使用client-server架构模式,docker由守护进程、镜像维护、容器管理驱动等模块组成,docker守护进程(docker-daemon)负责响应来自docker客户端的请求,然后将这些请求翻译成系统调用完成容器管理操作,该进程会在后台启动一个api服务,负责接收由dockerclient发送的请求,接收到的请求将通过docker守护进程内部的一个路由分发调度,再由具体的函数来执行请求,以docker轻量级虚拟化技术实现计算资源虚拟化,实现在自主可控服务器性能不占优的现状下更高效的利用国产化服务器的计算资源,实现计算资源整合池化、按需调度等功能;

所述异构cpu计算资源融合管理由面向通用服务的service系统和基于服务代理的实例通信组合构成,所述面向通用服务的service系统的服务层可提供的服务主要包括以下六种类型:数据库服务,如:redis、mondodb、mysql、postgres等;存储类服务,比如:vblob、filesystem等;中间件服务,比如应用中间件、消息中间件等;基本计算、网络服务等,以及其他类型服务,比如:rabbitmq消息队列系统、memcached分布式内存对象缓存服务等,服务层包括两部分:服务网关和服务节点,服务节点是实际实现基础服务的位置,即应用程序实例绑定的基础服务是由服务节点来实现,启动服务网关时,首先向云控制器发送heartbeat,实际上是一个post请求,当云控制器接收到上述的请求后,它会向其数据库中插入一条该服务网关的信息,此时注册生效,然后服务网关会查看云控制器的响应状态,若响应结果是成功,此时服务网关在云控制器中注册成功,由于网关在工作过程中会用到一些服务配置和绑定的信息,而由于网关存储的信息都是在该结点上开辟内存来实现的,所以每次在网关启动的时候,都需要向云控制器发送一个获取握手的命令,从而在云控制器结点中找到关于该网关负责服务的服务信息并返回;

所述基于服务代理的实例通信基于服务代理的实例通信技术基于数据库引擎集成各种资源服务,如mongo、mysql、rabbitmq和redis缓存等,通过控制台,用户可以浏览到各种服务的代理,通过简单地界面操作,就可以完成创建和销毁不同规格的服务实例,将目标服务实例与应用绑定,并以安全的方式将服务实例的访问信息和密钥注入到应用容器中,其中服务代理(简称ssb)负责提供一个强大的异步编程模型,可在服务实例之间完成高效可靠的异步通信。

通过本发明的上述方案,所述基于分布式存储的存储虚拟化基于ceph技术的分布式存储架构,为自主可控的陆军机动战术云平台提供存储支撑,且可以运行在集网络、计算为一体的超融合云平台节点上,ceph技术的分布式存储架构基于rados提供无限可扩展的存储集群,rados即“可靠的、自动化的、分布式的对象存储”,存储ceph系统中的用户数据,物理上,rados由大量的存储设备节点组成,每个节点拥有自己的硬件资源(cpu、内存、硬件、网络),并运行操作系统和文件系统,基础库librados:ceph客户端用一定的协议和存储集群交互,并把该功能封装进librados库,基于librados库可创建定制客户端,高层应用接口使用radosgw对象网关、rbd块设备接口以及cephfs,一个posix兼容的分布式文件系统,应用层是不同场景下对于ceph各个应用接口的各种应用方式,对外统一提供对象存储、块存储和文件存储,并且提供了无限扩展能力。

通过本发明的上述方案,所述基于软件定义的网络虚拟化包括虚拟网络映射平面、网络结构虚拟化和网络资源隔离三个步骤;

所述虚拟网络映射平面实现面向用户和面向底层网络的透明虚拟化,虚拟化平面管理全部的物理网络拓扑,并向用户提供隔离的虚拟网络;

所述网络结构虚拟化对物理网络结构进行抽象虚拟化;

所述网络资源隔离拟化仅仅完成了物理资源到虚拟资源的抽象过程,为实现完全的网络虚拟化,还需要对不同的用户提供隔离的网络资源。

通过本发明的上述方案,所述网络资源隔离包括控制面隔离、数据面隔离和地址隔离,所述控制面隔离保证用户的控制器在运行时不受其他用户控制器的影响,保证用户对虚拟化平面资源的使用;

所述数据面隔离保证用户的资源不被其他用户所占据;

所述地址隔离为使用户能在自己的虚拟用户网中任意使用地址。

通过本发明的上述方案,所述面向高机动环境的容器动态调度管理技术包括容器集群调度器设计、容器网络通信管理与优化和基于负载的自适应弹性伸缩,所述容器集群调度器设计基于kubernetes的容器集群管理系统架构集群中的机器被划分为一个master节点和一群工作节点(node),其中master节点上运行着集群管理相关的一组进程api服务、管理控制器、调度器和高可用键值数据库etcd四个组件,其中前三个组件构成了集群的总控中心,负责对集群中所有资源进行管控和调度,在每个node节点上运行kubelet、容器虚拟化、存储虚拟化和网络虚拟化的组件,负责对本节点的pod的生命周期进行管理,以及实现服务代理的功能,在所有节点运行kunbectl命令行工具,提供集群管理工具集,集群中的调度器负责pod在集群节点中的调度分配,接收控制器创建的新pod,为其安排一个目标node,目标node上的kubelet服务进程接管后续工作负责pod整个生命周期,调度器的作用是将带调度的pod按照特定的调度算法和调度策略绑定到集群中的某个node上,并将绑定信息写入etcd中,在整个调度过程中涉及三个对象,分别是:带调度pod列表、可用node列表,以及调度算法和策略;

所述容器网络通信管理与优化包括容器到容器之间的直接通信、pod到pod之间的通信和pod到service之间的通信三个部分;

所述基于负载的自适应弹性伸缩基于负载的弹性调度系统能够对容器环境的计算、存储负载情况进行监控,并根据实时负载进行自适应弹性伸缩调度,系统主要由底层容器集群、负载均衡和伸缩控制系统这三部分组成,上层微服务基于docker容器进行构建,负载均衡使得集群中的微服务容器能够正常收到用户的请求,伸缩控制系统是整个系统架构的核心部分,包括资源监控模块、伸缩决策模块和资源调度模块,其中资源监控模块负责统计物理主机和docker容器的资源使用情况并报告给伸缩决策模块,伸缩决策模块会分析统计数据从而决定是否需要进行扩容或缩容,资源调度模块负责对底层的容器资源进行调度,负责容器的创建和销毁工作,资源动态调度算法在容器集群中每个节点上所有运行着的应用实例之间进行资源动态调度,当可以利用容器集群上应用实例的资源监控数据生成预测数据后,针对每种资源运用该算法生成一系列资源伸缩决策,并将决策响应到容器的请求资源限制中。

通过本发明的上述方案,所述基于负载的自适应弹性伸缩包括资源监控架构设计、伸缩决策模块设计和资源调度架构设计,所述资源监控架构设计资源监控模块需要对主机和容器的cpu、内存和磁盘等资源使用情况进行收集并进行存储,按照功能可以将其划分为数据采集(agent端)、监控服务(monitor)、数据存储(dataserver)和仪表盘(dashboards)这四个模块;

所述伸缩决策模块设计伸缩决策模块主要负责对资源监控模块产生的监控数据进行分析并做出相应的伸缩决策,主要包括建模模块和控制模块,建模预测模块主要针对使用预测型伸缩算法的网络流量这一指标,它会从数据库中获取网络流量的历史观测数据并进行建模预测,给出网络流量的预测数据,控制模块会不断获取建模预测模块和监控服务模块的数据,只要有一种规则指定的数据超过阈值时,便会触发相应的伸缩指令;

所述资源调度架构设计资源调度模块主要负责对容器集群进行数量上的调整,会一直等待伸缩决策模块的伸缩指令,然后执行相应的容器调度命令,包括新建容器和销毁容器,资源调度模块主要由容器调度模块(dockerscheduler)和管理器模块(manager)这两部分构成,其中容器调度模块负责每台主机上的容器创建或销毁任务,管理器模块则负责容器调度的计算及分配,在接收到伸缩决策模块的伸缩指令时会自动给容器调度模块发送相应的命令。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限定本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1