RAID管理方法、装置及计算机可读存储介质与流程

文档序号:13735701阅读:190来源:国知局
RAID管理方法、装置及计算机可读存储介质与流程

本发明涉及磁盘阵列技术领域,尤其涉及一种raid管理方法、装置及计算机可读存储介质。



背景技术:

随着互联网技术的不断发展,互联网应用的用户不断增加,全球范围内每天产生的信息数据越来越多,数据增加速度越来越快。在这种环境下,各种存储技术以及存储方案应运而生。其中,raid(redundantarrayofindependentdisks,独立磁盘冗余阵列简称磁盘阵列)技术凭借其高可靠性、大数据容量、适应强以及高带宽等优点,广泛的应用于大型服务器中的数据读取。

目前,在大型服务器的数据读取过程中,经常同时应用多个raid5,因此,需要对多个raid5进行合理有效的管理,以提高raid5的效率。但是,目前主要是基于windows系统和linux系统的大型服务器等终端实现raid5管理,而不能在android系统的终端进行raid5管理。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种raid管理方法、装置及计算机可读存储介质,旨在解决目前无法在android系统的终端实现raid5管理的技术问题。

为实现上述目的,本发明提供一种raid管理方法,应用于安装android系统的终端,所述raid管理方法包括以下步骤:

在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,其中,第一raid信息包括raid5等级以及磁盘信息;

在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面;

在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5。

在一种实施方式中,所述raid管理方法还包括:

在监测到当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息;

通过所述第二raid信息对应的raid5接口在所述第二raid信息对应的raid5中删除失效的磁盘;

基于当前处于空闲状态的raid5格式磁盘,通过所述第二raid信息对应的raid5接口对删除失效的磁盘后的raid5进行重建。

在一种实施方式中,所述raid管理方法还包括:

在监测到raid5中存在异常raid5时,获取所述异常raid5对应的异常信息以及第三raid信息;

显示包括所述异常信息以及第三raid信息的提示信息。

在一种实施方式中,所述在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息的步骤之前,所述raid管理方法还包括:

在接收用户基于登录界面触发的登录请求时,获取所述登录请求对应的登录账号及登录密码;

在所述登录账号及登录密码验证通过时,显示raid5管理主界面;

在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面。

在一种实施方式中,所述显示raid5管理主界面的步骤之后,所述raid管理方法还包括:

在接收到基于raid5管理主界面触发的操作界面显示请求时,显示所述操作界面显示请求对应的操作界面;

在接收到基于所述操作界面触发的启动/停止指令时,获取所述启动/停止指令对应的第四raid信息;

通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5。

在一种实施方式中,所述显示raid管理主界面的步骤之后,所述raid管理方法还包括:

在接收到基于所述操作界面触发的格式化指令时,获取所述格式化指令对应的第五raid信息;

通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5。

在一种实施方式中,所述通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5的步骤包括:

获取所述第五raid信息对应raid5中各个磁盘的分区信息;

通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区;

通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘。

在一种实施方式中,所述显示raid5管理主界面的步骤之后,所述raid管理方法还包括:

在接收到基于所述操作界面触发的扩容指令时,基于所述扩容指令对应的待添加raid5格式磁盘,通过所述扩容指令对应的raid5接口对所述扩容指令对应的raid5进行扩容操作;或者,

在接收到基于所述操作界面触发的磁盘删除指令时,通过所述磁盘删除指令对应的raid5接口,在所述磁盘删除指令对应的raid5中删除所述磁盘删除指令对应的raid5格式磁盘,并对删除磁盘后的raid5进行重建;又或者,

在接收到基于所述操作界面触发的热备盘的添加/删除指令时,通过所述添加/删除指令对应的raid5接口,在所述添加/删除指令对应的raid5中添加/删除所述添加/删除指令对应的raid5格式热备盘。

此外,为实现上述目的,本发明还提供一种raid管理装置,应用于安装android系统的终端,所述raid管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的raid管理程序,所述raid管理程序被所述处理器执行时实现上述任一项所述的raid管理方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有raid管理程序,所述raid管理程序被处理器执行时实现上述任一项所述的raid管理方法的步骤。

本发明通过在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,接着在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面,而后在接收到基于所述阵列创建界面中的创建选项触发的raid创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5,能够根据用户需求通过对应的raid5接口创建raid5,能够通过android系统的终端实现raid5管理,提高了raid5管理的便捷性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的中raid管理装置所属终端的结构示意图;

图2为本发明raid管理方法第一实施例的流程示意图;

图3为本发明中raid5的区块条带分布示意图;

图4为本发明中raid5的存储方式示意图;

图5为本发明中raid5的架构示意图;

图6为本发明raid管理方法第二实施例的流程示意图;

图7为本发明raid管理方法第三实施例的流程示意图;

图8为本发明raid管理方法第四实施例的流程示意图;

图9为本发明raid管理方法第五实施例的流程示意图;

图10为本发明raid管理方法第六实施例的流程示意图;

图11为本发明raid管理方法第七实施例中通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5的步骤的细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的中raid管理装置所属终端的结构示意图。

本发明实施例终端可以是pc。如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及raid管理程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的raid管理程序。

在本实施例中,raid管理装置包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的raid管理程序,其中,处理器1001调用存储器1005中存储的raid管理程序时,并执行以下操作:

在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,其中,第一raid信息包括raid5等级以及磁盘信息;

在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面;

在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在监测到当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息;

通过所述第二raid信息对应的raid5接口在所述第二raid信息对应的raid5中删除失效的磁盘;

基于当前处于空闲状态的raid5格式磁盘,通过所述第二raid信息对应的raid5接口对删除失效的磁盘后的raid5进行重建。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在监测到raid5中存在异常raid5时,获取所述异常raid5对应的异常信息以及第三raid信息;

显示包括所述异常信息以及第三raid信息的提示信息。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在接收用户基于登录界面触发的登录请求时,获取所述登录请求对应的登录账号及登录密码;

在所述登录账号及登录密码验证通过时,显示raid5管理主界面;

在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在接收到基于raid5管理主界面触发的操作界面显示请求时,显示所述操作界面显示请求对应的操作界面;

在接收到基于所述操作界面触发的启动/停止指令时,获取所述启动/停止指令对应的第四raid信息;

通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在接收到基于所述操作界面触发的格式化指令时,获取所述格式化指令对应的第五raid信息;

通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

获取所述第五raid信息对应raid5中各个磁盘的分区信息;

通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区;

通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘。

进一步地,处理器1001可以调用存储器1005中存储的raid管理程序,还执行以下操作:

在接收到基于所述操作界面触发的扩容指令时,基于所述扩容指令对应的待添加raid5格式磁盘,通过所述扩容指令对应的raid5接口对所述扩容指令对应的raid5进行扩容操作;或者,

在接收到基于所述操作界面触发的磁盘删除指令时,通过所述磁盘删除指令对应的raid5接口,在所述磁盘删除指令对应的raid5中删除所述磁盘删除指令对应的raid5格式磁盘,并对删除磁盘后的raid5进行重建;又或者,

在接收到基于所述操作界面触发的热备盘的添加/删除指令时,通过所述添加/删除指令对应的raid5接口,在所述添加/删除指令对应的raid5中添加/删除所述添加/删除指令对应的raid5格式热备盘。

本发明还提供一种raid管理方法,参照图2,图2为本发明raid管理方法第一实施例的流程示意图。

在本实施例中,该raid管理方法应用于安装android系统的终端,该安装android系统的终端可以为手机、ipad、智能可穿戴设备等移动终端。

该所述raid管理方法包括以下步骤:

步骤s110,在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,其中,第一raid信息包括raid5等级以及磁盘信息;

raid技术是存储磁盘阵列的核心处理技术,其目的是提高数据处理的效率和容错能力。存储系统在实现上一般都会采用必要手段来保证系统的性能,通常的办法是设置缓存系统。缓存系统是一个虚拟化的系统,其原理是通过高效的处理i/o请求来提高性能。raid5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。raid5可以理解为是raid0和raid1的折中方案。raid5是基于系统性能、数据可靠性和经济适用性而做出的新型存储解决方案。

进一步地,在一实施例中,步骤s130包括:通过所述第一raid信息并通过对应的raid5接口,基于所述磁盘信息对应的raid5格式磁盘及所述热备盘信息对应的raid5格式热备盘创建所述raid5。

参照图3及图4,其中,图3为raid5的区块条带分布示意图,图4为raid5的存储方式示意图。

p1和p2是数据校验位,数据块和校验位分别按规则存储在各成员磁盘上,p1和p2结合其他存储块利用校验和反校验恢复损坏的数据。从图中可以看出,这种方式不整块拷贝数据副本,这就降低了容量空间的不必要占用。raid5利用磁盘分割技术,磁盘分割英文为diskstriping,该技术将数据校验信息分布在不同的物理成员盘中。striping即为分割的意思,这里需要区别几个词语的意思:stripe、strip和p。在进行数据存取时是以stripe为基本单位进行的,raid5的stripe分布如图3。在数据进行存储时,数据是被分成一个个个区块(chunk)的。在图中d1,d2,d3,p1就称之为区块,该区块被看做是一个stripe,数据按各区块被分布到各成员盘上。这种磁盘分布的stripe不能作为系统的处理单元strip,其处理单元中一个strip的宽度是固定不变的,为4k,上图中d1,d2,d3,p1才是基本的处理单元。也就是说d1,d2,d3数据是连续的,但是d1,d2,d3数据是跳跃的。p(parity)表示校验据,即p=d1⊕d2⊕d3。读请求操作是基于make_request函数来实现的,部分代码如下所示。

staticsbb_u32_tmake_request(structrequest_queue*q,structbio*bi)

{

mddev_t*mddev=q->queuedata;

raid5_conf_t*conf=mddev->private;

sbb_u32_tdd_idx;

sector_tnew_sector;

sector_tlogical_sector,last_sector;

structstripe_head*sh;

constsbb_u32_trw=bio_data_dir(bi);

sbb_u32_tcpu,remaining;

if(unlikely(bio_rw_flagged(bi,bio_rw_barrier))){

/*drainallpendingwts.weonlyreallyneed

*toensuretheyhavebeensubmitted,butthisiseasier.

*/

mddev->pers->quiesce(mddev,1);

mddev->pers->quiesce(mddev,0);

md_barrier_request(mddev,bi);

return0;

}

make_request函数实现诸多功能,rd5_sector函数通过dev_sector和rd_idx来获取条带stripe和设备dev,这里所说的stripe是指raid5的存储条带。根据dev_sector提供的信息,首先进行调用条带头也就是sh来完成读请求的初步处理,该操作有get_stripe函数实现。然后根据rd_idx信息调用条带队列函数add_stripe_bio将bio存放到sh->rd_idx.tord中。这样,忽略复杂的处理过程,简单的就处理了stripe的读请求操作,完成了一轮简单处理。处理设备的读链表操作请求时,dev存在几个状态,分别是empty状态表示空链表状态,链表中没有存储数据,rdy状态表示链表中存有数据,并且准备执行相关操作,req状态表示正在惊醒链表操作。当将req中的bio_wr标记为读状态后还会将换回bio_end_io函数取消置位状态。在上述操作过程中会涉及一些数据的操作标记状态,如重新同步resync,

预读rdy_rd,位图bit_map等。以raid5为例来进行说明,raid新建好后,校验数据此时还没有准备好,此时校验数据是至关重要的,在向设备中正式进行写数据之前需要先将校验数据处理出来。在处理完成后,如果得到的校验数据是错误的,那么后续将会被重新同步,也就需要resync请求来完成后续操作。

resync是通过成员盘和校验盘上的数据反校验进行恢复某个成员盘上的数据。在处理过程中,每个条带stripe中的strip都有一个structr5dev结构体来管理缓冲区块:

structr5dev{

structbioreq;

structbio_vecvec;

structpage*page;

structbio*tord,*rd,*towt,*written;

sector_tsector;/*sectorofthispage*/

unsignedlongflags;

}dev[1];/*根据各raid特点分布存储空间*/

structbioreq;/*turnintothebioforthebottomofthedevice*/

structbio_vecvec;/*thebi_io_veccorrespondstothereq*/

structpage*page;/*缓冲区内存页*/

structbio*rdy_io_rd,*rd_io_wt,*end_io_wt;

/*分别为3个存储链表来标记缓冲区上的读写和结束操作*/

sector_tsector;/*thestripofthesectorinthewholeraid5equipment

location*/

unsignedlongflags;/*thebufferstatusflag*/

flag分为几个状态,以此来标识缓冲区状态:

rd5_current_data/*内存页中当前的数据*/

rd5_locked/*数据上锁后,进行下层处理移交*/

rd5_rdy_wt/*将进行写入的数据,覆盖整个缓冲内存*/

rd5_insync/*磁盘的正常状态*/

rd5_rdy_rd/*准备读取数据*/

rd5_rdy_wt/*准备写入数据*/

rd5_stacked/*bio的重叠标记*/

rd5_error_rd/*读操作出现错误*/

rd5_end_wt/*将数据写入磁盘*/

rd5_current_data和rd5_locked用来表示数据缓冲区中的数据状态:为空,准备写,脏盘,清除数据,所以对缓冲区至关重要。四种状态分别表示的含义为:清除数据是将缓冲区的数据拷贝到磁盘上后的状态,此时的缓冲区和磁盘上的数据时相同的;dirty状态表示缓冲区中已经有数据,并且已经通过cpu

向底层发送回刷指令,开始向成员盘中回刷数据。这里的回刷是指将数据从缓冲内存回刷至系统盘。准备写状态时缓存下底层发出指令,用于底层读出缓存中的数据,并标记状态;空状态则表示无数据占用缓存,并且内存空间很大,为原有指定大小。跟数据数据的存储及使用状态,这四种状态常常需要相互转换,内核中的raid.h文件已经对此作了全面准确详细的代码实现及相关解释,此处不再赘述。底层读请求操作成功,会调用rd5_end_rd,并将内存清空,设备状态标记为空,此时守护的线程也会被唤醒,调用do_stripe做第二次请求处理,此时会将缓冲内存中的数据拷贝到bio对应的数据存储页中,直到整个bio都存满数据后,就会向上层发送指令,完成一系列操作。这样,一次简单的读请求处理完毕。

写处理相对于读则相对复杂,因为除了正常的数据以外还要计算及写入校验数据。获取条带和将条带增加到bio中,跟读操作处理过程都是差不多是相同的,有一点不同的是raid5.h中将dev放入链表rdy_wr中,后续进行do_stripe处理。在处理写操作的过程中,我们假定只处理覆盖整个dev缓冲页的某个bio。do_stripe首先要做的是读修改写还是检测写数据的结构。假定是读修改写的概率性更大些,如果rady_wt中的dev和校验位的dev状态位空的状态下,do_stripe就会将其置位为rdy状态,便于进行下面的写操作。然后dev状态会发生变化,有空位转换为rdy状态,这是sh的状态已经符合条件,适合进行写操作,就会被读请求的指令传送至底层设备,完成磁盘的写操作。底层处理完成后,dev的状态位被清除,rd5会被安排进行对sh的再次数据写处理,,此时尤为重要的是parity函数,还函数执行数据校验,bio的数据页会被拷贝到缓冲内存中,当然校验页的数据也会进行实时更新,bio链表从rdy_wt链转入到do_wt链。数据校验位和内存页被置位为脏页,并向底层发送写请求进行写处理。上述步骤完成后,换回函数rd5_wt_request函数被调用,dev的状态就会有脏页状态变为清除状态。后续raid5会进行sh的三次简单处理。一旦数据dev和校验位状态转换为clean状态后,就会向上层发送指令,告知写请求处理完成。对于写操作过程中的错误处理,是视bio的bio_current_data状态进行的。如果其状态被clean掉,就被视为读操作过程中发生了错误。此时作的第一件事就是将该dev的rd5_current_data标志去掉,确保其状态为empty状态。完成后进行前期工作检查。如果raid处于降级状态,那么就没有恢复dev数据的能力了,因为状态降级会导致数据的不完整,数据出现丢失。另外还有读操作过程中的dev超出条带头的个数总数,那么必然是发生了读错误,此时就不能进行bsr操作了。该操作不能进行,就会调用md_error来进行初五处理。在保证能够进行bsr操作时,dev会将读操作的错误标记下来,然后再次调用do_stripe来处理。对于错误的读操作标记位,do_stripe会进行失效处理。这时会有一个失效数量的规定,如果只有一个失效,那么还可以进行错误挽回。进行设备检查,若果设备不是齐全的,会向下层发送指令进行数据完善,然后通过反校验进行数据补整。如果dev数据完整,就直接进行数据update,将数据标记为rdy_wt状态,将写请求发送只能下层设备。如果出现多个失效,那么遗憾的是数据无法进行数据补整,也就无法进行反校验操作,此时就会调用md_error函数来进行错误处理。数据在进行拷贝过程中会摘离dev,在进行do_stripe处理成功后,完成本轮的操作处理。

在本实施例中,安装android系统的终端安装有raid管理应用程序app,该终端的持有者(用户)拥有该app的登录账号对应的登录密码,在该用户登录后,可在终端的显示界面显示该app对应的raid5管理主界面,该raid5管理主界面包括阵列创建信息、当前登录的用户信息、当前的磁盘阵列信息、各个磁盘阵列对应的磁盘的容量信息、空闲的磁盘信息、配置界面、操作界面等二级界面的导航信息等。用户可通过该raid5管理主界面中的配置界面对应的导航信息进入配置界面,进而在该配置界面设置需要创建的磁盘阵列的等级、需要用到的磁盘、热备盘,或者生成和导入配置文件等,在设置完成时,可通过当前界面的选项(按钮)进行提交,以实现raid5的配置信息的输入。

在本实施例中,用户在配置界面设置完成时,可通过当前界面的选项(按钮)等方式提交raid5的配置信息,在接收到用户基于当前显示的配置界面输入的raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,即将所有的配置信息按照预设的格式进行打包生成第一raid信息。

其中,配置信息包括raid5等级信息、磁盘信息和/或热备盘信息等。

步骤s120,在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面;

在本实施例中,在生成该第一raid信息、且所述磁盘信息对应的磁盘数量大于或等于3时,在终端的显示屏弹出或切换至阵列创建界面,该阵列创建界面用于显示第一raid信息、以及第一raid信息对应的创建选项,用户可通过显示的第一raid信息再次确认待创建raid对应的相关配置是否正确,并在相关配置正确时,可在通过当前阵列创建界面显示的创建选项(按钮)等触发raid5创建指令。

其中,该第一raid信息包括raid5等级信息、待创建raid5所需要的磁盘信息和/或热备盘信息、raid5接口信息等。

步骤s130,在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5。

在本实施例中,在用户通过点击(选择)阵列创建界面中的创建选时,触发raid5创建指令,在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,该终端通过第一raid信息对应的raid5接口、基于第一raid信息创建raid5。

参照图5,图5为raid5的架构示意图。

在创建raid5时,磁盘设备需求为3个或更多的磁盘,即需要mcu硬件层中raid5硬盘数量大于等于3个。

linux内核层:主要修改内核驱动程序,而目前linux内核版本很需要2.6把版本以上支持raid设备,本文测试的环境是linux3.4.39只需要把md设备中raid设备的功能打开即可,具体配置过程如下:a.、进入devicedriver;b、选择mutipledevicesdriversupport(raidandlvm);c、选择raid-5相关的两个选项。

android系统层:主要把raid工具部署到系统。比如移植mdadm,btrfs,raidtools等工具到系统进程目录/system/bin。以下以mdadm为例,具体步骤如下:a、mdadm移植,通过交叉编译工具,输出mdadm目标文件,并把目标文件放到/system/bin;b、权限配置,打开mdadm所有需要的权限,以便上层app能执行此脚本;c、重新编译打包系统。

androidapp层:用户可通过在app中,通过androidrumtime执行对应的程序。比如创建阵列磁盘,mdadm--create--verbose/dev/md0level=5--raid-devices=2xxxxxxxxx等,通过out输出对应信息来管理raid5阵列。

在本实施例中,可在该android系统的终端中设置配置模块、阵列创建模块等模块,该配置模块接收用户输入的磁盘阵列配置信息,并生产对应的磁盘阵列信息,该阵列创建模块根据配置模块生成的磁盘阵列信息创建对应的raid5接口。

本实施例提出的raid管理方法,通过在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,接着在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面,而后在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5,能够根据用户需求通过对应的raid5接口创建raid5,能够通过android系统的终端实现raid5管理,提高了raid5管理的便捷性。

基于第一实施例,提出本发明方法的第二实施例,参照图6,在本实施例中,该raid管理方法还包括:

步骤s140,在监测到当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息;

在本实施例中,该安装android系统的终端可实时监测当前存在的各个磁盘的状态以获得对应的状态信息,并在根据该状态信息确定当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息,即确定该失效的磁盘所归属的raid5,该第二raid信息可以为raid5的编号、名称等信息。

步骤s150,通过所述第二raid信息对应的raid5接口在所述第二raid信息对应的raid5中删除失效的磁盘;

在本实施例中,在获取到第二raid信息时,在该第二raid信息对应的raid5中删除该失效的磁盘,具体地,可通过或调用该第二raid信息对应的raid5接口在该第二raid信息对应的raid5中删除该失效的磁盘。

步骤s160,基于当前处于空闲状态的raid5格式磁盘,通过所述第二raid信息对应的raid5接口对删除失效的磁盘后的raid5进行重建。

在本实施例中,为避免删除所述磁盘后的raid5挂起,首先获取当前处于空闲状态的raid5格式磁盘,其中,空闲状态的raid5格式磁盘是指当前不属于任何raid5的raid5格式磁盘,该空闲状态的raid5格式磁盘的数量与已删除失效的磁盘的数量一致,而后基于获取到的raid5格式磁盘通过所述第二raid信息对应的raid5接口删除失效的磁盘后的raid5进行重建,即重建后的raid5包括删除失效的磁盘后的raid5中剩余的磁盘及热备盘、空闲状态的raid5格式磁盘。

在其他实施例中,在删除失效的磁盘后的raid5满足该raid5的等级对应的要求时,即删除失效的磁盘后的raid5中的磁盘数量大于或等于3,可直接对raid5进行重建。

在其他实施例中,若该失效的磁盘不属于raid5,则直接删除该磁盘。

本实施例提出的raid管理方法,通过在监测到当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息,接着在所述第二raid信息对应的raid5中删除失效的磁盘,而后基于当前处于空闲状态的raid5格式磁盘,通过所述第二raid信息对应的raid5接口对删除失效的磁盘后的raid5进行重建,进而能够通过android系统的终端实现raid5中失效磁盘的删除并对该raid5进行重建,进一步提高了raid5管理的便捷性。

基于第一实施例,提出本发明方法的第三实施例,参照图7,在本实施例中,该raid管理方法还包括:

步骤s170,在监测到raid5中存在异常raid5时,获取所述异常raid5对应的异常信息以及第三raid信息;

在本实施例中,该安装android系统的终端可实时监测所有raid5的状态,并根基监测结果确定当前是否存在异常raid5,其中,该异常raid5包括该raid5突然断电或raid5中的磁盘突然断电、该raid5正在进行重构、该raid5的磁盘顺序混乱、该raid5被误删除、误格式化或误分区、该raid5的磁盘出现坏道或损坏、该raid5的磁盘被拔出等情形。在监测到raid中存在异常raid5时,终端获取所述异常raid5对应的异常信息以及第三raid信息,该第三raid信息可以为raid5的编号、名称等信息。

步骤s180,显示包括所述异常信息以及第三raid信息的提示信息。

在本实施例中,在获取到异常raid5对应的异常信息以及第三raid信息时,在终端的显示屏显示获取到的异常信息以及第三raid信息,以便于用户及时知晓当前存在异常raid5,当然,在显示异常raid5对应的异常信息以及第三raid信息的同时,还可以输出语音报警信息等。

本实施例提出的raid管理方法,通过在监测到raid5中存在异常raid5时,获取所述异常raid对应的异常信息以及第三raid信息,接着显示包括所述异常信息以及第三raid信息的提示信息,能够在检查到异常raid5时,显示异常信息,进而便于用户及时知晓当前存在异常raid5,进一步提高了raid5管理的便捷性。

基于上述实施例,提出本发明方法的第四实施例,参照图8,在本实施例中,在步骤s110之前,该raid管理方法还包括:

步骤s190,在接收用户基于登录界面触发的登录请求时,获取所述登录请求对应的登录账号及登录密码;

在本实施例中,安装android系统的终端安装有raid管理应用程序app,该终端的持有者(用户)拥有该app的登录账号对应的登录密码。在用户启动该app时,显示该app对应的登录界面,以供用户基于该登录界面输入对应的登录账号及登录密码,并通过点击登录选项等触发登录请求。在接收用户基于登录界面触发的登录请求时,该终端获取所述登录请求对应的登录账号及登录密码。

步骤s200,在所述登录账号及登录密码验证通过时,显示raid5管理主界面;

在本实施例中,在获取到登录账号及登录密码时,对该登录账号及登录密码进行验证操作,并在验证通过时,在终端的显示屏显示raid5管理主界面。其中,该raid5管理主界面包括阵列创建信息、当前登录的用户信息、当前的磁盘阵列信息、各个磁盘阵列对应的磁盘的容量信息、空闲的磁盘信息、配置界面、操作界面等二级界面的导航信息等。

步骤s210,在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面。

在本实施例中,用户可通过该raid5管理主界面中的配置界面对应的导航信息进入配置界面,具体地,在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面,进而用户可在该配置界面设置需要创建的磁盘阵列的等级、需要用到的磁盘、热备盘,或者生成和导入配置文件等,在设置完成时,可通过当前界面的选项(按钮)进行提交,以实现raid5的配置信息的输入。

进一步地,在一实施例中,在步骤s200之后,所述raid管理方法还包括:

在接收到基于所述操作界面触发的扩容指令时,基于所述扩容指令对应的待添加raid5格式磁盘,通过所述扩容指令对应的raid5接口对所述扩容指令对应的raid5进行扩容操作;或者,

在接收到基于所述操作界面触发的磁盘删除指令时,通过所述磁盘删除指令对应的raid5接口,在所述磁盘删除指令对应的raid5中删除所述磁盘删除指令对应的raid5格式磁盘,并对删除磁盘后的raid5进行重建;又或者,

在接收到基于所述操作界面触发的热备盘的添加/删除指令时,通过所述添加/删除指令对应的raid5接口,在所述添加/删除指令对应的raid5中添加/删除所述添加/删除指令对应的raid5格式热备盘。

在本实施例中,可通过操作界面对raid5进行扩容即在raid5中添加磁盘、在raid5中删除磁盘、在raid5中添加/删除热备盘等操作。

具体地,在接收到基于所述操作界面触发的扩容指令时,获取该扩容指令对应的raid5及待添加raid5格式磁盘,通过该扩容指令对应的raid5接口将该待添加raid5格式磁盘添加至该raid5中,以实现raid5的扩容。

在接收到基于所述操作界面触发的磁盘删除指令时,确定磁盘删除指令对应的待删除raid5格式磁盘,通过所述磁盘删除指令对应的raid5接口,在所述磁盘删除指令对应的raid5中删除该待删除raid5格式磁盘,在删除该待删除raid5格式磁盘后,对删除磁盘后的raid5进行重建。优选地,在删除磁盘后的raid5满足该raid5的等级对应的要求、即删除待删除raid5格式磁盘后的raid5中的磁盘数量大于或等于3时,可直接进行重建,也可选择与待删除raid5格式磁盘的数量相同的其他raid5格式磁盘对该删除磁盘后的raid5进行重建,以保证该删除磁盘后的raid5的容量不变;在删除磁盘后的raid5不满足该raid的等级对应的要求时,选择与待删除raid5格式磁盘的数量相同的其他raid5格式磁盘对该删除磁盘后的raid5进行重建。

在接收到基于所述操作界面触发的热备盘的添加/删除指令时,确定添加/删除指令对应的热备盘,通过所述添加/删除指令对应的raid5接口,在所述添加/删除指令对应的raid5中删除该热备盘。

本实施例提出的raid管理方法,通过在接收用户基于登录界面触发的登录请求时,获取所述登录请求对应的登录账号及登录密码;接着在所述登录账号及登录密码验证通过时,显示raid5管理主界面;而后在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面,通过在android终端显示raid5管理主界面,便于用户根据该raid5管理主界面显示的内容管理raid5,进一步提高了raid5管理的便捷性。

基于第四实施例,提出本发明方法的第五实施例,参照图9,在本实施例中,在步骤s200之后,该raid管理方法还包括:

步骤s220,在接收到基于raid5管理主界面触发的操作界面显示请求时,显示所述操作界面显示请求对应的操作界面;

在本实施例中,用户可通过该raid5管理主界面中的配置界面对应的导航信息进入操作界面,具体地,在接收基于raid5管理主界面触发的操作界面显示请求时,显示所述配置界面显示请求对应的操作界面,该操作界面包括启动/停止、格式化等raid5操作选项。

步骤s230,在接收到基于所述操作界面触发的启动/停止指令时,获取所述启动/停止指令对应的第四raid信息;

在本实施例中,用户可点击操作界面的启动/停止选项等方式触发启动/停止指令,在接收到基于所述操作界面触发的启动/停止指令时,该终端获取所述启动/停止指令对应的第四raid信息,该第四raid信息可以为raid5的编号、名称等信息。

步骤s240,通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5。

在本实施例中,在获取到第四raid信息时,终端通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5。

本实施例提出的raid管理方法,通过在接收到基于raid管理主界面触发的操作界面显示请求时,显示所述操作界面显示请求对应的操作界面,接着在接收到基于所述操作界面触发的启动/停止指令时,获取所述启动/停止指令对应的第四raid信息,而后通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5,能够通过android终端实现raid5的启动/停止控制,进一步提高了raid5管理的便捷性。

基于第四实施例,提出本发明方法的第六实施例,参照图10,在本实施例中,在步骤s220之后,该raid管理方法还包括:

步骤s250,在接收到基于所述操作界面触发的格式化指令时,获取所述格式化指令对应的第五raid信息;

在本实施例中,用户可点击操作界面的格式化选项等方式触发格式化指令,在接收到基于所述操作界面触发的格式化指令时,该终端获取所述格式化指令对应的第五raid信息,该第五raid信息可以为raid5的编号、名称等信息。

步骤s260,通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5。

在本实施例中,在获取到该第五raid信息时,该终端通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5,具体的,可先确定待格式化的磁盘,而后删除确定的磁盘的分区,最后将该第五raid信息对应raid5中的各个磁盘格式化为raid5格式磁盘。

本实施例提出的raid管理方法,通过在接收到基于所述操作界面触发的格式化指令时,获取所述格式化指令对应的第五raid信息,接着通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5,进而能够采用android终端实现raid5的格式化,进一步提高了raid5管理的便捷性。

基于第五实施例,提出本发明方法的第七实施例,参照图11,在本实施例中,步骤s260包括:

步骤s261,获取所述第五raid信息对应raid5中各个磁盘的分区信息;

在本实施例中,在获取到该第五raid信息时,该终端获取所述第五raid信息对应raid5中各个磁盘的分区信息。

步骤s262,通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区;

在本实施例中,在获取到分区信息时,该终端通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区,以便于格式化各个磁盘。

步骤s263,通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘。

在本实施例中,在删除各个磁盘对应的分区后,该终端通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘,进而实现该raid5的格式化。

本实施例提出的raid管理方法,通过获取所述第五raid信息对应raid5中各个磁盘的分区信息,接着通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区,而后通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘,进而能够通过android终端删除raid5的各个磁盘的分区,而后进行raid5的格式化,进一步提高了raid5管理的便捷性。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有raid管理程序,所述raid管理程序被处理器执行时实现如下操作:

在接收用户基于当前显示的配置界面输入的磁盘阵列raid5的配置信息时,基于所述配置信息生成对应的第一raid信息,其中,第一raid信息包括raid5等级以及磁盘信息;

在所述磁盘信息对应的磁盘数量大于或等于3时,显示包括所述第一raid信息以及所述第一raid信息对应的创建选项的阵列创建界面;

在接收到基于所述阵列创建界面中的创建选项触发的raid5创建指令时,基于所述第一raid信息并通过对应的raid5接口创建raid5。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在监测到当前存在失效的磁盘时,获取失效的磁盘对应的第二raid信息;

通过所述第二raid信息对应的raid5接口在所述第二raid信息对应的raid5中删除失效的磁盘;

基于当前处于空闲状态的raid5格式磁盘,通过所述第二raid信息对应的raid5接口对删除失效的磁盘后的raid5进行重建。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在监测到raid5中存在异常raid5时,获取所述异常raid5对应的异常信息以及第三raid信息;

显示包括所述异常信息以及第三raid信息的提示信息。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在接收用户基于登录界面触发的登录请求时,获取所述登录请求对应的登录账号及登录密码;

在所述登录账号及登录密码验证通过时,显示raid5管理主界面;

在接收基于raid5管理主界面触发的配置界面显示请求时,显示所述配置界面显示请求对应的配置界面。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在接收到基于raid5管理主界面触发的操作界面显示请求时,显示所述操作界面显示请求对应的操作界面;

在接收到基于所述操作界面触发的启动/停止指令时,获取所述启动/停止指令对应的第四raid信息;

通过所述第四raid信息对应的raid5接口启动/停止获取到的所述第四raid信息对应的raid5。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在接收到基于所述操作界面触发的格式化指令时,获取所述格式化指令对应的第五raid信息;

通过所述第五raid信息对应的raid5接口格式化所述第五raid信息对应的raid5。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

获取所述第五raid信息对应raid5中各个磁盘的分区信息;

通过所述第五raid信息对应的raid5接口,基于所述分区信息依次删除各个所述磁盘对应的分区;

通过所述第五raid信息对应的raid5接口将删除分区后的各个磁盘格式化为raid5格式磁盘。

进一步地,所述raid管理程序被处理器执行时还实现如下操作:

在接收到基于所述操作界面触发的扩容指令时,基于所述扩容指令对应的待添加raid5格式磁盘,通过所述扩容指令对应的raid5接口对所述扩容指令对应的raid5进行扩容操作;或者,

在接收到基于所述操作界面触发的磁盘删除指令时,通过所述磁盘删除指令对应的raid5接口,在所述磁盘删除指令对应的raid5中删除所述磁盘删除指令对应的raid5格式磁盘,并对删除磁盘后的raid5进行重建;又或者,

在接收到基于所述操作界面触发的热备盘的添加/删除指令时,通过所述添加/删除指令对应的raid5接口,在所述添加/删除指令对应的raid5中添加/删除所述添加/删除指令对应的raid5格式热备盘。

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

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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