一种磁盘阵列的写控制方法及装置制造方法及图纸

技术编号:14907997 阅读:111 留言:0更新日期:2017-03-29 23:01
本发明专利技术公开了一种磁盘阵列的写控制方法及装置,属于存储技术领域。所述方法包括:接收写请求,请求包括需写入磁盘阵列的数据;磁盘阵列包括多个物理盘,每个物理盘分割为多个条带单元,每个条带单元包括至少一个逻辑块;根据写请求,确定待写入条带;每个条带包含相同数量的条带单元,每个条带包含的条带单元数量小于磁盘阵列包括的物理盘总数,不同条带包含的条带单元不同,一个条带中不同条带单元位于不同的物理盘;检测待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力;当待写入数据的各个条带单元所属的物理盘在当前时间的压力均未超过预设压力时,在待写入条带上写入数据。

【技术实现步骤摘要】

本专利技术涉及存储
,特别涉及一种磁盘阵列的写控制方法及装置
技术介绍
虚拟化磁盘阵列(RedundantArraysofIndependentDisks,简称RAID)(磁盘阵列的全称为,独立磁盘构成的具有冗余能力的阵列),即现在的RAID2.0技术,能够支持虚拟化磁盘重构。具体地,在RAID包含的多个物理盘中其中一块物理盘发生故障时,可以将故障盘上的数据重构到其他物理盘上。比如,RAID包括1、2、3、4、5、6和7号物理盘,假设3号物理盘故障,RAID先通过校验计算恢复出3号物理盘上存储的数据,然后将数据分摊存储到其余物理盘(比如1、2、4、5、6和7号物理盘)上。考虑到磁盘故障触发重构时,RAID还要同步实现来自主机的读写业务。如果将故障盘的数据分摊存储到其他物理盘上,则其他物理盘上的读写速率将降低,这将影响其他物理盘实现主机的读写业务。为了减轻重构对主机的读写业务的影响,现有技术提出了一种重构方法,该方法包括,选择物理盘中剩余容量最多的物理盘作为目标盘进行重构。比如,可以在3号盘故障时,将恢复出的3号盘数据存储到剩余容量最多的4号物理盘上。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:RAID在实现主机的读写业务时,选择的物理盘具有随机性,任何一个或多个正常工作的物理盘都有选择的可能性,那么,当实现主机的读写业务时选择的物理盘与重构选择的物理盘为同一个物理盘时,比如都选择了4号物理盘,这将导致4号物理盘性能恶化,影响重构的速度和主机的访问速度。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种磁盘阵列的写控制方法及装置。所述技术方案如下:第一方面,提供了一种磁盘阵列的写控制方法,所述方法包括:接收写请求,所述请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块,所有的所述条带单元被划分为多个条带,每个所述条带包含相同数量的条带单元,每个所述条带包含的条带单元数量小于所述磁盘阵列包括的物理盘总数,不同所述条带包含的条带单元不同,一个所述条带中不同条带单元位于不同的物理盘;根据所述写请求,确定待写入条带;检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力;当所述待写入数据的各个条带单元所属的物理盘在当前时间的压力均未超过所述预设压力时,在所述待写入条带上写入数据,并增加所述待写入数据的各个条带单元所属的物理盘的压力;在所述待写入条带上写完数据后,减少所述待写入数据的各个条带单元所属的物理盘的压力。作为第一方面的第一实施方式,所述方法还包括:当所述待写入数据的各个条带单元所属的物理盘中至少一个物理盘在当前时间的压力超过所述预设压力时,重新确定待写入条带,重新确定的待写入条带与原先确定的待写入条带不同。作为第一方面的第二实施方式,所述压力包括读写操作计数和数据量并发数;检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力,包括:检测所述待写入数据的各个条带单元所属的物理盘在当前时间的读写操作计数是否超过预设读写操作计数、以及检测所述待写入数据的各个条带单元所属的物理盘在当前时间的数据量并发数计数是否超过预设数据量并发计数;增加所述待写入数据的各个条带单元所属的物理盘的压力,包括:增加所述待写入数据的各个条带单元所属的物理盘的读写操作计数和数据量并发数;其中,每个物理盘的读写操作计数的增加量为1,每个物理盘的数据量并发数的增加量为对应的条带单元中实际写入数据的逻辑块数量。作为第一方面的第三实施方式,所述方法还包括:接收读请求,所述读请求包括需读取的逻辑块的标识;从所述需读取的逻辑块读取数据,并增加所述需读取的逻辑块中各个逻辑块所属的物理盘的压力;当从所述需读取的逻辑块读完数据后,减少所述需读取的逻辑块中各个逻辑块所属的物理盘的压力。第二方面,提供了一种磁盘阵列的写控制方法,所述方法包括:接收写请求,所述写请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块;确定当前时间所述多个物理盘中压力最小的物理盘;在所述压力最小的物理盘上写入所述需写入磁盘阵列的数据,并增加所述压力最小的物理盘的压力;当写完数据后,减少所述压力最小的物理盘的压力。作为第二方面的第一实施方式,所述压力包括读写操作计数和数据量并发数;增加所述压力最小的物理盘的压力,包括:增加所述压力最小的物理盘的读写操作计数和数据量并发数计数,其中,所述读写操作计数的增加量为1,所述数据量并发数的增加量为实际写入数据的逻辑块数量。作为第二方面的第二实施方式,所述方法还包括:接收读请求,所述读请求包括需读取的逻辑块的标识;从所述需读取的逻辑块读取数据,并增加所述需读取的逻辑块中各个逻辑块所属的物理盘的压力;当从所述需读取的逻辑块读完数据后,减少所述需读取的逻辑块中各个逻辑块所属的物理盘的压力。第三方面,提供了一种磁盘阵列的写控制装置,所述装置包括:第一接收模块,用于接收写请求,所述请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块,所有的所述条带单元被划分为多个条带,每个所述条带包含相同数量的条带单元,每个所述条带包含的条带单元数量小于所述磁盘阵列包括的物理盘总数,不同所述条带包含的条带单元不同,一个所述条带中不同条带单元位于不同的物理盘;第一确定模块,用于根据所述写请求,确定待写入条带;检测模块,用于检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力;第一写入模块,用于当所述待写入数据的各个条带单元所属的物理盘在当前时间的压力均未超过所述预设压力时,在所述待写入条带上写入数据,并增加所述待写入数据的各个条带单元所属的物理盘的压力;第一恢复模块,用于在所述待写入条带上写完数据后,减少所述待写入数据的各个条带单元所属的物理盘的压力。作为第三方面的第一实施方式,所述第一确定模块还用于,当所述待写入数据的各个条带单元所属的物理盘中至少一个物理盘在当前时间的压力超过所述预设压力时,重新确定待写入条带,重新确定的待写入条带与原先确定的待写入条带不同。作为第三方面的第二实施方式,所述压力包括读写操作计数和数据量并发数;检测模块用于,检测所述待写入数据的各个条带单元所属的物理盘在当前时间的读写操作计数是否超过预设读写操作计数、以及检测所述待写入数据的各个条带单元所属的物理盘在当前时间的数据量并发数计数是否超过预设数据量并发计数;第一写入模块用于,增加所述待写入数据的各个条带单元所属的物理盘的读写操作计数和数据量并发数;其中,每个物理盘的读写操作计数的增加量为1,每个物理盘的数据量并发数的增加量为对应的条带单元中实际写入数据的逻辑块数量。作为第三方面的第三实施方式,所述装置还包括第一读取模块,所述第一读取模块用于,接收读请求,所述读请求包括需读取的逻辑块的标识;从所述需读取的逻辑块读取数据,并增加所述需读取的逻辑块中各个逻辑块所属的物理盘的压力;当从所述需读取的逻辑块读完数据后,减少本文档来自技高网...

【技术保护点】
一种磁盘阵列的写控制方法,其特征在于,所述方法包括:接收写请求,所述请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块,所有的所述条带单元被划分为多个条带,每个所述条带包含相同数量的条带单元,每个所述条带包含的条带单元数量小于所述磁盘阵列包括的物理盘总数,不同所述条带包含的条带单元不同,一个所述条带中不同条带单元位于不同的物理盘;根据所述写请求,确定待写入条带;检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力;当所述待写入数据的各个条带单元所属的物理盘在当前时间的压力均未超过所述预设压力时,在所述待写入条带上写入数据,并增加所述待写入数据的各个条带单元所属的物理盘的压力;在所述待写入条带上写完数据后,减少所述待写入数据的各个条带单元所属的物理盘的压力。

【技术特征摘要】
1.一种磁盘阵列的写控制方法,其特征在于,所述方法包括:接收写请求,所述请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块,所有的所述条带单元被划分为多个条带,每个所述条带包含相同数量的条带单元,每个所述条带包含的条带单元数量小于所述磁盘阵列包括的物理盘总数,不同所述条带包含的条带单元不同,一个所述条带中不同条带单元位于不同的物理盘;根据所述写请求,确定待写入条带;检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力;当所述待写入数据的各个条带单元所属的物理盘在当前时间的压力均未超过所述预设压力时,在所述待写入条带上写入数据,并增加所述待写入数据的各个条带单元所属的物理盘的压力;在所述待写入条带上写完数据后,减少所述待写入数据的各个条带单元所属的物理盘的压力。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述待写入数据的各个条带单元所属的物理盘中至少一个物理盘在当前时间的压力超过所述预设压力时,重新确定待写入条带,重新确定的待写入条带与原先确定的待写入条带不同。3.根据权利要求1所述的方法,其特征在于,所述压力包括读写操作计数和数据量并发数;检测所述待写入条带中待写入数据的各个条带单元所属的物理盘在当前时间的压力是否超过预设压力,包括:检测所述待写入数据的各个条带单元所属的物理盘在当前时间的读写操作计数是否超过预设读写操作计数、以及检测所述待写入数据的各个条带单元所属的物理盘在当前时间的数据量并发数计数是否超过预设数据量并发计数;增加所述待写入数据的各个条带单元所属的物理盘的压力,包括:增加所述待写入数据的各个条带单元所属的物理盘的读写操作计数和数据量并发数;其中,每个物理盘的读写操作计数的增加量为1,每个物理盘的数据量并发数的增加量为对应的条带单元中实际写入数据的逻辑块数量。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:接收读请求,所述读请求包括需读取的逻辑块的标识;从所述需读取的逻辑块读取数据,并增加所述需读取的逻辑块中各个逻辑块所属的物理盘的压力;当从所述需读取的逻辑块读完数据后,减少所述需读取的逻辑块中各个逻辑块所属的物理盘的压力。5.一种磁盘阵列的写控制方法,其特征在于,所述方法包括:接收写请求,所述写请求包括需写入磁盘阵列的数据;所述磁盘阵列包括多个物理盘,每个所述物理盘分割为多个条带单元,每个所述条带单元包括至少一个逻辑块;确定当前时间所述多个物理盘中压力最小的物理盘;在所述压力最小的物理盘上写入所述需写入磁盘阵列的数据,并增加所述压力最小的物理盘的压力;当写完数据后,减少所述压力最小的物理盘的压力。6.根据权利要求5所述的方法,其特征在于,所述压力包括读写操作计数和数据量并发数;增加所述压力最小的物理盘的压力,包括:增加所述压力最小的物理盘的读写操作计数和数据量并发数计数,其中,所述读写操作计数的增加量为1,所述数据量并发数的增加量为实际写入数据的逻辑块数量。7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:接收读请求,所述读请求包括需读取的逻辑块的标识;从所述需读取的逻辑块读取数据,并增加所述需读取的逻辑块中各个逻辑块所属的物理盘的压力;当从所述需读取的逻辑块读完数据后,减少所述需读取的逻辑块中各个逻辑块所属的物理盘的压力。8.一种磁盘阵列的写控制装置,其特征在于,所述装置包括:第一接...

【专利技术属性】
技术研发人员:谭春华
申请(专利权)人:华为数字技术成都有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1