CN116841728A - 集群资源调度方法、装置、电子设备及存储介质 - Google Patents
集群资源调度方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116841728A CN116841728A CN202310577610.7A CN202310577610A CN116841728A CN 116841728 A CN116841728 A CN 116841728A CN 202310577610 A CN202310577610 A CN 202310577610A CN 116841728 A CN116841728 A CN 116841728A
- Authority
- CN
- China
- Prior art keywords
- storage
- resources
- server
- type
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000012634 fragment Substances 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及云计算、云存储技术领域,尤其涉及集群资源调度方法、装置、电子设备及存储介质。具体实现方案为:获取应用程序对应的调度表;根据调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行应用程序的资源;其中,第一分片由第一类服务器提供的多个第一节点构成,用于提供存储资源;第二分片由第二类服务器提供的多个第二节点构成,用于提供同时存储资源和计算资源。既能满足存储服务自身的软硬件高效迭代要求,降低单位存储成本,又兼顾了业务上的扩容效率。
Description
技术领域
本公开涉及云计算、云存储技术领域,尤其涉及集群资源调度方法、装置、电子设备及存储介质。
背景技术
存储服务是有状态服务,和纯计算的无状态服务的高弹性相比,存储服务属于低弹性服务。低弹性的存储服务和高弹性的计算服务通过PaaS混合部署同一个机器资源池,这会影响机房资源的整体弹性能力。在互联网to C(Consumer,消费者)的业务场景中,一般业务流量每天都具有规律性的高峰低谷。在夜间凌晨是流量低谷期,对应时段机房资源使用率会较低。针对这种潮汐特性,一般会将凌晨机房资源进行二次售卖利用,以提高资源利用率并降低成本。但混合部署的存储服务,由于低弹性会导致凌晨资源难以二次售卖。
存储服务主要消耗SSD(Solid State Disk,固态硬盘)存储资源,对CPU(CentralProcessing Unit,中央处理器)/内存要求不太高,而高弹性的纯计算无状态服务需要大量的CPU/内存资源,会对CPU性能有更高的要求,二者的资源需求不同。针对存储服务来说,随着SSD技术的发展,为发挥SSD硬件性能,在基础软件层面有不同于计算服务的要求,比如BIOS(Basic Input Output System,基本输入输出系统)参数、用户态设备驱动软件、操作系统内核。因此,存储和计算两类服务混合部署在一起,会导致基础软件层难以针对性的升级,阻碍存储服务性能的提升。
鉴于以上问题,现有技术中存储服务首先可以向硬件厂商针对性的定制“胖存储机型”套餐。该套餐在单机上配置更多块SSD盘,同时降低CPU/内存的配置,使得单机的性价比更高。然后在基础环境部署时定制基础软件层,并和计算服务分离部署。但如果存储服务完全采用自行购买物理机独占部署的方式,在互联网商业公司内,会存在物理机购买交付周期长,在业务流量增长时难以快速的满足业务表的扩容需求。
综上所述,现有的集群部署方案无法兼顾扩容的灵活性和存储设备的单位存储成本。
发明内容
本公开提供了一种集群资源调度方法、装置、电子设备及存储介质。
根据本公开的第一方面,提供了一种集群资源调度方法,包括:
获取应用程序对应的调度表;
根据所述调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行所述应用程序的资源;所述资源包括运行所述应用程序所需的存储资源和计算资源;
其中,所述第一分片由第一类服务器提供的多个第一节点构成,用于提供所述存储资源;
所述第二分片由第二类服务器提供的多个第二节点构成,用于提供同时所述存储资源和所述计算资源。
根据本公开的第二方面,提供了一种集群资源调度装置,包括:
获取模块,被配置为获取应用程序对应的调度表;
调度模块,被配置为根据所述调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行所述应用程序的资源;所述资源包括运行所述应用程序所需的存储资源和计算资源;
其中,所述第一分片由第一类服务器提供的多个第一节点构成,用于提供所述存储资源;
所述第二分片由第二类服务器提供的多个第二节点构成,用于提供同时所述存储资源和所述计算资源。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述技术方案中任一项所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述技术方案中任一项所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述技术方案中任一项所述的方法。
本公开提供了一种集群资源调度方法、装置、电子设备及存储介质,能够通过第一类服务器独占部署,满足存储服务自身的软硬件高效迭代要求,降低单位存储成本;另一个方面,存储服务可以将调度表同时调度到第一类服务器和第二类服务器的节点上,这样能以第二类服务器的混合部署作为资源满足的兜底方式,兼顾了业务上的扩容效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例中的集群资源调度方法的步骤示意图;
图2是本公开实施例中的存储设备集群的结构示意图;
图3是本公开实施例中的集群资源调度装置的原理框图;
图4是用来实现本公开实施例的集群资源调度方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
现有的集群部署方式主要包括以下三种:
(1)完全独立部署:存储资源和计算资源各自部署到独立的资源池,存储服务只部署在存储资源池,计算服务只部署在计算资源池,各自资源池可以按照服务类型定制机器配置。
完全独立部署方案可以使得硬件和软件更适合存储服务也更容易迭代升级。但两套机器集群资源无法互通互补,在业务需要紧急扩容时,可能因为独占集群资源不够导致扩容效率降低。
(2)完全混合部署:随着云原生的发展,有状态的分布式存储服务也具备了上云(是指企业以互联网为基础进行信息化基础设施、管理、业务等方面应用,并通过互联网与云计算手段连接社会化资源、共享服务及能力的过程)的能力,将存储服务和计算服务混合部署在同一个资源池中,资源池里的机器套餐选用计算和存储均衡型配置,也就是现有技术中的“普通机型”,存储能力和计算能力相对均衡。
完全混合部署的方案,可以使得资源互补,以达到最理想的资源使用率,降低了成本。但存储服务依赖的软硬件升级迭代难以进行,每次更新升级都要以年为单位进行,因为要充分验证软硬件升级对众多计算服务的影响。这会极大制约了存储服务自身的性能提升和发展。另外,有状态服务在做迁移时会更为复杂,统一为一个大的混部环境,频繁地自动迁移对有状态的存储服务稳定性也带来一些额外的维护成本。
(3)存储服务的存储单元和计算单元分离部署:存储服务虽然主要依赖SSD/HDD(Hard Disk Drive,机械硬盘)存储盘,但要对外提供服务需要提供读写能力,读写能力是需要计算资源的,所以存储服务内部可以再细分为存储单元和计算单元。随着云盘技术和网络带宽技术的发展,存储服务里的计算单元和存储单元进一步分离成为可能,存储单元不再是本地SSD盘,而可以是远程的网络云盘。进一步分离后,计算单元部署在计算集群,存储单元部署在存储集群。
存储服务的存储单元和计算单元分离后,计算单元远程访问存储单元时,至少多了一次网络IO(Input/Output,输入/输出),这对一些要求高性能的存储系统来说是难以接受的。另外存储计算分离依赖云盘技术的成熟,对各公司/组织的基础架构有更高的要求,方案也更为复杂,有比较高的前期技术研发投入成本。
上述三种方案有其各自的使用场景,但总体上来说难以兼顾集群维护成本、软硬件迭代效率。
存储服务架构里涉及的几个概念:
节点(Node):在物理机器上通过PaaS(Platform as a Service,平台即服务)创建出来的一个个容器实例称为结点Node,每个Node会占有一定量的CPU,一定量的内存资源,存储服务的Node会独占一块SSD存储盘。
应用程序(App):在PaaS平台上创建出来的一个服务,根据具体的资源需求可以申请n个实例,也就是n个Node。
分片(ShardSet):存储服务里分片的概念,存储服务为保障服务的可用性和数据的可靠性一般需要三个副本组成一个分片,其中一个Node是主结点,其他两个是从结点,也就是说一个ShardSet分片需要三个Node。
标签(Label):App可以自定义一个标签,ShardSet定义时也可以定义一个标签。
集群(Cluster):存储服务里的逻辑概念,一个集群里可以部署多个App。
表(Table):提供给用户使用的逻辑实体。用户向存储服务申请一张张表,同时声明好这张表所需的存储空间大小、读IO速度、写IO速度。然后由存储服务负责将表所需的物理上的实例资源分配给这张表。其中,读IO就是发指令从磁盘读取某段序号连续的扇区内容。指令一般是通知磁盘开始扇区位置,然后给出需要从这个初始扇区往后读取的连续扇区个数,同时给出动作是读还是写。磁盘收到这条指令就会按照指令的要求读或者写数据。控制器发出这种指令加数据并得到对方回执的过程就是一次IO读或IO写。
异构APP:假设“胖存储机型”上单盘是4TB,“普通机型”上单盘是1TB,这样在不同机型上创建App时,App里Node实例占用的SSD盘、CPU、内存是不一样的。单Node实例对应提供给用户的存储空间大小、读IO、写IO的能力也是不一样的,所以这里称之为“异构”。
针对现有技术中存在的上述问题,本公开提供了一种集群资源调度方法,如图1所示,包括:
步骤S101,获取应用程序对应的调度表;
调度表是指Table,用户使用应用程序时,向存储服务申请一张表,同时声明好这张表所需的存储空间大小、读IO速度、写IO速度。
步骤S102,根据调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行应用程序的资源;资源包括运行应用程序所需的存储资源和计算资源。
根据存储空间大小、读IO速度、写IO速度这几个指标确定运行程序所需的存储资源,然后由存储服务负责将表所需的物理上的实例资源分配给这张表。也就是说,同一个应用程序可以部署在不同的资源池,根据表所需的存储资源进行调度,可以将表同时调度到第一类服务器和第二类服务器上。
如图2所示,第一分片由第一类服务器提供的多个第一节点构成,用于提供存储资源。
具体地,本实施例中的第一类服务器可以采用“胖存储机型”,该机型相比“普通机型”配置更多块SSD盘,同时降低CPU/内存的配置,例如“胖存储机型”可以采用单机8块SSD盘,每块盘4TB,同时配置相对较少的CPU和内存资源。由于单机挂载的存储资源较多,所以叫“胖存储机型”,“胖存储机型”单机要求CPU资源较低,所以单机成本也更低,可以降低单位存储成本。
第二分片由第二类服务器提供的多个第二节点构成,用于提供同时存储资源和计算资源。
第二类服务器可以采用“普通机型”,“普通机型”为兼顾计算服务需求和存储服务需求,每台机器是均衡性的,也就是CPU和内存资源配置相对较多,同时也配置1~3块SSD盘,称之为“普通机型”。
通过上述技术方案,图2所示cluster(集群)包含了两种类型的ShardSet(分片),并且两种分片提供了不同的服务。分片构成的Sharding cluster(分片集群)是一种可以水平扩展的模式,在数据量很大时具有明显优势,实际大规模应用一般会采用这种架构去构建。分片很好的解决了单台服务器磁盘空间、内存、cpu等硬件资源的限制问题,把数据水平拆分出去,降低单节点的访问压力。每个分片都是一个独立的数据库,所有的分片组合起来构成一个逻辑上完整的数据库。因此,分片机制降低了每个分片的数据操作量及需要存储的数据量,达到多台服务器来应对不断增加的负载和数据的效果。
本实施例中将“胖存储机型”单独搭建集群,和当前线上的“普通机型”分开部署。独立集群上只部署存储服务,不部署计算服务。因为是存储独占集群,所以做软硬件升级会更为方便,比如SSD存储的SPDK(Storage Performance Development Kit,存储性能开发工具包)、ZNS(Zoned Namespace,分区命名空间)等新型技术。
本公开在互联网的大规模存储需求的业务场景下,能够通过“胖存储机型”的独占集群满足存储服务自身的软硬件高效迭代要求,同时降低了单位存储成本;另一个方面,存储服务可以将表同时调度到“普通机型”和“胖存储机型”上,这样能以“普通机型”的混部集群作为资源满足的兜底方式,兼顾了业务上的扩容效率。
作为可选的实施方式,步骤S102,根据调度表对同一集群中的第一分片和第二分片进行资源调度之前,如图2所示,还包括:
在第一类服务器S1上创建第一应用程序APP1,并对第一应用程序APP1对应的第一节点Node1添加第一标签Label1;
在第二类服务器S2上创建第二应用程序APP2,对第二应用程序APP2对应的第二节点Node2添加第二标签Label2;
在集群中创建至少一个第一分片ShardSet1,以及至少一个第二分片ShardSet2;
将第一分片ShardSet1与第一标签Label1绑定,从而将第一分片ShardSet1与第一应用程序APP1绑定;
将第二分片ShardSet2与第二标签Label2绑定,从而将第二分片ShardSet2与第二应用程序APP2绑定。
作为可选的实施方式,第一类服务器的存储资源大于第二类服务器,并且第一类服务器的计算资源小于第二类服务器。第一类服务器可以采用“胖存储机型”,配置更多块SSD盘,同时降低CPU/内存的配置,具有比“普通机型”更强的存储资源,以及较弱的计算资源;第二类服务器可以采用“普通机型”,计算资源和存储资源比较平衡。在本实施例中,第一类服务器独占部署,是指其提供的第一节点构成的第一分片ShardSet1,仅提供存储服务,不提供计算服务;而“普通机型”混合部署,即第二分片ShardSet2既提供存储服务,又能提供计算服务。
示例性地,如图2所示,在“胖存储机型”的存储独占集群上创建App1,App1上每个结点Node1都打上Label1标签,在“普通机型”集群上创建App2,App2上每个结点Node2都打上Label2标签,在集群Cluster里创建出两种类型的ShardSet(每种类型都会包括很多个ShardSet),ShardSet1上绑定Label1,表示ShardSet1和Label1对应的Node1绑定,也就是和“胖存储机型”提供的Node1绑定。ShardSet2绑定Label2,表示ShardSet2和Label2对应的Node2绑定,也就是和“普通机型”的Node2绑定。这样两种机型的Node都组合成了ShardSet,以供存储服务的Cluster进行调度使用。用户申请表时,只需要在Cluster中选择所需的ShardSet进行满足即可,两种ShardSet只是存储、读、写Quota(配额)不同而已,可以按需组合分配。例如,在表所需的存储空间较大并且对计算能力要求较低时,可以优先选择ShardSet1的节点资源,也可以同时使用ShardSet1和ShardSet2的节点资源。
本实施例中,由于用户申请/操作的都是逻辑上的表(Table),通过同一张表可以同时调度在“胖存储机型”App和“普通机型”App上。对于用户来说,用户的表所需资源能被物理的App满足即可,用户并不用选择表是构建在“胖存储机型”创建的App1上还是在“普通机型”创建的App2上,两个App的资源在存储服务内部是混合调度的。用户的表,可能部分资源在App1上,其它部分资源在App2上。
在对表扩容时,可以优先把“胖存储机型”提供的ShardSet1先分配完成,在缩容时,优先缩“普通机型”提供的ShardSet2。这样做是因为“胖存储机型”是定制的独占集群,购置物理机周期较长,这种策略能保持“胖存储机型”的独占集群容量基本保持不变。但扩容时如果“胖存储机型”SharSet1资源已用完,再通过“普通机型”的SharSet2作为兜底方式满足资源需求,这样可以保持扩容效率不退化。在集群Cluster里“胖机型”和“普通机型”资源的比例,可以按需调节。
作为可选的实施方式,每个第一分片包括三个第一节点;每个第二分片包括三个第二节点。本实施例中的每个分片需要三个副本组成,其中一个Node是主结点,其它两个是从结点。也就是说一个ShardSet分片需要三个Node。副本集具有自动故障恢复的功能。主从集群和副本集最大的区别就是副本集没有固定的“主节点”;整个集群会选出一个“主节点”,当其挂掉后,又在剩下的从节点中选中其他节点为“主节点”,副本集总有一个活跃点以及一个或多个备份节点。
本公开还提供了一种集群资源调度装置300,如图3所示,包括:
获取模块301,被配置为获取应用程序对应的调度表;
调度表是指Table,用户使用应用程序时,向存储服务申请一张表,同时声明好这张表所需的存储空间大小、读IO速度、写IO速度。
调度模块302,被配置为根据调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行应用程序的资源;资源包括运行应用程序所需的存储资源和计算资源;
根据存储空间大小、读IO速度、写IO速度这几个指标确定运行程序所需的存储资源,然后由存储服务负责将表所需的物理上的实例资源分配给这张表。也就是说,同一个应用程序可以部署在不同的资源池,根据表所需的存储资源进行调度,可以将表同时调度到第一类服务器和第二类服务器上。
如图2所示,第一分片由第一类服务器提供的多个第一节点构成,用于提供存储资源;
具体地,本实施例中的第一类服务器可以采用“胖存储机型”,该机型相比“普通机型”配置更多块SSD盘,同时降低CPU/内存的配置,例如“胖存储机型”可以采用单机8块SSD盘,每块盘4TB,同时配置相对较少的CPU和内存资源。由于单机挂载的存储资源较多,所以叫“胖存储机型”,“胖存储机型”单机要求CPU资源较低,所以单机成本也更低,可以降低单位存储成本。
第二分片由第二类服务器提供的多个第二节点构成,用于提供同时存储资源和计算资源。
第二类服务器可以采用“普通机型”,“普通机型”为兼顾计算服务需求和存储服务需求,每台机器是均衡性的,也就是CPU和内存资源配置相对较多,同时也配置1~3块SSD盘,称之为“普通机型”。
通过上述技术方案,图2所示cluster(集群)包含了两种类型的ShardSet(分片),并且两种分片提供了不同的服务。分片构成的Sharding cluster(分片集群)是一种可以水平扩展的模式,在数据量很大时具有明显优势,实际大规模应用一般会采用这种架构去构建。分片很好的解决了单台服务器磁盘空间、内存、cpu等硬件资源的限制问题,把数据水平拆分出去,降低单节点的访问压力。每个分片都是一个独立的数据库,所有的分片组合起来构成一个逻辑上完整的数据库。因此,分片机制降低了每个分片的数据操作量及需要存储的数据量,达到多台服务器来应对不断增加的负载和数据的效果。
本实施例中将“胖存储机型”单独搭建集群,和当前线上的“普通机型”分开部署。独立集群上只部署存储服务,不部署计算服务。因为是存储独占集群,所以做软硬件升级会更为方便,比如SSD存储的SPDK、ZNS等新型技术。
本公开在互联网的大规模存储需求的业务场景下,能够通过“胖存储机型”的独占集群满足存储服务自身的软硬件高效迭代要求,同时降低了单位存储成本;另一个方面,存储服务可以将表同时调度到“普通机型”和“胖存储机型”上,这样能以“普通机型”的混部集群作为资源满足的兜底方式,兼顾了业务上的扩容效率。
作为可选的实施方式,调度模块302根据调度表对同一集群中的第一分片和第二分片进行资源调度之前,如图2所示,还包括:
在第一类服务器S1上创建第一应用程序APP1,并对第一应用程序APP1对应的第一节点Node1添加第一标签Label1;
在第二类服务器S2上创建第二应用程序APP2,对第二应用程序APP2对应的第二节点Node2添加第二标签Label2;
在集群中创建至少一个第一分片ShardSet1,以及至少一个第二分片ShardSet2;
将第一分片ShardSet1与第一标签Label1绑定,从而将第一分片ShardSet1与第一应用程序APP1绑定;
将第二分片ShardSet2与第二标签Label2绑定,从而将第二分片ShardSet2与第二应用程序APP2绑定。
作为可选的实施方式,第一类服务器的存储资源大于第二类服务器,并且第一类服务器的计算资源小于第二类服务器。第一类服务器可以采用“胖存储机型”,配置更多块SSD盘,同时降低CPU/内存的配置,具有比“普通机型”更强的存储资源,以及较弱的计算资源;第二类服务器可以采用“普通机型”,计算资源和存储资源比较平衡。在本实施例中,第一类服务器独占部署,是指其提供的第一节点构成的第一分片ShardSet1,仅提供存储服务,不提供计算服务;而“普通机型”混合部署,即第二分片ShardSet2既提供存储服务,又能提供计算服务。
示例性地,如图2所示,在“胖存储机型”的存储独占集群上创建App1,App1上每个结点Node1都打上Label1标签,在“普通机型”集群上创建App2,App2上每个结点Node2都打上Label2标签,在集群Cluster里创建出两种类型的ShardSet(每种类型都会包括很多个ShardSet),ShardSet1上绑定Label1,表示ShardSet1和Label1对应的Node1绑定,也就是和“胖存储机型”提供的Node1绑定。ShardSet2绑定Label2,表示ShardSet2和Label2对应的Node2绑定,也就是和“普通机型”的Node2绑定。这样两种机型的Node都组合成了ShardSet,以供存储服务的Cluster进行调度使用。用户申请表时,只需要在Cluster中选择所需的ShardSet进行满足即可,两种ShardSet只是存储、读、写Quota(配额)不同而已,可以按需组合分配。例如,在表所需的存储空间较大并且对计算能力要求较低时,可以优先选择ShardSet1的节点资源,也可以同时使用ShardSet1和ShardSet2的节点资源。
本实施例中,由于用户申请/操作的都是逻辑上的表(Table),通过同一张表可以同时调度在“胖存储机型”App和“普通机型”App上。对于用户来说,用户的表所需资源能被物理的App满足即可,用户并不用选择表是构建在“胖存储机型”创建的App1上还是在“普通机型”创建的App2上,两个App的资源在存储服务内部是混合调度的。用户的表,可能部分资源在App1上,其它部分资源在App2上。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习目标函数算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如集群资源调度方法。例如,在一些实施例中,集群资源调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM403并由计算单元401执行时,可以执行上文描述的集群资源调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行集群资源调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种集群资源调度方法,包括:
获取应用程序对应的调度表;
根据所述调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行所述应用程序的资源;所述资源包括运行所述应用程序所需的存储资源和计算资源;
其中,所述第一分片由第一类服务器提供的多个第一节点构成,用于提供所述存储资源;
所述第二分片由第二类服务器提供的多个第二节点构成,用于提供同时所述存储资源和所述计算资源。
2.根据权利要求1所述的方法,其中,所述调度表包括以下至少一项信息:所需存储空间大小;读IO速度;写IO速度。
3.根据权利要求1或2所述的方法,其中,所述根据所述调度表对同一集群中的第一分片和第二分片进行资源调度之前,还包括:
在所述第一类服务器上创建第一应用程序,并对所述第一应用程序对应的所述第一节点添加第一标签;
在所述第二类服务器上创建第二应用程序,对所述第二应用程序对应的所述第二节点添加第二标签;
在所述集群中创建至少一个所述第一分片,以及至少一个所述第二分片;
将所述第一分片与所述第一标签绑定,从而将所述第一分片与所述第一应用程序绑定;
将所述第二分片与所述第二标签绑定,从而将所述第二分片与所述第二应用程序绑定。
4.根据权利要求1-3中任意一项所述的方法,其中,所述第一类服务器的所述存储资源大于所述第二类服务器,并且所述第一类服务器的所述计算资源小于所述第二类服务器。
5.根据权利要求3所述的方法,其中,每个所述第一分片包括三个所述第一节点;每个所述第二分片包括三个所述第二节点。
6.一种集群资源调度装置,包括:
获取模块,被配置为获取应用程序对应的调度表;
调度模块,被配置为根据所述调度表对同一集群中的第一分片和第二分片进行调度,提供用于运行所述应用程序的资源;所述资源包括运行所述应用程序所需的存储资源和计算资源;
其中,所述第一分片由第一类服务器提供的多个第一节点构成,用于提供所述存储资源;
所述第二分片由第二类服务器提供的多个第二节点构成,用于提供同时所述存储资源和所述计算资源。
7.根据权利要求6所述的装置,其中,所述调度表包括以下至少一项信息:所需存储空间大小;读IO速度;写IO速度。
8.根据权利要求6或7所述的装置,其中,所述调度模块根据所述调度表对同一集群中的第一分片和第二分片进行资源调度之前,还包括:
在所述第一类服务器上创建第一应用程序,并对所述第一应用程序对应的所述第一节点添加第一标签;
在所述第二类服务器上创建第二应用程序,对所述第二应用程序对应的所述第二节点添加第二标签;
在所述集群中创建至少一个所述第一分片,以及至少一个所述第二分片;
将所述第一分片与所述第一标签绑定,从而将所述第一分片与所述第一应用程序绑定;
将所述第二分片与所述第二标签绑定,从而将所述第二分片与所述第二应用程序绑定。
9.根据权利要求6-8中任意一项所述的装置,其中,所述第一类服务器的所述存储资源大于所述第二类服务器,并且所述第一类服务器的所述计算资源小于所述第二类服务器。
10.根据权利要求8所述的装置,其中,每个所述第一分片包括三个所述第一节点;每个所述第二分片包括三个所述第二节点。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310577610.7A CN116841728A (zh) | 2023-05-22 | 2023-05-22 | 集群资源调度方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310577610.7A CN116841728A (zh) | 2023-05-22 | 2023-05-22 | 集群资源调度方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116841728A true CN116841728A (zh) | 2023-10-03 |
Family
ID=88167848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310577610.7A Pending CN116841728A (zh) | 2023-05-22 | 2023-05-22 | 集群资源调度方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841728A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376407A (zh) * | 2023-10-11 | 2024-01-09 | 浙江远算科技有限公司 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
-
2023
- 2023-05-22 CN CN202310577610.7A patent/CN116841728A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376407A (zh) * | 2023-10-11 | 2024-01-09 | 浙江远算科技有限公司 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
CN117376407B (zh) * | 2023-10-11 | 2024-05-03 | 浙江远算科技有限公司 | 一种面向工业软件上云场景的存算分离方法、系统和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9798635B2 (en) | Service level agreement-based resource allocation for failure recovery | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
CN106775946B (zh) | 一种虚拟机快速创建方法 | |
AU2016229135A1 (en) | Opportunistic resource migration to optimize resource placement | |
US9881018B2 (en) | File management in thin provisioning storage environments | |
US9800484B2 (en) | Optimizing resource utilization in a networked computing environment | |
JP7161560B2 (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
US11237761B2 (en) | Management of multiple physical function nonvolatile memory devices | |
CN116841728A (zh) | 集群资源调度方法、装置、电子设备及存储介质 | |
CN105739930A (zh) | 一种存储架构及其初始化方法和数据存储方法及管理装置 | |
US9798483B2 (en) | Object storage power consumption optimization | |
CN110692043B (zh) | 用于对备份数据进行负载平衡的系统和方法 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
US10461991B1 (en) | Dynamic replication peering | |
CN106383671A (zh) | 一种块设备存储集群扩容系统及方法 | |
CN114466030B (zh) | 数据分布存储策略的管理方法、装置及分布式存储系统 | |
CN105321124A (zh) | 一种基于Hadoop的电力云平台设计方案 | |
US11630738B2 (en) | Automatic objective-based compression level change for individual clusters | |
CN110058790B (zh) | 用于存储数据的方法、设备和计算机程序产品 | |
US11017417B1 (en) | Using incentives to manage computing resources | |
US11157322B2 (en) | Hyper-converged infrastructure (HCI) ephemeral workload/data provisioning system | |
CN109947704B (zh) | 一种锁类型切换方法、装置及集群文件系统 | |
CN112416517A (zh) | 一种虚拟化计算组织控制管理系统及方法 | |
CN103562852B (zh) | 一种保障云应用程序服务质量的方法和装置 | |
CN114625474A (zh) | 容器迁移方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |