掌桥专利:专业的专利平台
掌桥专利
首页

一种存储系统重建迁移模拟方法及装置

文献发布时间:2023-06-19 13:26:15


一种存储系统重建迁移模拟方法及装置

技术领域

本发明涉及存储技术领域,特别涉及一种存储系统重建迁移模拟方法及装置。

背景技术

目前在测试存储系统的重建和迁移时,大多数是采用人工方法进行操作,比如人工拔盘触发重建、人工加盘触发迁移等,这样的方法对测试人员来说是机械式的工作,并且工作效率不高,测试人员在整个测试过程中也比较乏味,在极限情况下还无法完成测试需求。

发明内容

本说明书实施例提供了一种存储系统重建迁移模拟方法及装置。

一方面,本说明书实施例提供的一种存储系统重建迁移模拟方法,包括:获取存储系统的状态和所述存储系统中硬盘的状态,所述存储系统的状态包括重建状态、降级状态、迁移状态、超限状态,所述硬盘的状态包括有效状态、失效状态、离线状态、在线状态;当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的所有所述硬盘均处于在线状态且均处于有效状态,则进行模拟踢盘和/或模拟硬盘掉线的操作,触发所述存储系统的重建;当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的至少一个硬盘处于失效状态,则进行模拟加盘和/或模拟硬盘上线的操作,触发所述存储系统的迁移。

另一方面,本说明书实施例提供的一种存储系统重建迁移模拟装置,包括:状态获取模块,用于获取存储系统的状态和所述存储系统中硬盘的状态,所述存储系统的状态包括重建状态、降级状态、迁移状态、超限状态,所述硬盘的状态包括有效状态、失效状态、离线状态、在线状态;第一模拟模块,用于当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的所有所述硬盘均处于在线状态且均处于有效状态,则进行模拟踢盘和/或模拟硬盘掉线的操作,触发所述存储系统的重建;第二模拟模块,用于当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的至少一个硬盘处于失效状态,则进行模拟加盘和/或模拟硬盘上线的操作,触发所述存储系统的迁移。

本发明实施例可以模拟硬盘在存储系统中的上线和掉线以及加入和移出,达到模拟存储系统的重建和迁移的效果,节省人力成本。

附图说明

图1为本说明书一些实施例的存储系统重建迁移模拟方法的流程图。

图2为本说明书一些实施例的存储系统重建迁移模拟装置的组成图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

如图1所示,本说明书一些实施例中提供了一种存储系统重建迁移模拟方法,包括获取存储系统的状态和所述存储系统中硬盘的状态,所述存储系统的状态包括重建状态、降级状态、迁移状态、超限状态,所述硬盘的状态包括有效状态、失效状态、离线状态、在线状态;当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的所有所述硬盘均处于在线状态且均处于有效状态,则进行模拟踢盘和/或模拟硬盘掉线的操作,触发所述存储系统的重建;当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的至少一个硬盘处于失效状态,则进行模拟加盘和/或模拟硬盘上线的操作,触发所述存储系统的迁移。

在上述实施例中,存储系统的重建状态、降级状态、迁移状态、超限状态均可以由存储系统自身声明,上述实施例的方法可以获取存储系统声明的状态。针对硬盘的状态,若操作系统层面可以识别到某硬盘,则认为该硬盘处于在线状态,若操作系统层面无法识别到某硬盘,则认为该硬盘处于离线状态。硬盘的有效状态和失效状态是存储系统的容错技术决定的。不管硬盘处于在线状态、还是处于离线状态或有效状态或失效状态,存储系统均会获取硬盘的当前状态,通常存储系统会通过定义的CLI命令行工具去进行前述硬盘的状态的检测。

针对上述实施例中的存储系统的重建及其触发,具体解释如下:一般而言,存储系统都会有一定的容错范围,用于防止数据丢失,在容错范围内且存储系统处于正常状态(也就是所有硬盘都在线且有效)下,把硬盘踢出系统或某硬盘掉线,如果存储系统有足够的剩余容量或热备盘等,可以触发自动重建,把该硬盘上的数据通过算法找回来。重建的优先级比迁移更高级。当存储系统在重建时,会拒绝像迁移这些功能的触发,只有在存储系统重建完成并恢复为正常状态才能触发其他功能,如果在重建或降级状态(没有足够的剩余容量或热备盘,就会卡在降级状态)下再继续有硬盘失效,就有可能超出容错范围,若超出了容错范围,导致存储系统损坏,存储系统则处于前述的超限状态。

针对上述实施例中存储系统的迁移及其触发,具体解释如下:存储系统在容错范围内,对某硬盘掉线后,如果写入存储系统的文件数量较多,在这块掉线硬盘重新上线后,就有可能导致每块硬盘的使用率不一致,举例而言,假设总共由6块硬盘,6块硬盘中包含了掉线后再上线的1块硬盘,如果在6块硬盘里其他5块硬盘的使用率均达到60%,而掉线后再上线的硬盘的使用率才10%,这时可以通过触发迁移把使用率平均下来,比如6块硬盘使用率均为52%。

进一步地,在本说明书一些实施例中,所述进行模拟踢盘和/或模拟硬盘掉线的操作,触发所述存储系统的重建的步骤,具体为,获取所述存储系统的硬盘列表中第一块硬盘的硬盘ID;若所述硬盘ID为偶数,则进行模拟踢盘的操作,触发所述存储系统的重建;若所述硬盘ID为奇数,则进行模拟硬盘掉线的操作,触发所述存储系统的重建。当硬盘被模拟踢盘或被模拟掉线后,会处于失效状态。由此,可以基于对硬盘ID的奇偶校验,实现模拟踢盘和模拟硬盘掉线的交替操作。

进一步地,在本说明书一些实施例中,所述进行模拟加盘和/或模拟硬盘上线的操作,触发所述存储系统的迁移的步骤,具体为,判断处于失效状态的硬盘是否处于离线状态;若所述处于失效状态的硬盘处于离线状态,则进行模拟硬盘上线的操作,而后将所述处于失效状态的硬盘从所述存储系统中删除,并在超块清除后,进行模拟加盘操作,触发所述存储系统的迁移;若所述处于失效状态的硬盘处于在线状态,则将所述处于失效状态的硬盘从所述存储系统中删除,并在超块清除后,进行模拟加盘操作,触发所述存储系统的迁移。此处的超快清除,是指清除超级块,超级块是存储对应文件系统的元数据结构,包括文件系统大小,块大小,以及空闲和已使用的块的数量inode表、位置等。

在本说明书一些实施例中,可以基于CLI(Command-Line Interface,命令行界面)和/或StorCLI和/或对/sys/class类的操作和/或对/sys/block类的操作,实现模拟加盘和/或模拟硬盘上线和/或模拟踢盘和/或模拟硬盘掉线的操作。StorCLI(Storage CommandLine Tool)是最早由LSI公司开发的一套管理RAID卡磁盘阵列的命令行工具。RAID卡是用来管理服务器上硬盘的硬件,分为软RAID卡和硬RAID卡,硬RAID卡是会接管服务器上所有硬盘,所以在系统上是看不到硬盘的,要操作硬盘就需要使用StorCLI,软RAID卡也差不多,但是在系统上可以看到硬盘。而/sys/block是linux系统上的某个目录,放着当前系统发现的所有硬盘设备,/sys/class该目录下包含所有注册在kernel里面的设备类型,例如背板(诸如硬盘插槽、槽位的硬件)。本发明一些实施例基于硬RAID卡的上线和掉线操作,可通过下述指令实现:storcli/c0/eX/sX set offline/online(即设置某块硬盘的状态),其中,/c0/eX/sX指哪个背板上哪个槽位的哪块硬盘,offline就是掉线,online就是上线。本发明基于软RAID卡的上线和掉线操作,可通过下述指令实现:echo 1>/sys/block/sdg/device/delete(即把硬盘sdg下线)echo'---'>/sys/class/scsi_host/host0/scan(即重新刷新一遍某背板host0),这样就会把掉线的盘重新加载上来。针对模拟踢盘和模拟加盘的操作,可以是基于webUI的操作,也可以是基于CLI的操作。

结合图2,本发明实施例还提供了一种存储系统重建迁移模拟装置,包括,状态获取模块,用于获取存储系统的状态和所述存储系统中硬盘的状态,所述存储系统的状态包括重建状态、降级状态、迁移状态、超限状态,所述硬盘的状态包括有效状态、失效状态、离线状态、在线状态;第一模拟模块,用于当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的所有所述硬盘均处于在线状态且均处于有效状态,则进行模拟踢盘和/或模拟硬盘掉线的操作,触发所述存储系统的重建;第二模拟模块,用于当所述存储系统不处于重建状态、不处于降级状态、不处于迁移状态且不处于超限状态时,若所述存储系统中的至少一个硬盘处于失效状态,则进行模拟加盘和/或模拟硬盘上线的操作,触发所述存储系统的迁移。

在本说明书一些实施例中,所述第一模拟模块,具体用于,获取所述存储系统的硬盘列表中第一块硬盘的硬盘ID;若所述硬盘ID为偶数,则进行模拟踢盘的操作,触发所述存储系统的重建;若所述硬盘ID为奇数,则进行模拟硬盘掉线的操作,触发所述存储系统的重建。

在本说明书一些实施例中,所述第二模拟模块,具体用于,判断处于失效状态的硬盘是否处于离线状态;若所述处于失效状态的硬盘处于离线状态,则进行模拟硬盘上线的操作,而后将所述处于失效状态的硬盘从所述存储系统中删除,并在超块清除后,进行模拟加盘操作,触发所述存储系统的迁移;若所述处于失效状态的硬盘处于在线状态,则将所述处于失效状态的硬盘从所述存储系统中删除,并在超块清除后,进行模拟加盘操作,触发所述存储系统的迁移。

在本说明书一些实施例中,还提供了一种电子设备和计算机可读存储介质,电子设备包括存储器,用于存储计算机软件程序;处理器,用于运行所述计算机软件程序时实现所述存储系统重建迁移模拟方法的步骤。计算机可读存储介质存储有计算机软件程序,所述计算机软件程序被运行时实现存储系统重建迁移模拟方法的步骤。

综上,基于上述本发明一些实施例,如果存储不在重建状态、降级状态、迁移状态、超限状态,且硬盘都正常,则可以自动踢盘或模拟硬盘掉线,触发重建;如果存储不在重建状态、迁移状态、超限状态,且有硬盘失效,则可以模拟硬盘上电后,自动加盘,触发迁移。由此,可以模拟硬盘在存储系统中的上线和掉线以及加入和移出,达到模拟存储系统的重建和迁移的效果,节省人力成本。

虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。本发明是参照根据本发明实施例的方法的流程图和/或方框图来描述的。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于装置实施例,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

相关技术
  • 一种存储系统重建迁移模拟方法及装置
  • 一种模拟干湿交替模式下污染物迁移规律的装置及其模拟方法
技术分类

06120113678706