一种双控制器集群共享资源的调度方法技术

技术编号:15706429 阅读:142 留言:0更新日期:2017-06-26 19:40
本发明专利技术涉及一种双控制器集群共享资源的调度方法,适用于大数据集群存储,属于集群存储技术领域。本发明专利技术针对双控制器集群中,共享资源不能依据用户实际业务需求在两个控制器之间灵活的调度,导致双控制器的物理带宽和计算能力等资源无法充分发挥其作用的问题,设计实现一种双控制器集群共享资源的调度方法,可以根据用户的实际业务需求,灵活地配置共享资源及与其相关的链路,通过监控与资源相关的链路状态,比较共享资源在两个控制器上的链路权重和,并根据权重和的大小自动在两个控制器之间进行资源调度,从而实现不间断的对外提供服务,保证集群的高可靠性和高可用性。

Method for dispatching shared resource of dual controller cluster

The invention relates to a scheduling method of dual controller cluster shared resources, which is suitable for large data cluster storage and belongs to the field of cluster storage technology. The present invention for dual controller cluster, sharing resources can not according to the user's actual business needs between the two controller of flexible scheduling leads to dual controller physical bandwidth and computing ability of resources can not fully play its role, the design and implementation of a dual controller cluster resource scheduling method, according to the actual business needs of users flexible configuration, sharing resources and related links, through monitoring and resource link state related to the shared resources in the two controller on the link weights and, according to the weight and size automatically between two controller resource scheduling, providing service to achieve uninterrupted, to ensure the high reliability of cluster and high availability.

【技术实现步骤摘要】
一种双控制器集群共享资源的调度方法
本专利技术涉及一种双控制器集群共享资源的调度方法,适用于双控制器集群存储系统,属于集群海量数据存储

技术介绍
数据,已经成为所有企业、个人最重要的资产。围绕着数据的存储,诞生了各式各样的存储技术。为了提高存储性能,保障数据安全,增大存储容量,兼顾存储成本,人们设计了多种类型的独立磁盘冗余阵列(RedundantArraysofIndependentDisks,RAID)。为了提高存储系统的可用性,保障业务的连续性,人们设计了集群存储系统,集群内的各控制器节点通过网络等手段进行通信。目前使用最广泛的是由两个控制器组成的双控制器集群。双控制器集群的后端存储介质是通过光纤或SAS链路共享磁盘阵列的逻辑卷,或是通过SAS链路共享expander上的磁盘,前端业务则是通过以太网或光纤,使用nfs、cifs、scst等协议,提供文件级或块级的存储导出服务。双控制器集群有两种工作模式,一种是active-standby模式:集群中的两个控制器一个为主控制器,另一个为备控制器。应用程序主要运行在主控制器上,当主控制器出现故障时,通知备控制器接管原先在主控制器上的业务,以使业务不间断;另一种是active-active模式:集群中的两个控制器同时对外提供业务,两个控制器互为主备,一个控制器出现故障后,将其上的业务切换到另一个控制器上。对于双控制器集群来说,两个控制器共享后端的存储介质,然而存储介质不能同时被两个控制器使用,所以必须为存储介质设定属主。当某个控制器出现某些故障时,将该控制器上的共享资源全部切换到另一控制器上,以保证双机集群系统的高可用性,保证业务的连续性。但是这种资源的调度方法存在一定的局限性。当某控制器仅某部分出现故障,仅对某些共享资源有影响,而对该控制器上的其它共享资源并无影响,此时将该控制器上的所有共享资源都切换到另一控制器上,会加大另一控制器上的压力,严重影响其性能,同时造成原有控制器上物理带宽和计算能力等资源的闲置和浪费。下面对本专利用到的一些技术术语进行解释:链路:包括控制器上向外提供业务所使用的以太网链路、FC链路等,以及控制器连接后端存储介质所使用的SAS链路、FC链路等。虚拟存储池:使用共享的后端存储介质在某个控制器上创建的存储池,其在同一时间只能属于一个控制器,但可以在两个控制器之间进行切换。为使该虚拟存储池向外提供业务,需使用控制器上的一些链路,包括连接后端存储介质的SAS链路、FC链路,提供NAS业务、ISCSI业务所需的以太网链路,提供FC业务所需的FC链路。auto-failback:在双控制器集群中控制资源调度的选项。当某一控制器出现故障时,控制器上的共享资源自动切换到备用控制器上。若该选项处于开启状态时,当出现故障的控制器恢复正常时,属于该控制器上的共享资源从备用控制器自动切换回来;若该选项处于关闭状态时,当出现故障的控制器恢复正常时,属于该控制器上的共享资源并不从备用控制器切换回来。
技术实现思路
本专利技术的目的是为解决在双控制器集群中以控制器为粒度切换共享资源导致影响性能、资源闲置等的问题,提出一种双控制器集群共享资源的调度方法。本专利技术的思想是每个控制器监视对外提供业务所需的所有链路的状态,并根据实际业务需求,对每条链路的权重进行设置;当使用共享资源时,为其分配与其相关的链路,根据所有链路的状态计算共享资源在两个控制器上的权重,然后两个控制器之间使用心跳盘或心跳网口等方式进行心跳信息传递,通过比较两个控制器上共享资源的权重对共享资源进行调度。本专利技术的目的是通过以下技术方案实现的:一种双控制器集群共享资源的调度方法,包括以下内容:一、链路监视:监视两个控制器上所有的链路状态,链路的权重可以根据实际需求进行设置。包括以下内容:1)双控制器集群中两个控制器的链路默认是相同的,因此将两个控制器上的链路在逻辑上一对一建立绑定,以保证共享资源在每个控制器上能够使用逻辑上相同的链路;2)独立的监视连接在控制器上所有的SAS链路,并为每条SAS链路设置独立的权重;3)独立的监视连接在控制器上所有的FC端口,并为每个端口设置独立的权重;所述FC端口或为initiator模式,以连接磁盘阵列上的逻辑卷;或为target模式,向外提供服务;4)独立的监视连接在控制器上的所有网口,并为每个网口设置独立的权重;对于由多个网口创建的bond口情形同样视为一个网口;二、资源管理:使用共享的后端存储介质为某个控制器创建虚拟存储池,即为共享资源分配属主,同时为该虚拟存储池设置与其相关的链路,链路需按照实际的物理连接、提供的业务类型等分成一个个监控组,设置相关链路的方法具体包括以下内容:1)将与虚拟存储池相关的每条连接expander的SAS链路设置为一个监视组;2)将与虚拟存储池相关的每条连接磁盘阵列的SAS链路设置为一个监视组;3)将与虚拟存储池相关的FCinitiator模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;4)将与虚拟存储池相关的FCtarget模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;5)将与虚拟存储池相关的每个网络端口(此处网络端口包含bond端口)设置为一个监视组;三、资源调度:根据虚拟存储池及与其相关的监视组中链路的状态,进行资源调度,包括以下内容:1)根据虚拟存储池及与其相关的链路状态,在两个控制器使用下列公式分别计算权重:W=(ΣLSasDisk+ΣLFcInit+ΣLSasRaid)*(ΣLFcTar+∑LNet)其中,∑LSasDisk为共享expander上磁盘时状态正常的的SAS链路监视组的所有链路的权重和,ΣLFcInit为所有FCinitiator模式端口监视组的权重和,每个FCinitiator模式端口监视组的权重为组内状态正常的链路的最大权重;∑LSasRaid为共享后端磁盘阵列时状态正常的SAS链路监视组的所有链路的权重和,∑LFcTar为所有FCtarget模式端口监视组的权重和,每个FCtarget模式端口监视组的权重为组内状态正常的链路的最大权重;ΣLNet为状态正常的网口监视组的所有链路的权重和;ΣLSasDisk+ΣLFcInit+∑LSasRaid表示后端连接存储介质相关链路监视组的权重和,∑LFcTar+∑LNet表示向外提供业务相关链路监视组的权重和;如果虚拟存储池与某些链路无关或是链路处于未连接状态,则该链路的权重按0计算,否则按链路监视中设置的权重值计算;2)当创建虚拟存储池或控制器上的链路状态发生变化时,两个控制器进行通信,获取虚拟存储池在对端控制器上的权重;作为优选,所述两个控制器进行通信通过心跳盘或是心跳网口方式实现;3)比较虚拟存储池在本地控制器与对端控制器上的权重,权重小的控制器放弃虚拟存储池,权重大的控制器获取虚拟存储池;在权重相同的情况下,如果auto-failback开启,则虚拟存储池的属主获取虚本文档来自技高网
...
一种双控制器集群共享资源的调度方法

【技术保护点】
一种双控制器集群共享资源的调度方法,其特征在于:包括以下内容:一、链路监视:监视两个控制器上所有的链路状态,链路的权重根据实际需求进行设置;包括以下内容:1)双控制器集群中两个控制器的链路默认是相同的,因此将两个控制器上的链路在逻辑上一对一建立绑定,以保证共享资源在每个控制器上能够使用逻辑上相同的链路;2)独立的监视连接在控制器上所有的SAS链路,并为每条SAS链路设置独立的权重;3)独立的监视连接在控制器上所有的FC端口,并为每个端口设置独立的权重;所述FC端口或为initiator模式,以连接磁盘阵列上的逻辑卷;或为target模式,向外提供服务;4)独立的监视连接在控制器上的所有网口,并为每个网口设置独立的权重;对于由多个网口创建的bond口情形同样视为一个网口;二、资源管理:使用共享的后端存储介质为某个控制器创建虚拟存储池,即为共享资源分配属主,同时为该虚拟存储池设置与其相关的链路,链路需按照实际的物理连接、提供的业务类型等分成一个个监控组,设置相关链路的方法具体包括以下内容:1)将与虚拟存储池相关的每条连接expander的SAS链路设置为一个监视组;2)将与虚拟存储池相关的每条连接磁盘阵列的SAS链路设置为一个监视组;3)将与虚拟存储池相关的FC initiator模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;4)将与虚拟存储池相关的FC target模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;5)将与虚拟存储池相关的每个网络端口(此处网络端口包含bond端口)设置为一个监视组;三、资源调度:根据虚拟存储池及与其相关的监视组中链路的状态,进行资源调度,包括以下内容:1)据虚拟存储池及与其相关的链路状态,在两个控制器使用下列公式分别计算权重:W=(ΣLSasDisk+ΣLFcInit+ΣLSasRaid)*(ΣLFcTar+ΣLNet)其中,ΣLSasDisk为共享expander上磁盘时状态正常的的SAS链路监视组的所有链路的权重和,∑LFcInit为所有FC initiator模式端口监视组的权重和,每个FC initiator模式端口监视组的权重为组内状态正常的链路的最大权重;∑LSasRaid为共享后端磁盘阵列时状态正常的SAS链路监视组的所有链路的权重和,∑LFcTar为所有FC target模式端口监视组的权重和,每个FC target模式端口监视组的权重为组内状态正常的链路的最大权重;∑LNet为状态正常的网口监视组的所有链路的权重和;∑LSasDisk+∑LFcInit+∑LSasRaid表示后端连接存储介质相关链路监视组的权重和,ΣLFcTar+ΣLNet表示向外提供业务相关链路监视组的权重和;如果虚拟存储池与某些链路无关或是链路处于未连接状态,则该链路的权重按0计算,否则按链路监视中设置的权重值计算;2)当创建虚拟存储池或控制器上的链路状态发生变化时,两个控制器进行通信,获取虚拟存储池在对端控制器上的权重;3)比较虚拟存储池在本地控制器与对端控制器上的权重,权重小的控制器放弃虚拟存储池,权重大的控制器获取虚拟存储池;在权重相同的情况下,如果auto‑failback开启,则虚拟存储池的属主获取虚拟存储池,另一控制器放弃虚拟存储池;如果auto‑failback关闭,则虚拟存储池不进行切换。...

【技术特征摘要】
2016.12.30 CN 20161125765481.一种双控制器集群共享资源的调度方法,其特征在于:包括以下内容:一、链路监视:监视两个控制器上所有的链路状态,链路的权重根据实际需求进行设置;包括以下内容:1)双控制器集群中两个控制器的链路默认是相同的,因此将两个控制器上的链路在逻辑上一对一建立绑定,以保证共享资源在每个控制器上能够使用逻辑上相同的链路;2)独立的监视连接在控制器上所有的SAS链路,并为每条SAS链路设置独立的权重;3)独立的监视连接在控制器上所有的FC端口,并为每个端口设置独立的权重;所述FC端口或为initiator模式,以连接磁盘阵列上的逻辑卷;或为target模式,向外提供服务;4)独立的监视连接在控制器上的所有网口,并为每个网口设置独立的权重;对于由多个网口创建的bond口情形同样视为一个网口;二、资源管理:使用共享的后端存储介质为某个控制器创建虚拟存储池,即为共享资源分配属主,同时为该虚拟存储池设置与其相关的链路,链路需按照实际的物理连接、提供的业务类型等分成一个个监控组,设置相关链路的方法具体包括以下内容:1)将与虚拟存储池相关的每条连接expander的SAS链路设置为一个监视组;2)将与虚拟存储池相关的每条连接磁盘阵列的SAS链路设置为一个监视组;3)将与虚拟存储池相关的FCinitiator模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;4)将与虚拟存储池相关的FCtarget模式的端口,根据实际的物理连接情况,设置为N个监视组(N为自然数),每个监视组中可以包含多条链路,只要组中一条链路状态正常,即视为链路正常,该组链路的权重为组内状态正常的链路的最大权重;5)将与虚拟存储池相关...

【专利技术属性】
技术研发人员:段舒文王道邦周泽湘王成武沈晶罗华李艳国潘兴旺张恒于召鑫马赵军王爽黄琤霖
申请(专利权)人:北京同有飞骥科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1