基于软磁盘阵列的高可用集群控制器、控制方法及系统的制作方法_4

文档序号:9597130阅读:来源:国知局
第一种,控制器是所属者时,工作流程如图中实线所不,按顺序①一②一③一④进行。当前控制器,也即控制器1先做MD操作(创建、删除或者更新等),做完之后再通过进程间通信(Inter-Process Communicat1n, IPC)进行远程过程调用,通知对方控制器,也即控制器2进行相应的创建、删除或者更新等操作,最后结束。
[0084]第二种,当控制器不是所属者时,工作流程如图中虚线所示,按照顺序A、B、C、D进行、当前控制器,也即控制器1会先通知对方控制器(控制器2)进行创建、删除或者更新磁盘阵列等操作,然后由控制器2远程呼叫控制器1做相应的创建、删除或者更新等操作,最后结束。
[0085]在双控制器系统中,MD HA系统中的监控器只监控属于自己的软磁盘阵列。并且在软磁盘阵列发生事件时,通知其他控制器做相应的处理,使得其他控制器上的相应软磁盘阵列副盘的状态与主控制器的状态一致。例如,如图6所示,控制器1为主控制器,是软磁盘阵列的所属者时,监控器监控到自身的软磁盘阵列发生下列情况时,都会通过节点通信模块告诉对方控制器(控制器2)执行相应的操作。这些情况或者说事件包括:开始重建、重建中、重建结束、备用活动、磁盘失效等。而非所属者的控制器不得改变软磁盘阵列的元数据信息,并且仅有只读的权限。
[0086]本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0087]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种基于软磁盘阵列的高可用集群的控制方法,其特征在于,包括以下步骤: 构建一个受主控制器控制的软磁盘阵列,称为第一磁盘阵列; 在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘; 主控制器接收控制命令,根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态,并发送同步命令到所述其他节点; 所述其他节点根据所述同步命令将所述第一磁盘阵列副盘的状态修改为与所述第一磁盘阵列的最新状态相同。2.根据权利要求1所述的基于软磁盘阵列的高可用集群的控制方法,其特征在于,所述主控制器接收控制命令,根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态,并发送同步命令到所述其他节点步骤中,所述主控制器先根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态之后,才会发送所述同步命令到所述其他节点。3.根据权利要求1所述的基于软磁盘阵列的高可用集群的控制方法,其特征在于,所述在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘步骤中,所述其他节点从所述第一磁盘阵列对应的物理磁盘上读出元信息,并根据所读出的元信息重组成第一磁盘阵列副盘。4.根据权利要求1所述的基于软磁盘阵列的高可用集群的控制方法,其特征在于,所述在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘步骤中,在所述集群的除所述主控器外的其他每个节点中均构建一个所述第一磁盘阵列副盘。5.根据权利要求3所述的基于软磁盘阵列的高可用集群的控制方法,其特征在于,所述第一磁盘阵列副盘为只读软磁盘阵列。6.根据权利要求5所述的基于软磁盘阵列的高可用集群的控制方法,其特征在于,当所述主控制器故障时,所述集群中的另一节点被选为新的主控制器;所述新的主控制器将自身的只读软磁盘阵列修改为可读可写软磁盘阵列。7.—种基于软磁盘阵列的高可用集群的控制器,其特征在于,包括处理模块、节点通信模块以及软磁盘阵列存储模块; 所述软磁盘阵列存储模块,用于存储各节点对应的软磁盘阵列; 所述处理模块,用于接收控制命令,并当当前节点为主控制器时,根据接收的控制命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列,发送同步命令至集群中的其他节点,集群中的其他节点根据该同步命令将当前节点对应的软磁盘阵列修改为与所述主控制器对应的软磁盘阵列相同的状态;当当前节点为非主控制器时,将接收的所述同步命令通过所述节点通信模块发送给主控制器,所述主控制器根据接收的同步命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列,并经节点通信模块发送同步命令至非主控制器,该非主控制器根据接收到的所述同步命令将当前节点对应的软磁盘阵列的状态修改为与所述主控制器对应的软磁盘阵列相同的状态。8.根据权利要求7所述的基于软磁盘阵列的高可用集群的控制器,其特征在于: 集群中的主控制器构建有所述主控制器具有读写权限的软磁盘阵列,集群中除所述主控制器外的其他节点中构建有与所述主控制器中的软磁盘阵列相同的软磁盘阵列,作为副盘,但所述其他节点对所述副盘没有写权限。9.根据权利要求7所述的应用于软磁盘阵列的高可用集群的控制器,其特征在于,所述处理模块中包括控制命令处理单元、阵列操作单元、远程控制命令处理单元; 所述控制命令处理单元,用于当当前节点为主控制器时,接收所述控制命令,将所述控制命令发送给所述阵列操作单元,并发送同步命令给所述节点通信模块;当当前节点为从控制器时通过所述节点通信模块发送所述控制命令给集群中的主控制器; 所述远程控制命令处理单元,用于当前节点为从控制器时,接收通过所述节点通信模块传输来的同步命令,并将所述同步命令发送给所述阵列操作单元; 所述阵列操作单元,用于当当前节点为主控制器时,根据接收的控制命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列;当当前节点为从控制器时,根据所述同步命令将当前节点对应的软磁盘阵列的状态修改为与所述主控制器对应的软磁盘阵列相同的状态; 所述处理模块中还包括阵列事件监控单元;所述阵列事件监控单元用于当当前节点为主控制器时,实时监测所述当前节点对应的软磁盘阵列的状态变化,并发送所述状态变化对应的修改命令到所述节点通信模块; 所述节点通信模块还用于传输所述阵列事件监控单元发送来的修改命令到所述集群中的其他节点。10.根据权利要9所述的基于软磁盘阵列的高可用集群的控制器,其特征在于,当集群中的主控制器失效时,所述控制命令处理单元接收到由非主控制器转变为主控制器的控制命令,所述阵列操作单元将非主控制器对应的软磁盘阵列的控制权限修改为读写权限。11.根据权利要8所述的基于软磁盘阵列的高可用集群的控制器,其特征在于: 所述处理模块根据软磁盘阵列的元数据中的主控制器信息判断当前节点是否为主控制器。12.—种基于软磁盘阵列的高可用集群的控制系统,其特征在于,包括两个以上权利要求7至11任一项所述的控制器。13.根据权利要求10所述的基于软磁盘阵列的高可用集群的控制系统,其特征在于,包括两个所述控制器,两个所述控制器中的节点通信模块之间采用进程间通信模式进行通?目O
【专利摘要】本发明公开了一种基于软磁盘阵列的高可用集群控制器、控制方法及系统。其中控制方法包括以下步骤:构建一个受主控制器控制的软磁盘阵列,称为第一磁盘阵列;在集群除主控制器外的其他节点中构建与第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘;主控制器接收控制命令,根据控制命令对第一磁盘阵列进行修改,得到第一磁盘阵列的最新状态,并发送同步命令到其他节点;其他节点根据同步命令将第一磁盘阵列副盘的状态修改为与第一磁盘阵列的最新状态相同。其使其他节点中第一磁盘阵列副盘的状态与主控制器中的状态一致,且磁盘阵列中的元数据相同,在主控制器故障时,其他节点能够快速的代替主控制器继续工作,提高用户体验。
【IPC分类】G06F3/06
【公开号】CN105353984
【申请号】CN201510744986
【发明人】陈杰, 沈伟亮, 殷秋萍
【申请人】北京飞杰信息技术有限公司
【公开日】2016年2月24日
【申请日】2015年11月5日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1