CN117111860B - 磁盘阵列降级时的io处理方法、装置及电子设备 - Google Patents
磁盘阵列降级时的io处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117111860B CN117111860B CN202311379094.3A CN202311379094A CN117111860B CN 117111860 B CN117111860 B CN 117111860B CN 202311379094 A CN202311379094 A CN 202311379094A CN 117111860 B CN117111860 B CN 117111860B
- Authority
- CN
- China
- Prior art keywords
- disk
- target
- data
- read
- covered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015556 catabolic process Effects 0.000 title claims abstract description 37
- 238000006731 degradation reaction Methods 0.000 title claims abstract description 37
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 76
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003491 array Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 27
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种磁盘阵列降级时的IO处理方法、装置及电子设备,涉及计算机技术领域,该方法包括:在磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;目标条带数据为磁盘阵列中存储的目标条带对应的磁盘数据;在目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理第一IO操作,以及按照第二读写策略处理第二IO操作。本申请提供的磁盘阵列降级时的IO处理方法、装置及电子设备,用于降低降级状态下阵列处理IO请求时的资源消耗,提高降级状态下磁盘阵列的IO处理性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种磁盘阵列降级时的IO处理方法、装置及电子设备。
背景技术
磁盘阵列(Redundant Array of Independent Disks,RAID)是一种将多个独立磁盘组合起来的方式,从而形成一个逻辑卷,以便更高效地存储和访问数据。磁盘阵列中的数据存储在多个磁盘中,极大地提高了并发读写能力,并且,磁盘阵列还具有数据冗余性,即使一个磁盘出现故障,数据也可以恢复。
在相关技术中,当磁盘阵列中的某个磁盘发生故障,且没有及时更换故障磁盘时,磁盘阵列的系统性能和纠错能力会降低,此时,磁盘阵列便处于降级状态。在降级状态下,当进行某个条带的条带数据读写时,磁盘阵列会从所有磁盘中将该条带的条带数据读取到内存,极大地影响了降级后磁盘阵列的输入/输出(Input/Output,IO)处理性能,并且,在处理IO请求时,需要进行多次异或运算,对磁盘阵列的算力消耗较大。
基于此,急需一种IO处理方法,能够降低降级状态下 阵列处理IO请求时的资源消耗,提高磁盘阵列的IO处理性能。
发明内容
本申请的目的是提供一种磁盘阵列降级时的IO处理方法、装置及电子设备,用于降低降级状态下 阵列处理IO请求时的资源消耗,提高降级状态下磁盘阵列的IO处理性能。
本申请提供一种磁盘阵列降级时的IO处理方法,包括:
在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
可选地,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作之前,所述方法还包括:获取与所述目标IO操作相关的目标参数信息, 并基于所述目标参数信息确定所述目标IO操作的目标磁盘信息;基于所述目标磁盘信息判断所述目标IO操作针对所述目标条带对应的磁盘数据的覆盖情况;其中,所述目标参数信息包括以下至少一项:所述目标IO操作的起始逻辑块地址,所述目标IO操作的结束逻辑块地址,所述目标IO操作覆盖的起始磁盘的起始盘索引,所述目标IO操作覆盖的结束磁盘的结束盘索引,所述磁盘阵列的校验磁盘的校验盘索引,故障磁盘的故障盘索引;所述目标磁盘信息包括以下至少一项:所述目标IO操作的第一IO长度,所述目标IO操作覆盖磁盘的磁盘覆盖信息,故障磁盘中所述目标IO操作的第二IO长度,重叠区长度;所述IO长度用于指示IO操作读写数据块的数量;所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中需要读写的数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘,所述目标IO操作读写的数据块为所述目标条带顺序存储的第一个数据块。
可选地,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:根据所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,确定所述第一IO长度。
可选地,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:根据所述目标IO操作覆盖的起始磁盘的起始盘索引、所述目标IO操作覆盖的结束磁盘的结束盘索引、故障磁盘的故障盘磁盘索引以及校验磁盘的校验盘索引,确定所述磁盘覆盖信息;其中,所述磁盘覆盖信息用于指示:所述目标IO操作覆盖的正常磁盘数量、所述目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型;故障磁盘的磁盘类型包括:校验盘和数据盘。
可选地,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,还包括:在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址计算所述第二IO长度。
可选地,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,计算所述重叠区长度。
可选地,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作之前,所述方法还包括;在根据所述磁盘覆盖信息确定所述目标IO操作覆盖的正常磁盘数量大于零、所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型不包括校验盘的情况下,确定所述目标IO操作同时覆盖到正常磁盘和故障磁盘。
可选地,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,包括:在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度小于或者等于组块尺寸、且所述重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,包括:在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度大于组块尺寸、所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量小于第一预设磁盘数量阈值、且重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量;所述第一预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第一预设比例。
可选地,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:在所述磁盘覆盖信息指示故障磁盘的磁盘类型仅包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照第三读写策略处理所述目标IO操作;其中,所述第三读写策略为只写方式。
可选地,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘的数量为零、且所述目标IO操作覆盖的故障磁盘的磁盘类型不包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照所述第一读写策略处理所述目标IO操作。
可选地,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量为零、且故障磁盘的磁盘类型仅包括数据盘的情况下,不对所述目标IO操作进行拆分,并按照所述第二读写策略处理所述目标IO操作。
可选地,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、所述第一IO长度大于组块尺寸、且所述第二IO长度等于所述组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:在所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量大于第二预设磁盘数量阈值、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、且所述第一IO长度大于组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述第二预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第二预设比例。
本申请还提供一种磁盘阵列降级时的IO处理装置,包括:
接收模块,用于在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;IO操作处理模块,用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
可选地,所述装置还包括:参数计算模块;所述参数计算模块,用于获取与所述目标IO操作相关的目标参数信息, 并基于所述目标参数信息确定所述目标IO操作的目标磁盘信息;基于所述目标磁盘信息判断所述目标IO操作针对所述目标条带对应的磁盘数据的覆盖情况;其中,所述目标参数信息包括以下至少一项:所述目标IO操作的起始逻辑块地址,所述目标IO操作的结束逻辑块地址,所述目标IO操作覆盖的起始磁盘的起始盘索引,所述目标IO操作覆盖的结束磁盘的结束盘索引,所述磁盘阵列的校验磁盘的校验盘索引,故障磁盘的故障盘索引;所述目标磁盘信息包括以下至少一项:所述目标IO操作的第一IO长度,所述目标IO操作覆盖磁盘的磁盘覆盖信息,故障磁盘中所述目标IO操作的第二IO长度,重叠区长度;所述IO长度用于指示IO操作读写数据块的数量;所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中需要读写的数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘,所述目标IO操作读写的数据块为所述目标条带顺序存储的第一个数据块。
可选地,所述参数计算模块,具体用于根据所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,确定所述第一IO长度。
可选地,所述参数计算模块,具体用于根据所述目标IO操作覆盖的起始磁盘的起始盘索引、所述目标IO操作覆盖的结束磁盘的结束盘索引、故障磁盘的故障盘磁盘索引以及校验磁盘的校验盘索引,确定所述磁盘覆盖信息;其中,所述磁盘覆盖信息用于指示:所述目标IO操作覆盖的正常磁盘数量、所述目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型;故障磁盘的磁盘类型包括:校验盘和数据盘。
可选地,所述参数计算模块,具体用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址计算所述第二IO长度。
可选地,所述参数计算模块,具体用于根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,计算所述重叠区长度。
可选地,所述装置还包括:确定模块;所述确定模块,用于在根据所述磁盘覆盖信息确定所述目标IO操作覆盖的正常磁盘数量大于零、所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型不包括校验盘的情况下,确定所述目标IO操作同时覆盖到正常磁盘和故障磁盘。
可选地,所述IO操作处理模块,具体用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度小于或者等于组块尺寸、且所述重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,所述IO操作处理模块,具体用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度大于组块尺寸、所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量小于第一预设磁盘数量阈值、且重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量;所述第一预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第一预设比例。
可选地,所述IO操作处理模块,还用于在所述磁盘覆盖信息指示故障磁盘的磁盘类型仅包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照第三读写策略处理所述目标IO操作;其中,所述第三读写策略为只写方式。
可选地,所述IO操作处理模块,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘的数量为零、且所述目标IO操作覆盖的故障磁盘的磁盘类型不包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照所述第一读写策略处理所述目标IO操作。
可选地,所述IO操作处理模块,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量为零、且故障磁盘的磁盘类型仅包括数据盘的情况下,不对所述目标IO操作进行拆分,并按照所述第二读写策略处理所述目标IO操作。
可选地,所述IO操作处理模块,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、所述第一IO长度大于组块尺寸、且所述第二IO长度等于所述组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,所述IO操作处理模块,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量大于第二预设磁盘数量阈值、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、且所述第一IO长度大于组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述第二预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第二预设比例。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述磁盘阵列降级时的IO处理方法的步骤。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述磁盘阵列降级时的IO处理方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述磁盘阵列降级时的IO处理方法的步骤。
本申请提供的磁盘阵列降级时的IO处理方法、装置及电子设备,首先,在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;之后,在所述IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照读修改写的读写策略处理所述第一IO操作,以及按照重构写的读写策略处理所述第二IO操作。如此,可以在满足条件的情况下,将IO操作进行拆分,并按照拆分后每个IO操作最佳的读写策略处理拆分后的IO操作,不仅可以减少IO操作所涉及到的磁盘数量,还能降低降级状态下 阵列处理IO请求时的资源消耗,提高降级状态下磁盘阵列的IO处理性能。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的磁盘阵列降级时的IO处理方法的流程示意图之一;
图2是本申请提供的磁盘阵列降级时的IO处理方法的流程示意图之二;
图3是本申请提供的IO操作覆盖磁盘数据示意图之一;
图4是本申请提供的IO操作覆盖磁盘数据示意图之二;
图5是本申请提供的IO操作覆盖磁盘数据示意图之三;
图6是本申请提供的IO操作覆盖磁盘数据示意图之四;
图7是本申请提供的IO操作覆盖磁盘数据示意图之五;
图8是本申请提供的IO操作覆盖磁盘数据示意图之六;
图9是本申请提供的IO操作覆盖磁盘数据示意图之七;
图10是本申请提供的IO操作覆盖磁盘数据示意图之八;
图11是本申请提供的磁盘阵列降级时的IO处理方法的流程示意图之三;
图12是本申请提供的磁盘阵列降级时的IO处理装置的结构示意图;
图13是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
以下针对本申请实施例所涉及的专业术语进行描述:
磁盘阵列(RAID)是一种由多个磁盘组成的存储系统,通过数据分布和冗余备份的方式来提高数据的可靠性和性能。以下是与RAID相关的概念和技术的解释:
条带(Striping):RAID中的条带是指将数据分散存储在多个磁盘上的过程。数据被分成固定大小的块,并依次存储在多个磁盘上,这样可以提高数据的读写速度。条带通常以RAID级别和条带宽度的形式表示,例如RAID 5表示条带级别为5,条带宽度为5个磁盘。
分块:是组成条带的元素,将一个分区分成多个大小相等的、地址相邻的数据块,这些数据块被称为分块。
RAID阵列降级(RAID Array Degradation):当一或多个磁盘在RAID阵列中发生故障或不可用时,阵列就会被称为处于降级状态。在降级状态下,RAID系统可能会有一些功能受限或无法提供冗余和容错能力,需要及时修复或替换故障磁盘来恢复完整性。
重构写(Reconstruct Write,RCW):在RAID系统中,当一块磁盘发生故障并被替换后,重构写是指将原始数据和冗余数据重新计算,并将其写入新的磁盘。这样可以恢复数据的冗余备份和错误修复能力。
读修改写(Read Modify Write,RMW):在RAID系统中,当需要修改存储在条带上的数据时,读修改写是指首先从对应的磁盘读取数据,并对其进行修改。然后,对修改后的数据进行重新计算冗余信息,并将修改后的数据和重新计算的冗余信息写回磁盘。
满写(Full Stripe Write,FSW):满写是指在RAID系统中写入足够数量的数据块到条带中的所有磁盘,以确保数据的完整性和一致性。满写操作可以在写入过程中避免残缺的数据条带,从而提供更好的性能和数据保护。
重构读(Reconstruct Read,RCR):在RAID系统中,如果某个磁盘发生故障,并且数据无法从该磁盘读取时,重构读是指通过从其他冗余磁盘中读取数据,并重新计算出丢失的数据块。这样可以恢复数据的完整性和一致性。
读恢复写(Read Resume Write,RCW):在RAID系统中,当某个磁盘故障被替换后,读恢复写是指在修复期间,对于需要读取的数据,先从可用的磁盘中读取,然后完成剩余的重构写操作。这样可以在修复进程中提供数据的可用性和连续性。
在相关技术中,针对降级状态下的磁盘阵列常用的IO处理方式为:1、将IO请求按条带进行切分,切分为单个条带的IO请求;2、在单个条带的IO请求中,将未失效盘(包括数据盘和校验盘)中的条带数据读取到磁盘阵列的控制卡内存中;3、通过异或算法计算出失效盘中存储的条带数据,此时,控制卡内存中存储有整个条带对应的条带数据;4、若该IO请求对应的IO操作为读操作,则可以直接将条带数据从控制卡内存中传输到主机内存中,以便相关进程获取该条带数据;5、若该IO操作为写操作,则可以将要写入的数据从主机内存传输到控制卡内存(覆盖步骤2和步骤3中从磁盘读取的条带数据以及经过计算后恢复的数据);6、重新通过异或算法计算新的校验值;7、将新的条带数据和新的校验数据分别写入到数据磁盘和校验磁盘中。
根据上述相关技术中的IO处理方式可知,即使IO操作涉及到的磁盘较少(例如,IO操作仅读写条带的部分条带数据),也需要将条带的所有条带数据全部读取到内存中,会涉及到对所有磁盘的读写操作,而磁盘读写速度往往是磁盘阵列的性能瓶颈,这样的IO处理方式会极大地影响降级后磁盘阵列的IO处理性能。同时,由于在IO处理过程中需要进行多次异或运算(用于计算校验值),对磁盘阵列的计算资源的消耗也很大。
针对相关技术中存在的上述技术问题,本申请实施例提供了一种磁盘阵列降级时的IO处理方法,该方法能够在IO操作同时覆盖到正常磁盘和故障磁盘的情况下,对IO操作进行拆分,将IO操作拆分为仅覆盖正常磁盘的IO操作和仅覆盖故障磁盘的IO操作,并按照读修改写RMW的读写策略处理仅覆盖正常磁盘的IO操作、按照重构写RCW的读写策略处理仅覆盖故障磁盘的IO操作。这样的IO处理方法可以极大地降低读盘数量,同时,也降低了校验值的计算次数。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的磁盘阵列降级时的IO处理方法进行详细地说明。
如图1所示,本申请实施例提供的一种磁盘阵列降级时的IO处理方法,该方法可以包括下述步骤101和步骤102:
步骤101、在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求。
其中,所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据。
示例性地,上述目标IO请求用于读写目标条带对应的条带数据中的目标条带数据,上述目标条带数据为目标条带对应的条带数据中的部分数据。上述目标IO请求可以为主机系统中的任一进程触发的。
需要说明的是,本申请实施例中,进程可以触发针对多个条带数据的IO请求,磁盘阵列会将该IO请求按照条带进行切分,得到针对每个条带的条带数据的IO请求。即上述目标IO请求为经过按条带进行拆分后的IO请求。
步骤102、在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作。
其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
示例性地,当上述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,可以对该表目标IO操作进行拆分,将目标IO操作拆分为仅覆盖正常磁盘的第一IO操作和仅覆盖故障磁盘的第二IO操作,并按照读修改写RMW的读写策略(即上述第一读写策略)处理仅覆盖正常磁盘的第一IO操作,以及按照重构写RCW的读写策略(即上述第二读写策略)处理仅覆盖故障磁盘的第二IO操作。
举例说明,如图2所示,为本申请实施例提供的磁盘阵列降级时的IO处理方法的详细步骤,包括:Raid阵列(即上述磁盘阵列)开始处理IO请求,并对IO请求按照条带进行拆分,得到拆分后的IO请求(即上述目标IO请求);之后,判断Raid阵列中是否存在故障盘,若否,则直接正常处理该IO请求,否则,判断是否需要对该IO请求进行进一步的拆分;若满足拆分条件,则将IO请求对应的IO操作拆分为只覆盖好盘(即正常磁盘)的部分(即上述第一IO操作)和只覆盖坏盘(即故障磁盘)的部分(即上述第二IO操作),并为每个部分的IO指定对应的读写策略对磁盘中的数据进行读写;待所有IO请求全部处理完成后给主机回复响应。
具体地,如图3所示,为Raid 5阵列存储单个条带的条带数据的数据块分布示意图。该Raid 5阵列包含5个磁盘(磁盘D0至磁盘D4),其中,磁盘D0至磁盘D4为数据磁盘,磁盘D5为校验磁盘(P盘),数据块1至数据块32为存储条带a的条带数据的数据块。该Raid 5阵列中,磁盘D1为Raid 5阵列中出现故障的磁盘,即故障磁盘,故障磁盘无法正常读写数据。此时,若接收到针对数据块5至数据块11的IO请求,则可以将该IO请求对应的IO操作拆分为针对数据块5至数据块8的IO操作a(即上述第一IO操作)以及针对数据块9至数据块11的IO操作b(即上述第二IO操作)。之后,按照读修改写RWM的读写策略处理IO操作a,以及按照重构写RCW的读写策略处理IO操作b。其中,IO操作a仅需要读取数据块5至数据块8中的数据和P盘数据,不需要读取磁盘D1至磁盘D3中的任何数据,极大地减少了读盘数量和校验值的计算次数,可以有效地提高磁盘阵列在降级状态下的IO处理性能。
可选地,在本申请实施例中,判断目标IO操作是否能够同时覆盖到正常磁盘和故障磁盘之前,还需要获取相关信息来进行判断。
示例性地,上述步骤102之前,本申请实施例提供的磁盘阵列降级时的IO处理方法还可以包括以下步骤103和步骤104:
步骤103、获取与所述目标IO操作相关的目标参数信息, 并基于所述目标参数信息确定所述目标IO操作的目标磁盘信息。
步骤104、基于所述目标磁盘信息判断所述目标IO操作针对所述目标条带对应的磁盘数据的覆盖情况。
其中,所述目标参数信息包括以下至少一项:所述目标IO操作的起始逻辑块地址,所述目标IO操作的结束逻辑块地址,所述目标IO操作覆盖的起始磁盘的起始盘索引,所述目标IO操作覆盖的结束磁盘的结束盘索引,所述磁盘阵列的校验磁盘的校验盘索引,故障磁盘的故障盘索引;所述目标磁盘信息包括以下至少一项:所述目标IO操作的第一IO长度,所述目标IO操作覆盖磁盘的磁盘覆盖信息,故障磁盘中所述目标IO操作的第二IO长度,重叠区长度;所述IO长度用于指示IO操作读写数据块的数量;所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘,所述目标IO操作读写的数据块为所述目标条带顺序存储的第一个数据块。
示例性地,上述目标参数信息中的各项参数信息用于计算目标磁盘信息中的各项参数信息,上述目标磁盘信息中的第一IO长度、磁盘覆盖信息、第二IO长度以及重叠区长度,用于真实的反应目标IO操作对目标条带的各个数据块的覆盖情况。
需要说明的是,本申请实施例中所需要获取到的参数包括:起始lba、结束lba、IO长度、IO覆盖的起始盘索引、IO覆盖的结束盘索引、校验盘索引、IO覆盖的磁盘数量、IO覆盖的故障盘数量、故障盘所包含的数据盘数量、IO覆盖的故障盘索引。
具体地,上述步骤103中计算第一IO长度的步骤可以包括以下步骤103a:
步骤103a、根据所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,确定所述第一IO长度。
示例性地,根据目标IO操作覆盖的所有数据块的起始逻辑块地址以及结束逻辑块地址,便可以计算出该目标IO操作覆盖的数据块的长度,即上述第一IO长度。
举例说明,如图3所示,根据IO操作的起始逻辑块地址以及结束逻辑块地址,可以确定该IO操作覆盖了数据块5至数据块11共7个数据块,那么,该IO操作的长度为7。
具体地,上述步骤103中确定磁盘覆盖信息的步骤,还可以包括以下步骤103b:
步骤103b、根据所述目标IO操作覆盖的起始磁盘的起始盘索引、所述目标IO操作覆盖的结束磁盘的结束盘索引、故障磁盘的故障盘磁盘索引以及校验磁盘的校验盘索引,确定所述磁盘覆盖信息。
其中,所述磁盘覆盖信息用于指示:所述目标IO操作覆盖的正常磁盘数量、所述目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型;故障磁盘的磁盘类型包括:校验盘和数据盘。
示例性地,根据目标IO操作覆盖的起始磁盘的起始盘索引、目标IO操作覆盖的结束磁盘的结束盘索引,便可以计算出目标IO操作覆盖的正常磁盘数量、目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型。
示例性地,根据目标IO操作覆盖的起始磁盘的起始盘索引、以及结束磁盘的结束盘索引,可以确定目标IO磁盘覆盖了哪些磁盘(即所覆盖磁盘的磁盘索引);之后,与故障盘磁盘索引以及校验盘索引进行匹配,便可以这些磁盘哪些是正常磁盘,哪些是故障磁盘,以及故障磁盘是否为校验磁盘。
具体地,基于上述步骤103b,上述步骤103中计算第二IO长度的步骤,还可以包括以下步骤103c:
步骤103c、在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址计算所述第二IO长度。
示例性地,根据磁盘覆盖信息可以确定目标IO操作覆盖的所有磁盘的磁盘索引,并进一步确定目标IO操作是否覆盖了故障磁盘。在根据磁盘覆盖信息确定目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,便可以根据目标IO操作的起始逻辑块地址以及目标IO操作的结束逻辑块地址计算上述第二IO长度。
示例性地,上述步骤103中计算重叠区长度的步骤,还可以包括以下步骤103d:
步骤103d、根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,计算所述重叠区长度。
其中,所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中需要读写的数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘,所述目标IO操作读写的数据块为所述目标条带在磁盘内顺序存储的第一个数据块。
举例说明,如图10所示,目标IO操作覆盖磁盘的磁盘索引为D0至D5,其中,目标操作在磁盘D1至磁盘D5中需要读写的第一个数据块为目标条在磁盘内带顺序存储的第一个数据块。之后,将磁盘D1至磁盘D5中目标IO操作读写的数据块的数量的最小值作为重叠区长度。
具体地,上述步骤104,还包括以下步骤104a:
步骤104a、在根据所述磁盘覆盖信息确定所述目标IO操作覆盖的正常磁盘数量大于零、所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型不包括校验盘的情况下,确定所述目标IO操作同时覆盖到正常磁盘和故障磁盘。
示例性地,当目标IO操作同时覆盖了正常磁盘和故障磁盘,且该故障磁盘的磁盘类型不包括校验盘的情况下,才可以对该目标IO操作进行拆分。
可选地,在本申请实施例中,在目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,还需要根据拆分前和拆分后的读写效率来进一步判断是否需要对目标IO操作进行拆分。
具体地,上述步骤102,可以包括以下步骤102a:
步骤102a、在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度小于或者等于组块尺寸、且所述重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作。
其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
示例性地,如图4所示,目标IO操作同时覆盖到正常磁盘和故障磁盘(包括正常磁盘D4中的数据块37至数据块40,以及故障磁盘D5中的数据块41至数据块43),且该目标IO操作的第一IO长度小于或者等于组块尺寸(chunksize),本申请实施例中的组块尺寸为8。该场景下目标IO操作最多覆盖到两块数据盘、且不存在重叠区(即重叠区大小为零),此时,需要将目标IO操作拆分为覆盖数据块37至数据块40的第一IO操作和覆盖数据块41至数据块43的第二IO操作,并分别采用读修改写RMW和重构写RCW的读写策略执行读写操作。
需要说明的是,本申请实施例中,由于执行写盘操作时需要计算校验值,并将校验值写入到校验磁盘中,因此,在执行写盘操作之前,都需要读取磁盘中的数据,若涉及到故障磁盘,还需要对故障盘中的数据进行恢复。即所有读写策略均包括了读盘操作和写盘操作。
具体地,上述步骤102,还可以包括以下步骤102b:
步骤102b、在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度大于组块尺寸、且所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量小于第一预设磁盘数量阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作。
其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量;所述第一预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第一预设比例。
示例性地,如图5所示,目标IO操作同时覆盖到正常磁盘(包括正常磁盘D3中的数据块31和32,以及正常磁盘D3中的数据块33至数据块40)和故障磁盘(故障磁盘D5中的数据块41至数据块42),该目标IO操作的第一IO长度大于组块尺寸、且该目标IO操作覆盖的磁盘数量小于磁盘阵列所管理的磁盘数量的一半(即上述第一预设磁盘数量阈值)。此时,需要将目标IO操作拆分为覆盖数据块37至数据块40的第一IO操作和覆盖数据块41至数据块42的第二IO操作,并分别采用读修改写RMW和重构写RCW的读写策略执行读写操作。
需要说明的是,是否拆分目标IO操作还需要结合重叠区长度来进行判断,由于拆分后坏盘部分的IO操作采用重构写RCW的方式写盘,若重叠区长度过大,采用重构写RCW的方式写坏盘部分的拆分IO代价和不拆分直接采用重构读RCR的读写方式写盘的代价相差不大,因IC,直接采用重构读RCR的方式处理整个IO操作即可。如果重叠区长度较小,采用重构写RCW的方式写坏盘部分需要读取数据的长度较小,性能提升较大,因此进行拆分后分别采用RMW和重构写RCW的读写策略处理IO操作。
可选地,在本申请实施例中,在不满足拆分条件的情况下,不需要对目标IO操作进行拆分,但可以为其指定读写效率最高的读写策略。
示例性地,上述步骤103之后,本申请实施例提供的磁盘阵列降级时的IO处理方法,还可以包括以下步骤104:
步骤104、在所述磁盘覆盖信息指示故障磁盘的磁盘类型仅包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照第三读写策略处理所述目标IO操作。
其中,所述第三读写策略为只写(Only Write)方式。
示例性地,如图6所示,当故障磁盘(即图6中的磁盘D7)的类型为校验盘的情况下,目标IO操作不覆盖故障磁盘的读写,因此,不需要对该目标IO操作进行拆分。同时,由于校验磁盘已经故障,也不需要在写入数据时计算校验值,因此,该场景下可以采用只写的方式读写数据。
示例性地,上述步骤103之后,本申请实施例提供的磁盘阵列降级时的IO处理方法,还可以包括以下步骤105:
步骤105、在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘的数量为零、且所述目标IO操作覆盖的故障磁盘的磁盘类型不包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照所述第一读写策略处理所述目标IO操作。
示例性地,如图7所示,故障磁盘为磁盘D5,目标IO操作覆盖的磁盘为磁盘D2和磁盘D3,目标IO操作部覆盖故障磁盘。该场景下,目标IO操作不涉及故障磁盘的读写,因此,不需要对目标IO操作进行拆分。同时,由于存在故障磁盘,若采用重构写RCW的读写策略读取数据,则需要计算出故障磁盘中的数据,因此,该场景下可以采用读修改写RMW的读写策略处理目标IO操作。
示例性地,上述步骤103之后,本申请实施例提供的磁盘阵列降级时的IO处理方法,还可以包括以下步骤106:
步骤106、在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量为零、且故障磁盘的磁盘类型仅包括数据盘的情况下,不对所述目标IO操作进行拆分,并按照所述第二读写策略处理所述目标IO操作。
示例性地,如图8所示,目标IO操作读写的数据(包括数据块42至数据块47)全部为故障磁盘中的数据,此时,不需要对该目标IO操作进行拆分。该场景下,若采用读修改写RMW的读写策略处理目标IO操作,需要读取故障磁盘中的数据(恢复后才可以读取),因此,可以采用重构写RCW的读写策略处理目标IO操作。
示例性地,上述步骤103之后,本申请实施例提供的磁盘阵列降级时的IO处理方法,还可以包括以下步骤107:
步骤107、在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、所述第一IO长度大于组块尺寸、且所述第二IO长度等于所述组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作。
其中,所述第四读写策略为读恢复写方式;所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
示例性地,如图9所示,目标IO操作覆盖的数据块为数据块37至数据块52,其中,数据块41至数据块48为故障磁盘中的数据块。该场景下,目标IO操作的第一IO长度大于组块尺寸、且第二IO长度等于组块尺寸,此时,若对该目标IO操作进行拆分,恢复故障磁盘中的数据时也需要读取其他磁盘中的所有数据(即整个chunksize大小的长度),并不能有效降低计算量和读盘数量,因此,不需要对该目标IO操作进行拆分。该场景下可以采用读恢复写RRW的读写策略处理目标IO操作。
示例性地,上述步骤103之后,本申请实施例提供的磁盘阵列降级时的IO处理方法,还可以包括以下步骤108:
步骤108、在所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量大于第二预设磁盘数量阈值、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、且所述第一IO长度大于组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作。
其中,所述第四读写策略为读恢复写方式;所述第二预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第二预设比例。
示例性地,如图10所示,目标IO操作覆盖了磁盘D0至磁盘D5,该场景下,目标IO操作覆盖了大部分磁盘(大于磁盘阵列所管理的磁盘数量的一半,即上述第二预设磁盘数量阈值),若对该目标IO操作进行拆分,则第一IO操作需要读取大部分磁盘中的所有条带数据(磁盘中整个chunksize的数据),并不能有效降低计算量和读盘数量,因此,不需要对该目标IO操作进行拆分。该场景下可以采用读恢复写RRW的读写策略处理目标IO操作。
举例说明,如图11所示,为本申请实施例提供的磁盘阵列降级时的IO处理方法详细流程示意图。接收到IO请求之后,解析该IO请求拆分所需的信息;判断故障盘是否全部为校验盘,若是,则不拆分IO操作,并强制IO操作采用只写OLW模式写盘;否则,进一步判断IO操作是否全部覆盖(touch)到故障盘,若是,则不拆分IO操作,并强制IO操作采用重构写RCW模式写盘,否则,判断IO长度是否小于chunksize,若是,则将IO拆分为两部分:只touch到好盘的部分,和只touch到坏盘的部分;否则,判断IO操作覆盖到磁盘的个数是否大于rmw_limit,若是,则不拆分IO操作,并强制IO操作采用重构读RCR模式写盘;否则,进一步计算IO操作覆盖到好盘部分和坏盘部分的重叠区的长度,若重叠区的长度大于split_limit,则不拆分IO操作,并强制IO操作采用重构读RCR模式写盘;否则,将IO拆分为两部分:只touch到好盘的部分,和只touch到坏盘的部分。
本申请实施例提供的磁盘阵列降级时的IO处理方法,首先,在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;之后,在所述IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照读修改写的读写策略处理所述第一IO操作,以及按照重构写的读写策略处理所述第二IO操作。如此,可以在满足条件的情况下,将IO操作进行拆分,并按照拆分后每个IO操作最佳的读写策略处理拆分后的IO操作,不仅可以减少IO操作所涉及到的磁盘数量,还能降低降级状态下 阵列处理IO请求时的资源消耗,提高降级状态下磁盘阵列的IO处理性能。
需要说明的是,本申请实施例提供的磁盘阵列降级时的IO处理方法,执行主体可以为磁盘阵列降级时的IO处理装置,或者该磁盘阵列降级时的IO处理装置中的用于执行磁盘阵列降级时的IO处理方法的控制模块。本申请实施例中以磁盘阵列降级时的IO处理装置执行磁盘阵列降级时的IO处理方法为例,说明本申请实施例提供的磁盘阵列降级时的IO处理装置。
需要说明的是,本申请实施例中,上述各个方法附图所示的。磁盘阵列降级时的IO处理方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的磁盘阵列降级时的IO处理方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
下面对本申请提供的磁盘阵列降级时的IO处理装置进行描述,下文描述的与上文描述的磁盘阵列降级时的IO处理方法可相互对应参照。
图12为本申请实施例提供的磁盘阵列降级时的IO处理装置的结构示意图,如图12所示,具体包括:
接收模块1201,用于在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;IO操作处理模块1202,用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
可选地,所述装置还包括:参数计算模块;所述参数计算模块,用于获取与所述目标IO操作相关的目标参数信息, 并基于所述目标参数信息确定所述目标IO操作的目标磁盘信息;其中,所述目标参数信息包括以下至少一项:所述目标IO操作的起始逻辑块地址,所述目标IO操作的结束逻辑块地址,所述目标IO操作覆盖的起始磁盘的起始盘索引,所述目标IO操作覆盖的结束磁盘的结束盘索引,所述磁盘阵列的校验磁盘的校验盘索引,故障磁盘的故障盘索引;所述目标磁盘信息包括以下至少一项:所述目标IO操作的第一IO长度,所述目标IO操作覆盖磁盘的磁盘覆盖信息,故障磁盘中所述目标IO操作的第二IO长度,重叠区长度;所述IO长度用于指示IO操作读写数据块的数量;所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中需要读写的数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘,所述目标IO操作读写的数据块为所述目标条带顺序存储的第一个数据块。
可选地,所述参数计算模块,具体用于根据所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,确定所述第一IO长度。
可选地,所述参数计算模块,具体用于根据所述目标IO操作覆盖的起始磁盘的起始盘索引、所述目标IO操作覆盖的结束磁盘的结束盘索引、故障磁盘的故障盘磁盘索引以及校验磁盘的校验盘索引,确定所述磁盘覆盖信息;其中,所述磁盘覆盖信息用于指示:所述目标IO操作覆盖的正常磁盘数量、所述目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型;故障磁盘的磁盘类型包括:校验盘和数据盘。
可选地,所述参数计算模块,具体用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址计算所述第二IO长度。
可选地,所述参数计算模块,具体用于根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,计算所述重叠区长度。
可选地,所述装置还包括:确定模块;所述确定模块,用于在根据所述磁盘覆盖信息确定所述目标IO操作覆盖的正常磁盘数量大于零、所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型不包括校验盘的情况下,确定所述目标IO操作同时覆盖到正常磁盘和故障磁盘。
可选地,所述IO操作处理模块1202,具体用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度小于或者等于组块尺寸、且所述重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,所述IO操作处理模块1202,具体用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度大于组块尺寸、所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量小于第一预设磁盘数量阈值、且重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量;所述第一预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第一预设比例。
可选地,所述IO操作处理模块1202,还用于在所述磁盘覆盖信息指示故障磁盘的磁盘类型仅包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照第三读写策略处理所述目标IO操作;其中,所述第三读写策略为只写方式。
可选地,所述IO操作处理模块1202,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘的数量为零、且所述目标IO操作覆盖的故障磁盘的磁盘类型不包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照所述第一读写策略处理所述目标IO操作。
可选地,所述IO操作处理模块1202,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量为零、且故障磁盘的磁盘类型仅包括数据盘的情况下,不对所述目标IO操作进行拆分,并按照所述第二读写策略处理所述目标IO操作。
可选地,所述IO操作处理模块1202,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、所述第一IO长度大于组块尺寸、且所述第二IO长度等于所述组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
可选地,所述IO操作处理模块1202,还用于在所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量大于第二预设磁盘数量阈值、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、且所述第一IO长度大于组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;其中,所述第四读写策略为读恢复写方式;所述第二预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第二预设比例。
本申请提供的磁盘阵列降级时的IO处理装置,首先,在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;之后,在所述IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照读修改写的读写策略处理所述第一IO操作,以及按照重构写的读写策略处理所述第二IO操作。如此,可以在满足条件的情况下,将IO操作进行拆分,并按照拆分后每个IO操作最佳的读写策略处理拆分后的IO操作,不仅可以减少IO操作所涉及到的磁盘数量,还能降低降级状态下阵列处理IO请求时的资源消耗,提高降级状态下磁盘阵列的IO处理性能。
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行磁盘阵列降级时的IO处理方法,该方法包括:在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的磁盘阵列降级时的IO处理方法,该方法包括:在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的磁盘阵列降级时的IO处理方法,该方法包括:在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种磁盘阵列降级时的IO处理方法,其特征在于,应用于磁盘阵列,所述方法包括:
在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;
在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;
其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
2.根据权利要求1所述的方法,其特征在于,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作之前,所述方法还包括:
获取与所述目标IO操作相关的目标参数信息, 并基于所述目标参数信息确定所述目标IO操作的目标磁盘信息;
基于所述目标磁盘信息判断所述目标IO操作针对所述目标条带对应的磁盘数据的覆盖情况;
其中,所述目标参数信息包括以下至少一项:所述目标IO操作的起始逻辑块地址,所述目标IO操作的结束逻辑块地址,所述目标IO操作覆盖的起始磁盘的起始盘索引,所述目标IO操作覆盖的结束磁盘的结束盘索引,所述磁盘阵列的校验磁盘的校验盘索引,故障磁盘的故障盘索引;所述目标磁盘信息包括以下至少一项:所述目标IO操作的第一IO长度,所述目标IO操作覆盖磁盘的磁盘覆盖信息,故障磁盘中所述目标IO操作的第二IO长度,重叠区长度;IO长度用于指示IO操作读写数据块的数量;所述重叠区长度用于指示:所述目标IO操作覆盖的目标数据磁盘中需要读写的数据块数量的最小值;所述目标数据磁盘为所述磁盘阵列所管理的数据磁盘;所述目标IO操作读写的数据块为所述目标条带顺序存储的第一个数据块。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:
根据所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,确定所述第一IO长度。
4.根据权利要求2所述的方法,其特征在于,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:
根据所述目标IO操作覆盖的起始磁盘的起始盘索引、所述目标IO操作覆盖的结束磁盘的结束盘索引、故障磁盘的故障盘磁盘索引以及校验磁盘的校验盘索引,确定所述磁盘覆盖信息;
其中,所述磁盘覆盖信息用于指示:所述目标IO操作覆盖的正常磁盘数量、所述目标IO操作覆盖的故障磁盘数量、故障磁盘的磁盘类型;故障磁盘的磁盘类型包括:校验盘和数据盘。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,还包括:
在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型指示故障磁盘仅包括数据盘的情况下,根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址计算所述第二IO长度。
6.根据权利要求2所述的方法,其特征在于,所述基于所述目标参数信息确定所述目标IO操作的目标磁盘信息,包括:
根据所述磁盘覆盖信息、所述目标IO操作的起始逻辑块地址以及所述目标IO操作的结束逻辑块地址,计算所述重叠区长度。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述基于所述目标磁盘信息判断所述目标IO操作针对所述目标条带对应的磁盘数据的覆盖情况,包括;
在根据所述磁盘覆盖信息确定所述目标IO操作覆盖的正常磁盘数量大于零、所述目标IO操作覆盖的故障磁盘数量大于零、且故障磁盘的磁盘类型不包括校验盘的情况下,确定所述目标IO操作同时覆盖到正常磁盘和故障磁盘。
8.根据权利要求7所述的方法,其特征在于,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,包括:
在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度小于或者等于组块尺寸、且所述重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;
其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
9.根据权利要求7所述的方法,其特征在于,所述在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,包括:
在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘、所述第一IO长度大于组块尺寸、所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量小于第一预设磁盘数量阈值、且重叠区长度小于预设长度阈值的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作;
其中,所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量;所述第一预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第一预设比例。
10.根据权利要求2至6中任一项所述的方法,其特征在于,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:
在所述磁盘覆盖信息指示故障磁盘的磁盘类型仅包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照第三读写策略处理所述目标IO操作;
其中,所述第三读写策略为只写方式。
11.根据权利要求2至6中任一项所述的方法,其特征在于,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:
在所述磁盘覆盖信息指示所述目标IO操作覆盖的故障磁盘的数量为零、且所述目标IO操作覆盖的故障磁盘的磁盘类型不包括校验盘的情况下,不对所述目标IO操作进行拆分,并按照所述第一读写策略处理所述目标IO操作。
12.根据权利要求2至6中任一项所述的方法,其特征在于,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:
在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量为零、且故障磁盘的磁盘类型仅包括数据盘的情况下,不对所述目标IO操作进行拆分,并按照所述第二读写策略处理所述目标IO操作。
13.根据权利要求2至6中任一项所述的方法,其特征在于,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:
在所述磁盘覆盖信息指示所述目标IO操作覆盖正常磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、所述第一IO长度大于组块尺寸、且所述第二IO长度等于所述组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;
其中,所述第四读写策略为读恢复写方式;所述组块尺寸用于指示所述磁盘阵列中,单个磁盘所存储的所述目标条带的数据块的数量。
14.根据权利要求2至6中任一项所述的方法,其特征在于,基于所述目标参数信息确定所述目标IO操作的目标磁盘信息之后,所述方法还包括:
在所述磁盘覆盖信息指示所述目标IO操作覆盖的数据磁盘的数量大于第二预设磁盘数量阈值、所述目标IO操作覆盖故障磁盘的数量大于零、所述目标IO操作覆盖故障磁盘的磁盘类型不包括校验盘、且所述第一IO长度大于组块尺寸的情况下,不对所述目标IO操作进行拆分,并按照第四读写策略处理所述目标IO操作;
其中,所述第四读写策略为读恢复写方式;所述第二预设磁盘数量阈值为:所述磁盘阵列所管理的磁盘数量的第二预设比例。
15.一种磁盘阵列降级时的IO处理装置,其特征在于,应用于磁盘阵列,所述装置包括:
接收模块,用于在所述磁盘阵列处于降级状态的情况下,接收针对目标条带数据的目标IO请求;所述目标条带数据为所述磁盘阵列中存储的目标条带对应的磁盘数据;
IO操作处理模块,用于在所述目标IO请求对应的目标IO操作同时覆盖到正常磁盘和故障磁盘的情况下,将所述目标IO操作拆分为第一IO操作和第二IO操作,并按照第一读写策略处理所述第一IO操作,以及按照第二读写策略处理所述第二IO操作;
其中,所述第一IO操作用于读写正常磁盘中的磁盘数据;所述第二IO操作用于读写故障磁盘中的数据;所述第一读写策略为:读修改写;所述第二读写策略为:重构写。
16.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至14任一项所述磁盘阵列降级时的IO处理方法的步骤。
17.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至14中任一项所述磁盘阵列降级时的IO处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311379094.3A CN117111860B (zh) | 2023-10-24 | 2023-10-24 | 磁盘阵列降级时的io处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311379094.3A CN117111860B (zh) | 2023-10-24 | 2023-10-24 | 磁盘阵列降级时的io处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117111860A CN117111860A (zh) | 2023-11-24 |
CN117111860B true CN117111860B (zh) | 2024-02-02 |
Family
ID=88798764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311379094.3A Active CN117111860B (zh) | 2023-10-24 | 2023-10-24 | 磁盘阵列降级时的io处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117111860B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117742599A (zh) * | 2023-12-20 | 2024-03-22 | 中国银行保险信息技术管理有限公司 | 数据存储方法及装置、计算机设备和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN111158599A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种写数据的方法、装置、设备及存储介质 |
-
2023
- 2023-10-24 CN CN202311379094.3A patent/CN117111860B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874314A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种独立冗余磁盘阵列的重构方法及装置 |
CN111158599A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种写数据的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117111860A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459814B2 (en) | Drive extent based end of life detection and proactive copying in a mapped RAID (redundant array of independent disks) data storage system | |
US5504858A (en) | Method and apparatus for preserving data integrity in a multiple disk raid organized storage system | |
CN107844268B (zh) | 一种数据分发方法、数据存储方法、相关装置以及系统 | |
US5826001A (en) | Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata | |
US8839028B1 (en) | Managing data availability in storage systems | |
US5522031A (en) | Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications | |
US6269453B1 (en) | Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk | |
US7308599B2 (en) | Method and apparatus for data reconstruction after failure of a storage device in a storage array | |
US7058762B2 (en) | Method and apparatus for selecting among multiple data reconstruction techniques | |
US7069382B2 (en) | Method of RAID 5 write hole prevention | |
US8930750B2 (en) | Systems and methods for preventing data loss | |
EP0482819A2 (en) | On-line reconstruction of a failed redundant array system | |
GB2414592A (en) | Decreasing failed disk reconstruction time in a RAID data storage system | |
US5933592A (en) | Promoting device level error to raidset level error to restore redundacy in a raid array data storage system | |
CN117111860B (zh) | 磁盘阵列降级时的io处理方法、装置及电子设备 | |
US20070101188A1 (en) | Method for establishing stable storage mechanism | |
CN115344205A (zh) | 一种针对磁盘固件升级过程中的读写数据方法及计算设备 | |
US20050278476A1 (en) | Method, apparatus and program storage device for keeping track of writes in progress on multiple controllers during resynchronization of RAID stripes on failover | |
US10977130B2 (en) | Method, apparatus and computer program product for managing raid storage in data storage systems | |
CN116339644B (zh) | 一种独立磁盘冗余阵列创建方法、装置、设备及介质 | |
US10901843B2 (en) | Managing data storage | |
GB2343265A (en) | Data storage array rebuild | |
CN115562594A (zh) | 一种raid卡的构建方法、系统及相关装置 | |
CN112328182B (zh) | 一种raid数据管理方法、装置和计算机可读存储介质 | |
CN111506259B (zh) | 数据存储、读取方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |