一种热备盘添加的方法、系统及设备与流程

文档序号:16607270发布日期:2019-01-14 21:12阅读:536来源:国知局
一种热备盘添加的方法、系统及设备与流程

本申请涉及热备盘替换领域,特别涉及一种热备盘添加的方法、系统、设备及计算机可读存储介质。



背景技术:

局部热备盘(localspare)是针对于某一raid组,只有该组磁盘出现问题后才启用恢复的热备盘,机框热备盘(enclosurespare)是针对与机柜,只会作用于该磁盘所在机柜,当该磁盘所在机柜中的riad组故障才进行恢复的热备盘。

在存储中硬盘数量不变的情况下,设置机框热备盘可以减少热备盘的数量,从而增加客户的存储使用空间,因此为了满足客户对存储空间不断增加的需求,在当前存储产品硬盘数量暂时不能增加的情况下,目前产品开发了同时具有箱体热备盘和局部热备盘的两种raid热备方式。

然而,由于raid自身的机制设定,当raid组中存在热备盘并且raid组发生降级时,raid组中的热备盘就会自动顶替,而不会区分该热备盘是局部热备盘或者机柜热备盘。这样就会涉及两种热备盘先后使用的顺序问题,如果设计不当,就会出现某一raid组在存在局部热备盘的情况下使用了机柜热备盘,从而导致其余raid组在降级时没有热备盘可以使用。

因此,如何在raid组发生降级时优先使用局部热备盘替换是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种热备盘添加的方法、系统、设备及计算机可读存储介质,用于在raid组发生降级时优先使用局部热备盘替换。

为解决上述技术问题,本申请提供一种热备盘添加的方法,该方法包括:

接收输入的热备盘添加请求;

根据所述热备盘添加请求判断待添加热备盘是否为机柜热备盘;

若是,则判断raid组中是否有局部热备盘;

若所述raid组中有所述局部热备盘,则移除所述局部热备盘,并将所述机柜热备盘添加至所述raid组中,再将所述局部热备盘添加至所述raid组中。

可选的,还包括:

当接收到机柜热备盘移除请求时,判断所述机柜热备盘是否为所述raid组中最后一块盘;

若是,则移除所述机柜热备盘;

若否,则移除所述raid组中所述机柜热备盘之后的所有热备盘,再移除所述机柜热备盘,最后将所述机柜热备盘之后的所有热备盘重新添加至所述raid组中。

可选的,当所述待添加热备盘不为所述机柜热备盘时,还包括:

将所述待添加热备盘添加至所述raid组中。

可选的,当所述raid组降级时,选择所述局部热备盘替换所述raid组中的故障硬盘。

本申请还提供一种热备盘添加的系统,该系统包括:

接收模块,用于接收输入的热备盘添加请求;

第一判断模块,用于根据所述热备盘添加请求判断待添加热备盘是否为机柜热备盘;

第二判断模块,用于当所述待添加热备盘为所述机柜热备盘时,判断raid组中是否有局部热备盘;

移除及添加模块,用于当所述raid组中有所述局部热备盘时,移除所述局部热备盘,并将所述机柜热备盘添加至所述raid组中,再将所述局部热备盘添加至所述raid组中。

可选的,还包括:

第三判断模块,用于当接收到机柜热备盘移除请求时,判断所述机柜热备盘是否为所述raid组中最后一块盘;

第一移除模块,用于当所述机柜热备盘为所述raid组中最后一块盘时,移除所述机柜热备盘;

第二移除模块,用于所述机柜热备盘不为所述raid组中最后一块盘时,移除所述raid组中所述机柜热备盘之后的所有热备盘,再移除所述机柜热备盘,最后将所述机柜热备盘之后的所有热备盘重新添加至所述raid组中。

可选的,还包括:

添加模块,用于当所述待添加热备盘不为所述机柜热备盘时,将所述待添加热备盘添加至所述raid组中。

可选的,还包括:

替换模块,用于当所述raid组降级时,选择所述局部热备盘替换所述raid组中的故障硬盘。

本申请还提供一种热备盘添加设备,该热备盘添加设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述热备盘添加的方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述热备盘添加的方法的步骤。

本申请所提供热备盘添加的方法,包括:接收输入的热备盘添加请求;根据热备盘添加请求判断待添加热备盘是否为机柜热备盘;若是,则判断raid组中是否有局部热备盘;若raid组中有局部热备盘,则移除局部热备盘,并将机柜热备盘添加至raid组中,再将局部热备盘添加至raid组中。

基于现有raid的机制,当raid组降级时热备盘顶替是从raid组中下标最大的热备盘开始完成顶替工作,本申请所提供的技术方案通过在接收到热备盘添加请求时,先判断待添加热备盘是否为机柜热备盘,若是,则再判断raid组中是否有局部热备盘;若有,则移除局部热备盘,并将机柜热备盘添加至raid组中,再将局部热备盘添加至raid组中,使得机柜热备盘在raid组中的下标小于局部热备盘在raid组中的下标,进而实现了在raid组发生降级时优先使用局部热备盘替换的目的,重新定义了局部热备盘和机柜热备盘的先后使用顺序,使软件系统在工作时不会因为热备盘使用问题而导致不必要的业务中断或数据丢失,增加了数据稳定性,也为产品增加了市场竞争力。本申请同时还提供了一种热备盘添加的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种热备盘添加的方法的流程图;

图2为本申请实施例所提供的另一种热备盘添加的方法的流程图;

图3为本申请实施例所提供的一种热备盘添加的系统的结构图;

图4为本申请实施例所提供的另一种热备盘添加的系统的结构图;

图5为本申请实施例所提供的一种热备盘添加设备的结构图。

具体实施方式

本申请的核心是提供一种热备盘添加的方法、系统、设备及计算机可读存储介质,用于在raid组发生降级时优先使用局部热备盘替换。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

基于raid自身的机制设定,可能存在某一raid组在存在局部热备盘的情况下使用了机柜热备盘,导致其余raid组在降级时没有热备盘可以使用的情况,本申请提供了一种热备盘添加的方法,用于解决上述问题。

请参考图1,图1为本申请实施例所提供的一种热备盘添加的方法的流程图。

其具体包括如下步骤:

s101:接收输入的热备盘添加请求;

s102:根据该热备盘添加请求判断待添加热备盘是否为机柜热备盘;

若是,则进入步骤s103;

基于现有raid的机制,当raid组降级时热备盘顶替是从raid组中下标最大的热备盘开始完成顶替工作,而如果希望优先使用局部热备盘替换则需要局部热备盘在raid组中的靠后位置,即需要局部热备盘在raid组中的下标最大,因此本申请在收到热备盘添加请求时,先根据该热备盘添加请求判断待添加热备盘是否为机柜热备盘,若待添加热备盘为机柜热备盘,则进入步骤s103中进行进一步判断;

可选的,若待添加热备盘不为机柜热备盘,则证明待添加热备盘为局部热备盘,此时直接将该待添加热备盘设置为raid组中下标最大的硬盘即可,由于raid组硬盘的下标随添加先后顺序递增,因此可直接将待添加热备盘添加至raid组中,以使当raid组降级时,直接选择该局部热备盘进行替换。

s103:判断raid组中是否有局部热备盘;

若是,则进入步骤s104;

当该raid组中有局部热备盘时,则表明需要优先使用该局部热备盘进行替换,此时进入步骤s104中进行进一步操作实现;

可选的,当该raid组中没有局部热备盘时,则表明存在两种情况:一是该raid组中没有热备盘,二是该raid组中有热备盘且该热备盘为机柜热备盘,而在这两种情况下均无法优先使用局部热备盘进行替换,则此时直接将待添加热备盘添加至raid组中即可。

s104:移除该局部热备盘,并将机柜热备盘添加至raid组中,再将该局部热备盘添加至raid组中;

当该待添加热备盘为机柜热备盘且该raid组中有局部热备盘时,如果希望优先使用局部热备盘替换,则需要在raid组中局部热备盘的下标大于该待添加热备盘的下标,此时先移除该局部热备盘,再将机柜热备盘添加至raid组中,最后将该局部热备盘添加至raid组中,由于raid组硬盘的下标随添加先后顺序递增,故此时在raid组中该局部热备盘的下标大于该待添加热备盘的下标,以使当raid组降级时,优先选择该局部热备盘进行替换;

可选的,还可以包括:

当raid组降级时,选择局部热备盘替换raid组中的故障硬盘;

进一步的,在选择局部热备盘替换raid组中的故障硬盘之后,还可以记录替换过程,并输出替换完成的提示信息,以使用户能够及时在替换完成后及时更换故障硬盘,并能够根据记录的替换过程实现情景复现,以便用户查看硬盘的故障产生原因。

基于上述技术方案,本申请所提供的一种热备盘添加的方法,先判断待添加热备盘是否为机柜热备盘,若是,则再判断raid组中是否有局部热备盘;若有,则移除局部热备盘,并将机柜热备盘添加至raid组中,再将局部热备盘添加至raid组中,使得机柜热备盘在raid组中的下标小于局部热备盘在raid组中的下标,进而实现了在raid组发生降级时优先使用局部热备盘替换的目的,重新定义了局部热备盘和机柜热备盘的先后使用顺序,使软件系统在工作时不会因为热备盘使用问题而导致不必要的业务中断或数据丢失,增加了数据稳定性,也为产品增加了市场竞争力。

基于上述实施例,请参考图2,图2为本申请实施例所提供的另一种热备盘添加的方法的流程图。

其具体包括以下步骤:

s201:当接收到机柜热备盘移除请求时,判断该机柜热备盘是否为raid组中最后一块盘;

若是,则进入步骤s202;若否,则进入步骤s203;

基于某一机柜中机柜热备盘较多或存在故障机柜热备盘等情况,可能存在着移除机柜热备盘的需求,当接收到机柜热备盘移除请求时,需要先判断该机柜热备盘是否为raid组中最后一块盘,若是,则证明移除该机柜热备盘对该raid组中其余硬盘的下标并无影响,此时进入步骤s202中,直接移除该机柜热备盘。

s202:移除机柜热备盘;

s203:移除raid组中机柜热备盘之后的所有热备盘,再移除机柜热备盘,最后将机柜热备盘之后的所有热备盘重新添加至raid组中。

当该机柜热备盘不为该raid组中最后一块盘时,则证明移除该机柜热备盘对该raid组中其余硬盘的下标会产生影响,此时先移除raid组中机柜热备盘之后的所有热备盘,再移除机柜热备盘,最后将机柜热备盘之后的所有热备盘重新添加至raid组中,以将对该raid组中其余硬盘下标产生的影响降到最低。

请参考图3,图3为本申请实施例所提供的一种热备盘添加的系统的结构图。

该系统可以包括:

接收模块100,用于接收输入的热备盘添加请求;

第一判断模块200,用于根据热备盘添加请求判断待添加热备盘是否为机柜热备盘;

第二判断模块300,用于当待添加热备盘为机柜热备盘时,判断raid组中是否有局部热备盘;

移除及添加模块400,用于当raid组中有局部热备盘时,移除局部热备盘,并将机柜热备盘添加至raid组中,再将局部热备盘添加至raid组中。

请参考图4,图4为本申请实施例所提供的另一种热备盘添加的系统的结构图。

该系统还可以包括:

第三判断模块,用于当接收到机柜热备盘移除请求时,判断机柜热备盘是否为raid组中最后一块盘;

第一移除模块,用于当机柜热备盘为raid组中最后一块盘时,移除机柜热备盘;

第二移除模块,用于当机柜热备盘不为raid组中最后一块盘时,移除raid组中机柜热备盘之后的所有热备盘,再移除机柜热备盘,最后将机柜热备盘之后的所有热备盘重新添加至raid组中。

该系统还可以包括:

添加模块,用于当待添加热备盘不为机柜热备盘时,将待添加热备盘添加至raid组中。

该系统还可以包括:

替换模块,用于当raid组降级时,选择局部热备盘替换raid组中的故障硬盘。

以上系统中的各个组成部分可实际应用于以下的实施例中:

接收模块接收输入的热备盘添加请求;第一判断模块根据热备盘添加请求判断待添加热备盘是否为机柜热备盘;当待添加热备盘不为机柜热备盘时,添加模块将待添加热备盘添加至raid组中。当待添加热备盘为机柜热备盘时,第二判断模块判断raid组中是否有局部热备盘;当raid组中有局部热备盘时,移除及添加模块移除局部热备盘,并将机柜热备盘添加至raid组中,再将局部热备盘添加至raid组中;当raid组降级时,替换模块选择局部热备盘替换raid组中的故障硬盘。

当接收到机柜热备盘移除请求时,第三判断模块判断机柜热备盘是否为raid组中最后一块盘;当机柜热备盘为raid组中最后一块盘时,第一移除模块移除机柜热备盘;当机柜热备盘不为raid组中最后一块盘时,第二移除模块移除raid组中机柜热备盘之后的所有热备盘,再移除机柜热备盘,最后将机柜热备盘之后的所有热备盘重新添加至raid组中。

请参考图5,图5为本申请实施例所提供的一种热备盘添加设备的结构图。

该热备盘添加设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在热备盘添加设备500上执行存储介质530中的一系列指令操作。

热备盘添加设备500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图2所描述的热备盘添加的方法中的步骤由热备盘添加设备基于该图5所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种热备盘添加的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1