一种在高速缓存中双控制器负载均衡的方法和装置的制造方法

文档序号:9546867阅读:210来源:国知局
一种在高速缓存中双控制器负载均衡的方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,更具体地,涉及一种在高速缓存中双控制器负载均衡的方法和装置。
【背景技术】
[0002]磁盘阵列(RAID)是把多块独立的硬盘按照不同的方式组合起来形成的一个硬盘组,从而提供比单个硬盘更高的存储性能,以及提供数据备份功能。组成RAID的不同方式称为RAID级别。数据备份功能是用户数据一旦发生损坏后,利用备份信息使损坏数据得以恢复,从而保障用户数据的安全性。
[0003]在用户看起来,RAID中的硬盘组就像是一个硬盘,用户可以对它进行分区,格式化等。总之,对RAID的操作与单个硬盘一样。不同的是,RAID的存储速度要比单个硬盘高很多。
[0004]RAID主要包括控制器和磁盘柜。控制器是RAID的“大脑”,主要实现简单10操作和RAID管理功能。磁盘阵列为了达到高可靠和不中断服务的特性,通常采用多控制器架构,其中最常见的是双控制器架构。双控制器中每个控制器的硬件都是一样,这样就可以具有硬件上的冗余性,避免单点故障,从而保证工作的连续性。
[0005]双控制器RAID多采用主-备(Active-Standby)架构,也就是一个控制器工作,另一个控制器做冗余。逻辑卷(LV)都有属主,只有属主控制器上的LV能接收处理10,非属主控制器的LV接收到10需要转发到属主控制器。而非属主控制器不处理10,始终处于休息状态,浪费资源。

【发明内容】

[0006]本发明实施例提出一种在高速缓存中双控制器负载均衡的方法,双主机的控制器均可以接受处理10,并确保两个控制器的负载均衡,从而提高控制器处理效率,避免资源浪费。
[0007]本发明实施例还提出一种在高速缓存中双控制器负载均衡的装置,双主机的控制器均可以接受处理10,并确保两个控制器的负载均衡,从而提高控制器处理效率,避免资源浪费。
[0008]本发明实施例的技术方案如下:
[0009]—种在高速缓存中双控制器负载均衡的方法,其特征在于,所述方法包括:
[0010]第一控制器接收到10指令;
[0011]根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器;
[0012]所述处理控制器锁定10指令所在的高速缓存CACHE块,并同步锁的信息至另一个控制器,下发所述CACHE块至RAID ;
[0013]RAID在磁盘中处理数据,然后释放所述CACHE块的锁。
[0014]所述根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器包括:
[0015]第一控制器的负载百分比与第二控制器的负载百分比的差大于等于30%,则第二控制器为处理控制器;
[0016]第一控制器的负载百分比与第二控制器的负载百分比的差小于30%且大于等于10%,同时,第一控制器LV的负载百分比与第二控制器LV的负载百分比的差大于等于30%,则第二控制器为处理控制器;
[0017]第一控制器的负载百分比与第二控制器的负载百分比的差小于30%且大于等于10%,同时,第一控制器LV的负载百分比与第二控制器LV的负载百分比的差小于30%,则第一控制器为处理控制器;
[0018]第一控制器的负载百分比与第二控制器的负载百分比的差小于10%,则第一控制器为处理控制器。
[0019]所述10指令为写10;
[0020]所述根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器包括:
[0021 ] 查看写10所在的CACHE块没有锁定;
[0022]根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器。
[0023]所述10指令为读10 ;
[0024]所述根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器包括:
[0025]查看读10所在的CACHE块没有锁定;
[0026]所述CACHE块中未缓存读10对应的数据;
[0027]根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器。
[0028]—种在高速缓存中双控制器负载均衡的装置,所述装置包括第一控制器、判断模块和第二控制器;
[0029]第一控制器接收到10指令;
[0030]判断模块根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器;
[0031]所述处理控制器锁定10指令所在的高速缓存CACHE块,并同步锁的信息至另一个控制器,下发所述CACHE块至RAID ;RAID在磁盘中处理数据,然后释放所述CACHE块的锁。
[0032]所述判断模块进一步用于,
[0033]第一控制器的负载百分比与第二控制器的负载百分比的差大于等于30%,确定第二控制器为处理控制器;
[0034]第一控制器的负载百分比与第二控制器的负载百分比的差小于30%且大于等于10%,同时,第一控制器LV的负载百分比与第二控制器LV的负载百分比的差大于等于30%,确定第二控制器为处理控制器;
[0035]第一控制器的负载百分比与第二控制器的负载百分比的差小于30%且大于等于10%,同时,第一控制器LV的负载百分比与第二控制器LV的负载百分比的差小于30%,确定第一控制器为处理控制器;
[0036]第一控制器的负载百分比与第二控制器的负载百分比的差小于10%,确定第一控制器为处理控制器。
[0037]所述10指令为写10 ;
[0038]所述判断模块进一步用于,查看写10所在的CACHE块没有锁定。
[0039]所述10指令为读10 ;
[0040]所述判断模块进一步用于,查看读10所在的CACHE块没有锁定,所述CACHE块中未缓存读10对应的数据。
[0041]从上述技术方案中可以看出,在本发明实施例中第一控制器接收到10指令;根据第一控制器的负载、第一控制器逻辑卷LV的负载、第二控制器的负载和第二控制器LV的负载,在第一控制器与第二控制器中确定处理10指令的处理控制器;所述处理控制器锁定10指令所在的CACHE块,并同步锁的信息至另一个控制器,下发所述CACHE块至RAID ;RAID在磁盘中处理数据,然后释放所述CACHE块的锁。不仅双主机的控制器均可以接受处理10,而且使得两个控制器的负载均衡,从而提高控制器处理效率,避免资源浪费。
【附图说明】
[0042]图1为高速缓存中双控制器负载均衡的方法流程示意图;
[0043]图2为高速缓存中双控制器负载均衡的装置结构示意图。
【具体实施方式】
[0044]为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0045]在本发明实施例中,通过控制器的负载和LV的负载在两个控制器中确定处理10指令的处理控制器。这样,双主机的每个控制器均可以接受处理10,并确保两个控制器的负载均衡,从而提高控制器处理效率,避免资源浪费。
[0046]
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1