CN110931072B - 一种坏道扫描方法、装置、设备及存储介质 - Google Patents

一种坏道扫描方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110931072B
CN110931072B CN201911194964.3A CN201911194964A CN110931072B CN 110931072 B CN110931072 B CN 110931072B CN 201911194964 A CN201911194964 A CN 201911194964A CN 110931072 B CN110931072 B CN 110931072B
Authority
CN
China
Prior art keywords
disk
data
data content
address interval
interval
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
Application number
CN201911194964.3A
Other languages
English (en)
Other versions
CN110931072A (zh
Inventor
林伟滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911194964.3A priority Critical patent/CN110931072B/zh
Publication of CN110931072A publication Critical patent/CN110931072A/zh
Application granted granted Critical
Publication of CN110931072B publication Critical patent/CN110931072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices

Abstract

本申请公开了一种坏道扫描方法、装置、设备及存储介质,该方法的步骤包括:接收对磁盘的扫描请求;获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据;读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。由于本方法是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。此外,本申请还提供一种坏道扫描装置、设备及存储介质,有益效果同上所述。

Description

一种坏道扫描方法、装置、设备及存储介质
技术领域
本申请涉及数据存储领域,特别是涉及一种坏道扫描方法、装置、设备及存储介质。
背景技术
在当前数据存储的场景中,存在一些文件长时间未被访问的情况发生,如果这些文件的副本所存储的磁盘扇区存在磁盘坏道,则可能会导致该副本数据损坏,但因为文件一直没有被上层业务读取,因此该文件的副本数据将一直处于损坏状态而未被发现,副本数据的损坏会增加文件无法访问的风险。
为了避免因磁盘中存在磁盘坏道而造成数据丢失的情况发生,需要对磁盘进行坏道的扫描,而当前对磁盘中的文件数据进行扫描需要占用服务器的运算资源,因此当前对于磁盘坏道的扫描往往会对服务器中其它业务运行造成一定影响,进而降低服务器业务的稳定性。
由此可见,提供一种坏道扫描方法,以相对降低对服务器中运算资源的占用,进而提高服务器业务的稳定性,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种坏道扫描方法、装置、设备及存储介质,以相对降低对服务器中运算资源的占用,进而提高服务器业务的稳定性。
为解决上述技术问题,本申请提供一种坏道扫描方法,包括:
接收对磁盘的扫描请求;
获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据;
读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
优选地,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验,包括:
将偏移地址区间划分为子地址区间;
依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
优选地,在依次读取各子地址区间内的数据内容片段之前,方法还包括:
获取磁盘的当前IO频率,并根据当前IO频率生成读取间隔时长;
依次读取各子地址区间内的数据内容片段,包括:
根据读取间隔时长依次读取各子地址区间内的数据内容片段。
优选地,在对数据内容片段进行校验之后,方法还包括:
当数据内容片段的校验结果异常,且存在尚未读取的子地址区间时,降低读取间隔时长。
优选地,在读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验之后,方法还包括:
当偏移地址区间内的数据内容损坏时,获取数据内容的数据副本;
将数据副本复制于磁盘的空闲地址区间,并建立偏移地址区间向空闲地址区间的重定向关系。
优选地,接收对磁盘的扫描请求,包括:
接收对历史坏道数量达到目标阈值的磁盘的扫描请求。
优选地,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验,包括:
通过对磁盘发起VERIFY指令的方式,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
此外,本申请还提供一种坏道扫描装置,包括:
请求接收模块,用于接收对磁盘的扫描请求;
地址获取模块,用于获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据;
数据校验模块,用于读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
此外,本申请还提供一种坏道扫描设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的坏道扫描方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的坏道扫描方法的步骤。
本申请所提供的坏道扫描方法,在接收对磁盘的扫描请求后,进一步获取相应磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除了脏数据以外的数据,在获取有效数据的偏移地址区间后,进一步读取磁盘在偏移地址区间内的数据内容,并对获取到的数据内容进行校验。由于本方法是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。此外,本申请还提供一种坏道扫描装置、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种坏道扫描方法的流程图;
图2为本申请实施例公开的一种具体的坏道扫描方法的流程图;
图3为本申请实施例公开的一种具体的坏道扫描方法的流程图;
图4为本申请实施例公开的一种具体的坏道扫描方法的流程图;
图5为本申请实施例公开的一种具体场景下的坏道扫描系统的功能结构示意图;
图6为本申请实施例公开的一种坏道扫描装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
为了避免因磁盘中存在磁盘坏道而造成数据丢失的情况发生,需要对磁盘进行坏道的扫描,当前通常采用全盘扫描的方式,从磁盘整体的起始偏移地址开始扫描,直至磁盘整体的终止偏移地址截止,但是磁盘中往往存在没有使用价值的脏数据以及未存有数据的偏移地址区间,而当前对磁盘中的文件数据进行扫描需要占用服务器的运算资源,因此当前对于磁盘坏道的扫描往往会对服务器中其它业务运行造成一定影响,进而降低服务器业务的稳定性。
为此,本申请提供了一种坏道扫描方法,以相对降低对服务器中运算资源的占用,进而提高服务器业务的稳定性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
参见图1所示,本申请实施例公开了一种坏道扫描方法,包括:
步骤S10:接收对磁盘的扫描请求。
需要说明的是,本步骤中对磁盘的扫描请求可以是由用户发起的对服务器中的某一个或某几个磁盘进行坏道扫描的请求,也可以是由用户发起的对服务器中全部磁盘进行坏道扫描的请求,当此处的操作请求是用户发起的对服务器中某些磁盘进行坏道扫描的请求时,操作请求可以是用户针对已知坏道数量达到阈值的某几个磁盘发起的操作请求。
步骤S11:获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据。
在接收到对磁盘的扫描请求后,进一步获取磁盘中存储有有效数据的偏移地址区间,此处所指的偏移地址区间指的是有效数据在磁盘中存储的物理地址区间,而有效数据指的是磁盘中除了脏数据以外的数据,脏数据是指源系统中不在给定的范围内或对于实际业务毫无意义的数据,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。可见,脏数据是磁盘中没有实际使用意义的数据,脏数据往往不会被系统调用,进而无需考虑其是否丢失或损坏,因此本步骤仅获取磁盘中有效数据所在的偏移地址区间。
步骤S12:读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
在获取磁盘中有效数据的偏移地址区间之后,进一步读取磁盘在偏移地址区间内的数据内容,进而对数据内容进行校验,以此实现仅对磁盘中可能被系统调用的有效数据进行扫描,减少扫描过程中需要占用的系统资源,当存在有效数据无法正常读取或内容发生变化,则说明该有效数据所在磁盘扇区的磁道损坏,即存在坏道。
作为一种优选的实施方式,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验,包括:
通过对磁盘发起VERIFY指令的方式,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
本实施方式直接通过在磁盘的SCSI和SATA接口中执行VERIFY指令(如sg_verify指令)发出扫描请求。由于VERIFY指令能够确保从磁盘的偏移地址区间的介质表面读取数据内容,而不从磁盘缓存(on-disk cache)中读取,从而避免了缓存污染,确保了坏道扫描的准确性。
作为一种优选的实施方式,接收对磁盘的扫描请求,包括:
接收对历史坏道数量达到目标阈值的磁盘的扫描请求。
可以理解的是,由于历史坏道数量较多的磁盘,产生新的磁盘坏道的概率相对更高,因此本实施方式预先设置有目标阈值,进而接收对历史坏道数量达到目标阈值的磁盘的扫描请求,并仅对历史坏道数量达到一定程度的磁盘进行坏道扫描,以此进一步降低了对服务器中运算资源的占用。
本申请所提供的坏道扫描方法,在接收对磁盘的扫描请求后,进一步获取相应磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除了脏数据以外的数据,在获取有效数据的偏移地址区间后,进一步读取磁盘在偏移地址区间内的数据内容,并对获取到的数据内容进行校验。由于本方法是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。
参见图2所示,本申请实施例公开了一种坏道扫描方法,包括:
步骤S20:接收对磁盘的扫描请求。
步骤S21:获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据。
步骤S22:将偏移地址区间划分为子地址区间。
步骤S23:依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
需要说明的是,由于考虑到在磁盘偏移地址区间内的数据内容的数据量往往较大,如果对磁盘偏移地址区间内的数据内容进行连续的读取以及校验,可能会对服务器资源造成过长的持续占用时间,导致服务器难以在坏道扫描的过程中对坏道扫描操作进行中断,并将相应资源用于服务器的其它业务中,进而可能影响其它业务的正常运行,因此本实施例的重点在于获取磁盘中有效地址的偏移地址区间后,进一步将偏移地址区间划分为多个子地址区间,进而分别读取各个子地址区间内的数据内容片段,并对获取到的数据内容片段进行校验,因此服务器能够在对子地址区间中的数据内容片段完成读取以及校验后,即可对坏道扫描操作进行中断。通过对各个子地址区间的数据内容片段分别进行校验,实现对偏移地址区间内整体数据内容进行校验的目的,相对确保了服务器在进行坏道扫描时的资源可控性,进而提高了服务器中业务运行的整体可靠性。
参见图3所示,本申请实施例公开了一种坏道扫描方法,包括:
步骤S30:接收对磁盘的扫描请求。
步骤S31:获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据。
步骤S32:将偏移地址区间划分为子地址区间。
步骤S33:获取磁盘的当前IO频率,并根据当前IO频率生成读取间隔时长。
步骤S34:根据读取间隔时长依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
需要说明的是,本实施例在依次读取各子地址区间内的数据内容片段之前,进一步获取磁盘的当前IO频率,当前IO频率表示的是磁盘读写数据的频繁程度,反映的是磁盘当前的业务压力,在获取到磁盘的当前IO频率后,根据当前IO频率生成读取间隔时长,进而根据读取间隔时长以此读取各子地址区间内的数据内容片段,也就是说,对于当前子地址区间内的数据内容进行读取以及校验之后,等待读取间隔时长之后再对下一个子地址区间内的数据内容进行读取以及校验。本实施例根据磁盘当前的业务压力决定坏道扫描操作的频率,能够在一定程度上避免坏道扫描操作对磁盘的其它数据读写业务造成影响,相对确保磁盘工作的稳定性。
在上述实施例的基础上,作为一种优选的实施方式,在对数据内容片段进行校验之后,方法还包括:
当数据内容片段的校验结果异常,且存在尚未读取的子地址区间时,降低读取间隔时长。
需要说明的是,本实施方式是在对数据内容片段进行校验之后,进一步对数据内容片段的校验结果进行判定,如果数据内容片段的校验结果异常时,则说明读取数据内容片段所基于的子地址区间中存在坏道,进而可以认为在其它尚未扫描的子地址区间中也存在坏道的概率相对较高,因此本实施方式在当数据内容片段的校验结果异常,且存在尚未读取的子地址区间时,降低读取间隔时长,以此加快对其它尚未读取的子地址区间中数据内容片段的读取效率,以此提高对于磁盘坏道情况的获取速率,进一步确保对坏道的处理效率。
参见图4所示,本申请实施例公开了一种坏道扫描方法,包括:
步骤S40:接收对磁盘的扫描请求。
步骤S41:获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据。
步骤S42:读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
步骤S43:当偏移地址区间内的数据内容损坏时,获取数据内容的数据副本。
步骤S44:将数据副本复制于磁盘的空闲地址区间,并建立偏移地址区间向空闲地址区间的重定向关系。
需要说明的是,本实施例的重点在于在读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验之后,如果偏低地址区间内的数据内容损坏时,进一步对损坏的数据内容进行修复,因此获取数据内容的数据副本,并将数据副本复制于磁盘的空闲地址区间中,进而建立偏移地址区间向空闲地址区间的重定向关系,目的是通过空闲地址区间覆盖扇区磁道损坏的偏移地址区间,因此能够在访问数据内容时,根据原有偏移地址区间重定向至空闲地址区间,确保磁盘中数据内容正常访问,并提高了数据内容整体的存储安全性。
为了加深对于本申请的理解,下面提供一种具体场景下的实施例进行说明。图5为本申请实施例公开的一种具体场景下的坏道扫描系统的功能结构示意图。
如图5所示,坏道扫描系统包括:
管理中心:
1.用于启动、停用,管理线程池。
2.向任务队列添加磁盘brick扫描任务。
3.从结果队列中获取文件扫描结果,并按需将文件扫描结果进行持久化。
4.对扫描失败异常的任务发往重试管理。
5.每一轮坏道扫描任务结束后,进行结果统计。
6.监听外部请求。
任务中心:
1.管理着所需要扫描的磁盘brick。
2.生成需要扫描的文件扫描任务,只扫描存储卷内有用的文件数据。
3.接受其他模块的扫描任务请求,并返回当前扫描优先级最高文件扫描任务。
工作线程池:
1.由于主机上有多个磁盘,因此采用多线程扫描提高扫描效率。
2.每个线程按需向任务中心请求文件扫描任务,进行扫描。
扫描接口:
1.接收控制模块的扫描请求。
2.对IO按最优大小切分并对齐。
3.计算文件偏移到磁盘偏移的转换。
4.使用VERIFY命令(sg_verify)检测指定偏移段坏道存在。
5.文件异常状态感知(重建、迁移、修复、坏数据、文件删除)。
6.负载感知,业务压力大的时候减小流控或者暂停。
7.合并坏道集合,对坏道副本的文件设置坏道标志。
8.将该坏道副本相关写入指定文件中,通知外部读取触发修复,通过读取对端副本的有效数据,来对该坏道数据段进行覆盖写,从而触发底层硬件坏道扇区的重定向,完成坏道的修复,并还原原有数据。
感知中心:
1.监测当前时间,结合指定扫描时间段,来控制任务的启停。
2.监测配置选项相关的变化,包括扫描开关、时间段、本地配置文件。
3.监测磁盘状态,包括其亚健康状态、在线离线状态。
4.负载统计,定时采样统计磁盘压力信息。
结果处理及统计:
1.对失败的扫描任务进行重试处理,避免临时的故障而不对其扫描。
2.缓存的扫描结果达到一定阈值后,对其持久化到本地,供后续的分析。
3.根据每轮的扫描结果,进行汇总并输出到文件以及页面展示。
坏道扫描系统实现如下业务逻辑:
1.自适应流控:根据磁盘的IO繁忙度动态调整扫描的速度,多个负载级别对应不同扫描频率,实现高负载低扫描速率,低负载高扫描速率,保证了不对用户业务造成影响;
2.磁盘信息感知:a.不同磁盘使用时长对应不同的扫描频率。时长较短的较慢扫描、较长的较快扫描;b.已知坏道数较多的磁盘优先扫描;
3.异常磁盘感知:识别亚健康磁盘,对亚健康盘做算法降级等处理,将该盘上数据逐渐迁移到其他正常盘,不对该盘进行扫描;
4.扫描数据识别:a.扫描的读流量不进gluster的缓存模块(包括分层、读缓存、写缓存),不改变数据的热度;b.坏道扫描只针对机械盘上的数据;c.对于数据盘上过期的数据(缓存盘上有最新的数据)不进行扫描;d.识别无用数据(垃圾文件、临时文件),不对其进行扫描,极大减少扫描的数据量。
5.坏道感知:发现坏道,对坏道附近进行加速扫描。同时之后也加快扫描周期。充分利用坏道的时间局域性和空间局域性。
6.多参数支持配置:支持扫描粒度的配置,支持坏道扫描速率的配置,配置的粒度以盘为单位,不同盘可以有不同的扫描速率和扫描粒度;扫描时间段可配;并发数可配,可配置主机并发数,磁盘并发数,合理配置以加快扫描效率。
7.支持单独对某个文件进行坏道扫描。
综上,坏道扫描系统仅对有用的数据进行坏道扫描,而不是全盘扫描,采取一系列对数据的过滤手段极大减少扫描的数据量,加快扫描效率的同时不影响了用户业务,并且发现坏道后能进行坏道数据还原修复。
参见图6所示,本申请实施例公开了一种坏道扫描装置,包括:
请求接收模块10,用于接收对磁盘的扫描请求;
地址获取模块11,用于获取磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除脏数据以外的数据;
数据校验模块12,用于读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
本申请所提供的坏道扫描装置,在接收对磁盘的扫描请求后,进一步获取相应磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除了脏数据以外的数据,在获取有效数据的偏移地址区间后,进一步读取磁盘在偏移地址区间内的数据内容,并对获取到的数据内容进行校验。由于本装置是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。
作为一种优选的实施方式,数据校验模块12,包括:
区间划分模块,用于将偏移地址区间划分为子地址区间;
片段校验模块,用于依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
作为一种优选的实施方式,装置还包括:
间隔计算模块,用于获取磁盘的当前IO频率,并根据当前IO频率生成读取间隔时长;
片段校验模块,包括:
间隔校验模块,用于根据读取间隔时长依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
作为一种优选的实施方式,装置还包括:
间隔调整模块,用于当数据内容片段的校验结果异常,且存在尚未读取的子地址区间时,降低读取间隔时长。
作为一种优选的实施方式,装置还包括:
副本获取模块,用于当偏移地址区间内的数据内容损坏时,获取数据内容的数据副本;
地址重定向模块,用于将数据副本复制于磁盘的空闲地址区间,并建立偏移地址区间向空闲地址区间的重定向关系。
作为一种优选的实施方式,数据校验模块12,包括:
指令校验模块,用于通过对磁盘发起VERIFY指令的方式,读取磁盘在偏移地址区间内的数据内容并对数据内容进行校验。
此外,本申请还提供一种坏道扫描设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的坏道扫描方法的步骤。
本申请所提供的坏道扫描设备,在接收对磁盘的扫描请求后,进一步获取相应磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除了脏数据以外的数据,在获取有效数据的偏移地址区间后,进一步读取磁盘在偏移地址区间内的数据内容,并对获取到的数据内容进行校验。由于本设备是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的坏道扫描方法的步骤。
本申请所提供的计算机可读存储介质,在接收对磁盘的扫描请求后,进一步获取相应磁盘中存储有效数据的偏移地址区间,有效数据为磁盘中除了脏数据以外的数据,在获取有效数据的偏移地址区间后,进一步读取磁盘在偏移地址区间内的数据内容,并对获取到的数据内容进行校验。由于本计算机可读存储介质是将磁盘中除脏数据以外数据的偏移地址区间作为坏道扫描的最小粒度,也就是仅对磁盘中具体使用价值的数据进行读取以及校验,因此避免了对磁盘中的脏数据以及未存有数据的偏移地址区间进行扫描,进而相对降低了对服务器中运算资源的占用,减轻了对于服务器中其它业务的运行所造成的影响,进而提高了服务器业务的稳定性。
以上对本申请所提供的一种坏道扫描方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种坏道扫描方法,其特征在于,包括:
接收对磁盘的扫描请求;
获取所述磁盘中存储有效数据的偏移地址区间,所述有效数据为所述磁盘中除脏数据以外的数据;
读取所述磁盘在所述偏移地址区间内的数据内容并对所述数据内容进行校验;
其中,所述读取所述磁盘在所述偏移地址区间内的数据内容并对所述数据内容进行校验,包括:
将所述偏移地址区间划分为子地址区间;
依次读取各所述子地址区间内的数据内容片段,并对所述数据内容片段进行校验;
在所述依次读取各所述子地址区间内的数据内容片段之前,所述方法还包括:
获取所述磁盘的当前IO频率,并根据所述当前IO频率生成读取间隔时长;
所述依次读取各所述子地址区间内的数据内容片段,包括:
根据所述读取间隔时长依次读取各所述子地址区间内的数据内容片段。
2.根据权利要求1所述的坏道扫描方法,其特征在于,在所述对所述数据内容片段进行校验之后,所述方法还包括:
当所述数据内容片段的校验结果异常,且存在尚未读取的所述子地址区间时,降低所述读取间隔时长。
3.根据权利要求1所述的坏道扫描方法,其特征在于,在所述读取所述磁盘在所述偏移地址区间内的数据内容并对所述数据内容进行校验之后,所述方法还包括:
当所述偏移地址区间内的数据内容损坏时,获取所述数据内容的数据副本;
将所述数据副本复制于所述磁盘的空闲地址区间,并建立所述偏移地址区间向所述空闲地址区间的重定向关系。
4.根据权利要求1所述的坏道扫描方法,其特征在于,所述接收对磁盘的扫描请求,包括:
接收对历史坏道数量达到目标阈值的磁盘的所述扫描请求。
5.根据权利要求1至4任意一项所述的坏道扫描方法,其特征在于,所述读取所述磁盘在所述偏移地址区间内的数据内容并对所述数据内容进行校验,包括:
通过对所述磁盘发起VERIFY指令的方式,读取所述磁盘在所述偏移地址区间内的所述数据内容并对所述数据内容进行校验。
6.一种坏道扫描装置,其特征在于,包括:
请求接收模块,用于接收对磁盘的扫描请求;
地址获取模块,用于获取所述磁盘中存储有效数据的偏移地址区间,所述有效数据为所述磁盘中除脏数据以外的数据;
数据校验模块,用于读取所述磁盘在所述偏移地址区间内的数据内容并对所述数据内容进行校验;
数据校验模块,包括:
区间划分模块,用于将偏移地址区间划分为子地址区间;
片段校验模块,用于依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验;
装置还包括:
间隔计算模块,用于获取磁盘的当前IO频率,并根据当前IO频率生成读取间隔时长;
片段校验模块,包括:
间隔校验模块,用于根据读取间隔时长依次读取各子地址区间内的数据内容片段,并对数据内容片段进行校验。
7.一种坏道扫描设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的坏道扫描方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的坏道扫描方法的步骤。
CN201911194964.3A 2019-11-28 2019-11-28 一种坏道扫描方法、装置、设备及存储介质 Active CN110931072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911194964.3A CN110931072B (zh) 2019-11-28 2019-11-28 一种坏道扫描方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911194964.3A CN110931072B (zh) 2019-11-28 2019-11-28 一种坏道扫描方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110931072A CN110931072A (zh) 2020-03-27
CN110931072B true CN110931072B (zh) 2022-03-22

Family

ID=69846823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911194964.3A Active CN110931072B (zh) 2019-11-28 2019-11-28 一种坏道扫描方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110931072B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658317A (zh) * 2004-02-19 2005-08-24 三星电子株式会社 记录和/或再现方法、设备和计算机可读记录介质
CN1825589A (zh) * 2005-02-21 2006-08-30 松下电器产业株式会社 半导体集成电路及其检查方法和电磁波检测装置
WO2010116402A1 (ja) * 2009-03-30 2010-10-14 富士通株式会社 情報処理装置
CN102841851A (zh) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 闪存管理方法和闪存设备
CN106919340A (zh) * 2015-12-28 2017-07-04 南宁富桂精密工业有限公司 提高raid读取性能的系统及方法
CN107301132A (zh) * 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法
CN108415853A (zh) * 2018-03-15 2018-08-17 深圳市江波龙电子有限公司 一种垃圾回收的方法、装置及存储设备
CN108536548A (zh) * 2018-04-10 2018-09-14 网宿科技股份有限公司 一种磁盘坏道的处理方法、装置及计算机存储介质
CN109979518A (zh) * 2019-03-07 2019-07-05 深圳警翼智能科技股份有限公司 用于执法记录仪存储介质的坏区标识方法及系统
CN110209519A (zh) * 2019-06-03 2019-09-06 深信服科技股份有限公司 一种磁盘坏道扫描方法、系统、装置及计算机存储设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261705B2 (en) * 2016-12-15 2019-04-16 Alibaba Group Holding Limited Efficient data consistency verification for flash storage

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658317A (zh) * 2004-02-19 2005-08-24 三星电子株式会社 记录和/或再现方法、设备和计算机可读记录介质
CN1825589A (zh) * 2005-02-21 2006-08-30 松下电器产业株式会社 半导体集成电路及其检查方法和电磁波检测装置
WO2010116402A1 (ja) * 2009-03-30 2010-10-14 富士通株式会社 情報処理装置
CN102841851A (zh) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 闪存管理方法和闪存设备
CN106919340A (zh) * 2015-12-28 2017-07-04 南宁富桂精密工业有限公司 提高raid读取性能的系统及方法
CN107301132A (zh) * 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法
CN108415853A (zh) * 2018-03-15 2018-08-17 深圳市江波龙电子有限公司 一种垃圾回收的方法、装置及存储设备
CN108536548A (zh) * 2018-04-10 2018-09-14 网宿科技股份有限公司 一种磁盘坏道的处理方法、装置及计算机存储介质
CN109979518A (zh) * 2019-03-07 2019-07-05 深圳警翼智能科技股份有限公司 用于执法记录仪存储介质的坏区标识方法及系统
CN110209519A (zh) * 2019-06-03 2019-09-06 深信服科技股份有限公司 一种磁盘坏道扫描方法、系统、装置及计算机存储设备

Also Published As

Publication number Publication date
CN110931072A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
JP4988214B2 (ja) 記憶装置における喪失した書き込みの検出および回復
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US7117309B2 (en) Method of detecting sequential workloads to increase host read throughput
JP5418719B2 (ja) ストレージ装置
US7493450B2 (en) Method of triggering read cache pre-fetch to increase host read throughput
US8521704B2 (en) System and method for filesystem deduplication using variable length sharing
US8914340B2 (en) Apparatus, system, and method for relocating storage pool hot spots
US11068405B2 (en) Compression of host I/O data in a storage processor of a data storage system with selection of data compression components based on a current fullness level of a persistent cache
CN108509156B (zh) 数据读取方法、装置、设备及系统
US20110022811A1 (en) Information backup/restoration processing apparatus and information backup/restoration processing system
US20110197027A1 (en) SYSTEM AND METHOD FOR QoS-BASED STORAGE TIERING AND MIGRATION TECHNIQUE
US8010519B2 (en) Method and system for mitigating impact of user errors in data stores
CN108733306B (zh) 一种文件合并方法及装置
US20170242744A1 (en) Method and apparatus for performing data scrubbing management in storage system
CN106776147B (zh) 一种差异数据备份方法和差异数据备份装置
US8639993B2 (en) Encoding data to enable it to be stored in a storage block that includes at least one storage failure
US8527722B1 (en) Selecting a snapshot method based on cache memory consumption
US8862819B2 (en) Log structure array
US20140236892A1 (en) Systems and methods for virtual machine backup process by examining file system journal records
US9519545B2 (en) Storage drive remediation in a raid system
CN108475201B (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
US20180024742A1 (en) Storage media performance management
CN113051104A (zh) 基于纠删码的磁盘间数据恢复方法及相关装置
CN111026333A (zh) 访问请求处理方法、处理装置、电子设备及存储介质
JP2016118860A (ja) ファイルシステム、ファイルシステムの制御方法、および、ファイルシステムの制御プログラム

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