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

文档序号:9597130阅读:626来源:国知局
基于软磁盘阵列的高可用集群控制器、控制方法及系统的制作方法
【技术领域】
[0001]本发明涉及磁盘阵列技术领域,尤其涉及一种基于软磁盘阵列的高可用集群的控制器、控制方法及控制系统。
【背景技术】
[0002]RAID (Redundant Arrays of Independent Disks,磁盘阵列)的高可用性集群是指透过网络共享存储设备,且每个节点都有控制存储设备的能力。在众多节点中,如果一个节点失效了,另外一个节点可以马上接管所有的操作,准备好本地资源,恢复故障节点上卷信息,为用户继续提供服务。
[0003]具有软RAID的集群系统在传统控制模式下,虽然存储设备共享元数据共享,但对于RAID的计算和RAID的控制都是运行在每个节点的内部,多个节点之间没有沟通,无法同步各节点的状态。例如:当一个节点的RAID增加一块硬盘时,另外一个节点无法知道该事件。一个节点正在重建或者重建完成时,其他节点也无法知道。
[0004]因此,在传统控制模式下,主控制器发生故障时,其他节点需要重新录入或者修改磁盘中的元数据,所需时间较长,造成节点启动速度慢。

【发明内容】

[0005]基于此,有必要针对传统技术中新控制节点接管主控制器所用时间较长,效率低的问题,提供一种能够更快应对主控制器故障的一种基于软磁盘阵列的高可用集群的控制方法、应用该方法的控制器,以及包括多个控制器的控制系统。
[0006]为实现本发明目的提供的一种基于软磁盘阵列的高可用集群的控制方法,包括以下步骤:
[0007]构建一个受主控制器控制的软磁盘阵列,称为第一磁盘阵列;
[0008]在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘;
[0009]主控制器接收控制命令,根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态,并发送同步命令到所述其他节点;
[0010]所述其他节点根据所述同步命令将所述第一磁盘阵列副盘的状态修改为与所述第一磁盘阵列的最新状态相同。
[0011]作为一种基于软磁盘阵列的高可用集群的控制方法的可实施方式,所述主控制器接收控制命令,根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态,并发送同步命令到所述其他节点步骤中,所述主控制器先根据所述控制命令对所述第一磁盘阵列进行修改,得到所述第一磁盘阵列的最新状态之后,才会发送所述同步命令到所述其他节点。
[0012]作为一种基于软磁盘阵列的高可用集群的控制方法的可实施方式,所述在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘步骤中,所述其他节点从所述第一磁盘阵列对应的物理磁盘上读出元信息,并根据所读出的元信息重组成第一磁盘阵列副盘。
[0013]作为一种基于软磁盘阵列的高可用集群的控制方法的可实施方式,所述在集群除主控制器外的其他节点中构建与所述第一磁盘阵列相同的软磁盘阵列,作为第一磁盘阵列副盘步骤中,在所述集群的除所述主控器外的每个其他节点中均构建一个所述第一磁盘阵列副盘。
[0014]作为一种基于软磁盘阵列的高可用集群的控制方法的可实施方式,所述第一磁盘阵列副盘为只读软磁盘阵列。
[0015]作为一种基于软磁盘阵列的高可用集群的控制方法的可实施方式,当所述主控制器故障时,所述集群中的另一节点被选为新的主控制器;所述新的主控制器将自身的第一磁盘阵列副盘修改为可读可写软磁盘阵列。
[0016]基于同一发明构思的一种基于软磁盘阵列的高可用集群的控制器,包括处理模块、节点通信模块以及软磁盘阵列存储模块;
[0017]所述软磁盘阵列存储模块,用于存储各节点对应的软磁盘阵列;
[0018]所述处理模块,用于接收控制命令,并当当前节点为主控制器时,根据接收的控制命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列,并发送同步命令至集群中的其他节点,集群中的其他节点根据该同步命令将当前节点对应的软磁盘阵列修改为与所述主控制器对应的软磁盘阵列相同的状态;当当前节点为非主控制器时,将接收的所述同步命令通过所述节点通信模块发送给主控制器,所述主控制器根据接收的同步命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列,并经节点通信模块发送同步命令至非主控制器,该非主控制器根据接收到的所述同步命令对当前节点对应的软磁盘阵列的状态修改为与所述主控制器对应的软磁盘阵列相同的状态;
[0019]作为一种基于软磁盘阵列的高可用集群的控制器的可实施方式,集群中的主控制器构建有所述主控制器具有读写权限的软磁盘阵列,集群中除所述主控制器外的其他节点中构建有与所述主控制器中的软磁盘阵列相同的软磁盘阵列,作为副盘,但所述其他节点对所述副盘没有写权限。
[0020]作为一种基于软磁盘阵列的高可用集群的控制器的可实施方式,所述处理模块中包括控制命令处理单元、阵列操作单元、远程控制命令处理单元;
[0021]所述控制命令处理单元,用于当当前节点为主控制器时,接收所述控制命令,将所述控制命令发送给所述阵列操作单元,并发送同步命令给所述节点通信模块;当当前节点为从控制器时通过所述节点通信模块发送所述控制命令给集群中的主控制器;
[0022]所述远程控制命令处理单元,用于当前节点为非主控制器时,接收通过所述节点通信模块传输来的同步命令,并将所述同步命令发送给所述阵列操作单元;
[0023]所述阵列操作单元,用于当当前节点为主控制器时,根据接收的控制命令对当前节点对应的软磁盘阵列进行修改或者构建新的软磁盘阵列;当当前节点为从控制器时,根据所述同步命令对当前控制器对应的软磁盘阵列的状态进行修改,修改为与所述主控制器对应的软磁盘阵列相同的状态;
[0024]还包括阵列事件监控单元;所述阵列事件监控单元用于当当前控制器为主控制器时,实时监测所述当前控制器对应的软磁盘阵列的状态变化,并发送所述状态变化对应的修改命令到所述节点通信模块;
[0025]所述节点通信模块还用于传输所述阵列事件监控单元发送来的修改命令到所述集群中的其他节点。
[0026]作为一种基于软磁盘阵列的高可用集群的控制器的可实施方式,当集群中的主控制器失效时,所述控制命令处理单元接收到由非主控制器转变为主控制器的控制命令,所述阵列操作单元会将当前控制器对应的软磁盘阵列的控制权限修改为读写权限。
[0027]作为一种基于软磁盘阵列的高可用集群的控制器的可实施方式,所述处理模块根据软磁盘阵列的元数据中的主控制器信息判断当前控制器是否为主控制器。
[0028]基于同一发明构思的一种基于软磁盘阵列的高可用集群的控制系统,包括两个以上前述的控制器。
[0029]作为一种基于软磁盘阵列的高可用集群的控制系统的可实施方式,该控制系统包括两个所述控制器,两个所述控制器中的节点通信模块之间采用进程间通信模式进行通信,且采用非透明桥接方式。
[0030]本发明的有益效果包括:本发明提供的一种基于软磁盘阵列的高可用集群的控制方法,其构建从属于主控制器的第一磁盘阵列,在集群的其他节点中通过重组的方式构建第一磁盘阵列的副盘,并将主控制器中第一磁盘的状态及时的同步到其他节点。从而使其他节点中第一磁盘阵列副盘的状态与第一磁盘阵列的状态保持一致,且第一磁盘阵列副盘与第一磁盘阵列中的元数据是完全相同的,在主控制器故障时,其他节点能够快速的代替主控制器继续工作,而无需重新读取元数据,大大缩短其他节点成为新的主控制器所需要的时间,提高用户体验。同时本发明提供的基于软磁盘阵列的高可用集群中的控制器其能够在集群中执行上述方法步骤,使集群系统同样具有上述快速处理主控制器故障的功能。本发明同时提供的基于软磁盘阵列的高可用集群控制系统包含了前述的控制器也具有快速应对主控制器故障的优越性能。
【附图说明】
[0031]图1为本发明一种基于软磁盘阵列的高可用集群的控制方法的一具体实施例的流程图;
[0032]图2为本发明一种基于软磁盘阵列的高可用集群的控制器的一具体实施例的构成示意图;
[0033]图3为本发明一种基于软磁盘阵列的高可用集群的控制器的另一具体实施例的构成示意图;
[0034]图4为本发明一种基于软磁
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1