CN103220162B - 基于hdfs的scsi容错优化方法及装置 - Google Patents

基于hdfs的scsi容错优化方法及装置 Download PDF

Info

Publication number
CN103220162B
CN103220162B CN201210018166.7A CN201210018166A CN103220162B CN 103220162 B CN103220162 B CN 103220162B CN 201210018166 A CN201210018166 A CN 201210018166A CN 103220162 B CN103220162 B CN 103220162B
Authority
CN
China
Prior art keywords
scsi
request
fault
intermediate layer
hdfs
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
CN201210018166.7A
Other languages
English (en)
Other versions
CN103220162A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210018166.7A priority Critical patent/CN103220162B/zh
Publication of CN103220162A publication Critical patent/CN103220162A/zh
Application granted granted Critical
Publication of CN103220162B publication Critical patent/CN103220162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

本发明提出一种基于HDFS的SCSI容错优化方法及装置。其中,该方法包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将请求经由SCSI中间层发送至SCSI底层;SCSI底层对请求进行处理并将处理结果返回至SCSI中间层;SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。根据本发明实施例的方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。

Description

基于HDFS的SCSI容错优化方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于HDFS的SCSI容错优化方法及装置。
背景技术
HDFS(Hadoop Distributed File System,一种分布式文件系统)通常存储着每个数据块的复本,其中默认为3个,HADOOP(可对大量数据进行分布式处理的软件框架)的客户端client在读取数据块时,如果检测到错误时HDFS从其它地方读取到该数据块的另一个复本,整个过程对用户是透明的,但是对于基于HDFS的SCSI(Small Computer Systems Interface,小型计算机系统接口),如果检测到错误时,则因为SCSI的底层读取数据失败而报错。
针对上述问题,现有技术通过SCSI的底层返回的IO请求处理结果,判断是否存在错误。
现有技术存在的问题是,从SCSI的底层和IO请求处理结果出发,未考虑HDFS存储的数据块的其他复本,在client的IO请求实际上已经满足的情况下,基于HDFS的SCSI仍然进行了不必要的报错或重试机制。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的一个目的在于提出一种可以提高IO效率以及减少硬件故障率的基于HDFS的SCSI容错优化方法。
本发明的另一目的在于提出一种基于HDFS的SCSI容错优化装置。
为了实现上述目的,根据本发明的第一方面实施例的基于HDFS的SCSI容错优化方法包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将所述请求经由SCSI中间层发送至SCSI底层;所述SCSI底层对所述请求进行处理并将处理结果返回至所述SCSI中间层;所述SCSI中间层根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试 时,设定重试次数或放弃重试。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。
为了实现上述目的,根据本发明的第二方面实施例的基于HDFS的SCSI容错优化装置包括:接收模块,所述接收模块用于接收客户端发出的对于第一数据块复本的请求;发送模块,所述发送模块用于将所述请求经由SCSI中间层发送至SCSI底层;处理模块,所述SCSI底层利用所述处理模块对所述请求进行处理并将处理结果返回至所述SCSI中间层;以及判断模块,所述SCSI中间层利用所述判断模块根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。
根据本发明实施例的基于HDFS的SCSI容错优化装置,通过判断模块根据SCSI底层返回的结果判断客户端的请求是成功、需要SCSI底层重试还是失败,且在判断为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图2是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图3是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图4是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图5是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图6是根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图;
图7是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图;
图8是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图;
图9是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图;以 及
图10是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考说明书附图描述根据本发明实施例的基于HDFS的SCSI容错优化方法。
一种基于HDFS的SCSI容错优化方法,包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将请求经由SCSI中间层发送至SCSI底层;SCSI底层对请求进行处理并将处理结果返回至SCSI中间层;SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。
图1为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图1所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S101,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储 单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S102,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S103,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S104,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S105,在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求 队列被重新处理,即为重试机制,可以通过有选择的减少重试 次数或者放弃重试来提高IO效率。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。
图2为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图2所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S201,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S202,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S203,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S204,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断 请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S205,在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求队列被重新处理,即为重试机制,可以通过有选择的减少重试次数或者放弃重试来提高IO效率。
步骤S206,在放弃重试时,将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免SCSI底层重新处理。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数以减少客户端请求在SCSI底层的重试次数,或者通过设定放弃重试以使得客户端可以从数据块的复本读取数据,进一步提高IO效率以及降低硬盘的故障率。
图3为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图3所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S301,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S302,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S303,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处 理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S304,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S305,在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求队列被重新处理,即为重试机制,可以通过有选择的减少重试次数或者放弃重试来提高IO效率。
步骤S306,在放弃重试时,将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免SCSI底层重新处理。
步骤S307,在请求失败时,将请求定向到第二数据块复本。
具体地,SCSI中间层根据SCSI底层返回的结果判断为请求失败时,将请求定向到HDFS存储的所对应的数据块的第二数据块复本,客户端可以在请求失败之后立即读取所对应数据块的复本以减少不必要的报错。
在本发明的一个实施例中,步骤S306是可选的。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为请求失败时将请求定向到第二数据块复本,客户端可以在请求失败时立即从读取该数据块的复本,从而减少不必要的报错,进一步降低硬盘的故障率。
图4为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图4所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S401,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S402,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S403,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S404,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断 请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S405,在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求队列被重新处理,即为重试机制,可以通过有选择的减少重试次数或者放弃重试来提高IO效率。
步骤S406,当SCSI底层反馈的报错信息与数据相关时,将重试次数设定为1次。
步骤S407,当SCSI底层反馈的报错信息与硬件相关时,放弃重试。
步骤S408,在放弃重试时,将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免SCSI底层重新处理。
步骤S409,在请求失败时,将请求定向到第二数据块复本。
具体地,SCSI中间层根据SCSI底层返回的结果判断为请求失败时,将请求定向到HDFS存储的所对应的数据块的第二数据块复本,客户端可以在请求失败之后立即读取所对应数据块的复本以减少不必要的报错。
在本发明的一个实施例中,步骤S408是可选的。
在本发明的一个实施例中,步骤S409是可选的。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,当SCSI底层反馈的报错信息与数据相关时,将重试次数设定为1次,当SCSI底层反馈的报错信息与硬件相关时,放弃重试,对客户端请求错误的处理方法进行优化以进一步提高IO效率及降低硬盘的故障率。
图5为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图5所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S501,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本, 客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S502,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S503,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S504,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S505,在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求队列被重新处理,即为重试机制,可以通过有选择的减少重试次数或者放弃重试来提高IO效率。
步骤S506,在放弃重试时,将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免SCSI底层重新处理。
步骤S507,在请求失败时,将请求定向到第二数据块复本。
具体地,SCSI中间层根据SCSI底层返回的结果判断为请求失败时,将请求定向到HDFS存储的所对应的数据块的第二数据块复本,客户端可以在请求失败之后立即读取所对应数据块的复本以减少不必要的报错。
步骤S508,在请求失败时,将与请求对应的数据从第一数据块复本删除。
在本发明的一个实施例中,步骤S508是可选的。
在本发明的一个实施例中,步骤S509是可选的。
根据本发明实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为请求失败时,将与该请求所对应的数据从第一数据块复本删除,以防止类似的错误不再发生,进一步提高IO请求效率及降低硬盘的故障率。
图6为根据本发明一个实施例的基于HDFS的SCSI容错优化方法的流程图。
如图6所示,根据本发明实施例的基于HDFS的SCSI容错优化方法包括下述步骤。
步骤S601,接收客户端发出的对于第一数据块复本的请求。
具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。
步骤S602,将请求经由SCSI中间层发送至SCSI底层。
具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
步骤S603,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
具体地,SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后, 将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
步骤S604,SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。
步骤S605,在判断需要SCSI底层重试时,设定重试次数或放弃重试。
具体地,SCSI中间层根据SCSI底层返回的结果判断为需要SCSI底层重试,则该请求被加入块设备请求队列被重新处理,即为重试机制,可以通过有选择的减少重试次数或者放弃重试来提高IO效率。
在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
步骤S606,在放弃重试时,将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免SCSI底层重新处理。
步骤S607,在请求失败时,将请求定向到第二数据块复本。
具体地,SCSI中间层根据SCSI底层返回的结果判断为请求失败时,将请求定向到HDFS存储的所对应的数据块的第二数据块复本,客户端可以在请求失败之后立即读取所对应数据块的复本以减少不必要的报错。
步骤S608,在请求失败时,将与请求对应的数据从第一数据块复本删除。
步骤S609,如果SCSI底层反馈的报错信息与硬件无关,则检查与请求对应的数据所在的扇区是否存在故障。
在本发明的一个实施例中,对于因损坏或机器故障而读取失败或丢失的数据块, 客户端立即向namenode(HDFS的管理者)报告该数据块及正在尝试读取该块的datanode(HDFS的工作者),最后抛出ChecksumException异常。namenode将这个数据块标记为已损坏,然后从该数据块的复本再复制一份到另一个datanode,并将被标记的数据块删除。
在实际应用中,最常见的是数据ECC校验失败引起的错误,与其相对应的感测信息(Sensekey)为MEDIUM ERROR,ASC(Additional sense codes)为UNRECOVEREDREAD ERROR,据统计分析占比为63.1%。如果仅是数据本身错误,则在复本完成复制后被HDFS删掉可以避免错误不再发生;如果数据所在的扇区存在故障,则该数据被HDFS删掉后,相应的扇区可能被其他的数据写入,此时如果该扇区存在故障,硬盘自身会触发扇区重映射机制(Sector Reallocation)使得数据写入到硬盘的备用扇区,整个过程对用户是透明的,该故障扇区会被列入成长缺陷列表(GList)以使得该扇区不再被使用。所以不管是数据错误还是扇区故障,需根据报错对应的扇区号做一次扇区检查。
在本发明的一个实施例中,使用读方法检查与请求对应的数据所在的扇区是否存在故障。例如,使用dd命令(Linux/UNIX下的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换)读请求对应的数据所在的扇区,如果通过则判断该扇区可以继续使用,不存在故障。
在本发明的一个实施例中,步骤S607是可选的。
在本发明的一个实施例中,步骤S608是可选的。
在本发明的一个实施例中,步骤S609是可选的。
根据本发明实施例的基于HDFS的SCSI容错优化方法,对报错的扇区进行故障检查,将没有通过故障检查的扇区列入成长缺陷列表以防止被重新使用,对通过检查的扇区对应的数据进行删除及重新复制数据到其他扇区,从而有效地极少硬盘的故障率,并进一步提高IO效率。
下面参考说明书附图描述根据本发明实施例的基于HDFS的SCSI容错优化装置。
一种基于HDFS的SCSI容错优化装置,包括:接收模块,接收模块用于接收客户端发出的对于第一数据块复本的请求;发送模块,发送模块用于将请求经由SCSI中间层发送至SCSI底层;处理模块,SCSI底层利用处理模块对请求进行处理并将处理结果返回至SCSI中间层;以及判断模块,SCSI中间层利用判断模块根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。
图7是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图。
如图7所示,根据本发明实施例的基于HDFS的SCSI容错优化装置,包括接收模块100、发送模块200、处理模块300和判断模块400。
具体地,接收模块100用于接收客户端发出的对于第一数据块复本的请求。更具体地,HDFS(Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,接收模块100接收该请求并将该请求指向第一数据块复本。
发送模块200用于将请求经由SCSI中间层发送至SCSI底层。更具体地,发送模块200首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。
SCSI底层利用处理模块300对请求进行处理并将处理结果返回至SCSI中间层。
其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间层定义的回调函数,将处理结果交给SCSI中间层进行处理,此为第一次回调过程,SCSI中间层处理完成后将调用SCSI上层定义的回调函数,结束IO在整个SCSI子系统中的处理,此为第二次回调过程。
处理模块300在SCSI底层接收到SCSI中间层根据客户端的请求所发送的SCSI命令后,将该请求提交至SCSI TARGET端,即目标端,由SCSI TARGET端对该请求进行处理并返回执行结果给SCSI底层,SCSI底层通过第一次回调过程将处理结果返回至SCSI中间层。
SCSI中间层利用判断模块400根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。在本发明的一个实施例中,当SCSI底层反馈的错误信息与数据相关时,设定重试次数为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
具体地,在第一次回调过程中,SCSI中间层首先根据SCSI底层返回的结果判断请求是成功、需要SCSI底层重试还是失败。其中,判断结果为失败时,触发SCSI错 误处理线程进行处理;判断结果为成功时,SCSI中间层不再继续对其进行处理,但不是意味着处理过程没有错误发生,如果有错误发生,则会报告相应的错误信息,包括Hostbytes、Driverbytes、Sensekey、CDB和sector号等。判断结果为需要SCSI底层重试,则被加入块设备请求队列被重新处理,可以有选择的减少重试次数或者放弃重试来提高IO效率。
根据本发明实施例的基于HDFS的SCSI容错优化装置,通过判断模块根据SCSI底层返回的结果判断客户端的请求是成功、需要SCSI底层重试还是失败,且在判断为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。
图8是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图。
如图8所示,根据本发明实施例的基于HDFS的SCSI容错优化装置,包括接收模块100、发送模块200、处理模块300、判断模块400和定向模块500。
具体地,接收模块100用于接收客户端发出的对于第一数据块复本的请求。发送模块200用于将请求经由SCSI中间层发送至SCSI底层。SCSI底层利用处理模块300对请求进行处理并将处理结果返回至SCSI中间层。SCSI中间层利用判断模块400根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。在放弃重试时,定向模块500将请求定向到第二数据块复本。
具体地,当设定为放弃重试时,定向模块500将客户端的请求定向到HDFS存储的该请求所对应的数据块的第二数据块复本,客户端可以立即从该数据块的复本读取数据块而避免被SCSI底层重新处理。
根据本发明实施例的基于HDFS的SCSI容错优化装置,判断模块判断客户端的请求客户端的请求为需要SCSI底层重试时,通过设定重试次数以减少客户端请求在SCSI底层的重试次数,或者通过设定放弃重试以使得客户端可以从数据块的复本读取数据,进一步提高IO效率以及降低硬盘的故障率。
在本发明的一个实施例中,在请求失败时,定向模块500将请求定向到第二数据块复本。具体地,判断模块400根据SCSI中间层根据SCSI底层返回的结果判断为请求失败时,定向模块500将请求定向到HDFS存储的所对应的数据块的第二数据块复本,客户端可以在请求失败之后立即读取所对应数据块的复本以减少不必要的报错,进一步降低硬盘的故障率
在本发明的一个实施例中,处理结果包括请求的状态码(Statuscodes),SCSI底 层返回的报错信息(Hostbytes),SCSI中间层检测到的错误信息(Driverbytes)和感测信息(Sensekey)。
在本发明的一个实施例中,判断模块400用于当SCSI底层反馈的报错信息与数据相关时,将重试次数设定为1次以及当SCSI底层反馈的报错信息与硬件相关时,放弃重试。
根据本发明实施例的基于HDFS的SCSI容错优化装置,在放弃重试或请求失败时,可以将客户端请求定向到第二数据块复本,以提高用户的服务。
图9是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图。
如图9所示,根据本发明实施例的基于HDFS的SCSI容错优化装置,包括接收模块100、发送模块200、处理模块300、判断模块400、定向模块500和删除模块600。
具体地,接收模块100用于接收客户端发出的对于第一数据块复本的请求。发送模块200用于将请求经由SCSI中间层发送至SCSI底层。SCSI底层利用处理模块300对请求进行处理并将处理结果返回至SCSI中间层。SCSI中间层利用判断模块400根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。在放弃重试时,定向模块500将请求定向到第二数据块复本。在请求失败时,删除模块600将与请求对应的数据从第一数据块复本删除。
根据本发明实施例的基于HDFS的SCSI容错优化装置,判断模块根据SCSI底层返回的结果判断客户端的请求为请求失败时,通过删除模块将与该请求所对应的数据从第一数据块复本删除,以防止类似的错误不再发生,进一步提高IO请求效率及降低硬盘的故障率。
图10是根据本发明一个实施例的基于HDFS的SCSI容错优化装置的结构框图。
如图10所示,根据本发明实施例的基于HDFS的SCSI容错优化装置,包括接收模块100、发送模块200、处理模块300、判断模块400、定向模块500、删除模块600和检查模块700。
具体地,接收模块100用于接收客户端发出的对于第一数据块复本的请求。发送模块200用于将请求经由SCSI中间层发送至SCSI底层。SCSI底层利用处理模块300对请求进行处理并将处理结果返回至SCSI中间层。SCSI中间层利用判断模块400根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。在放弃重试时,定向模块500将请求定向到第二数据块复本。在请求失败时,删除模块600将与请求对 应的数据从第一数据块复本删除。检查模块700用于在SCSI底层反馈的报错信息与硬件无关的情况下检查与请求对应的数据所在的扇区是否存在故障。
在本发明的一个实施例中,对于因损坏或机器故障而读取失败或丢失的数据块,客户端立即向namenode(HDFS的管理者)报告该数据块及正在尝试读取该块的datanode(HDFS的工作者),最后抛出ChecksumException异常。namenode将这个数据块标记为已损坏,然后从该数据块的复本再复制一份到另一个datanode,并将被标记的数据块删除。
在实际应用中,最常见的是数据ECC校验失败引起的错误,与其相对应的感测信息(Sensekey)为MEDIUM ERROR,ASC(Additional sense codes)为UNRECOVERED READ ERROR,据统计分析占比为63.1%。如果仅是数据本身错误,则在复本完成复制后被HDFS删掉可以避免错误不再发生;如果数据所在的扇区存在故障,则该数据被HDFS删掉后,相应的扇区可能被其他的数据写入,此时如果该扇区存在故障,硬盘自身会触发扇区重映射机制(Sector Reallocation)使得数据写入到硬盘的备用扇区,整个过程对用户是透明的,该故障扇区会被列入成长缺陷列表(GList)以使得该扇区不再被使用。所以不管是数据错误还是扇区故障,需根据报错对应的扇区号做一次扇区检查。
在本发明的一个实施例中,检查模块700使用读方法检查与请求对应的数据所在的扇区是否存在故障。例如,使用dd命令(Linux/UNIX下的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换)读请求对应的数据所在的扇区,如果通过则判断该扇区可以继续使用,不存在故障。
根据本发明实施例的基于HDFS的SCSI容错优化装置,通过检查模块对报错的扇区做故障检查,将没有通过故障检查的扇区列入成长缺陷列表以防止被重新使用,对通过检查的扇区对应的数据进行删除及重新复制数据到其他扇区,从而有效地极少硬盘的故障率,并进一步提高IO效率。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示 例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (12)

1.一种基于HDFS的SCSI容错优化方法,其特征在于,包括以下步骤:
接收客户端发出的对于第一数据块复本的请求;
将所述请求经由SCSI中间层发送至SCSI底层;
所述SCSI底层对所述请求进行处理并将处理结果返回至所述SCSI中间层,其中,所述处理结果包括所述请求的状态码,所述SCSI底层返回的报错信息,SCSI中间层检测到的错误信息和感测信息;
所述SCSI中间层根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败;以及
在判断需要SCSI底层重试时,设定重试次数或放弃重试,其中,当所述SCSI底层反馈的报错信息与数据相关时,将所述重试次数设定为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
2.根据权利要求1所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤:
在放弃重试时,将所述请求定向到第二数据块复本。
3.根据权利要求1或2所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤:
在所述请求失败时,将所述请求定向到第二数据块复本。
4.根据权利要求1或2所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤:
在所述请求失败时,将与所述请求对应的数据从所述第一数据块复本删除。
5.根据权利要求1所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤:
如果SCSI底层反馈的报错信息与硬件无关,则检查与所述请求对应的数据所在的扇区是否存在故障。
6.根据权利要求5所述的基于HDFS的SCSI容错优化方法,其特征在于,使用读方法检查与所述请求对应的数据所在的扇区是否存在故障。
7.一种基于HDFS的SCSI容错优化装置,其特征在于,包括:
接收模块,所述接收模块用于接收客户端发出的对于第一数据块复本的请求;
发送模块,所述发送模块用于将所述请求经由SCSI中间层发送至SCSI底层;
处理模块,所述SCSI底层利用所述处理模块对所述请求进行处理并将处理结果返回至所述SCSI中间层,其中,所述处理结果包括所述请求的状态码,所述SCSI底层返回的报错信息,SCSI中间层检测到的错误信息和感测信息;
判断模块,所述SCSI中间层利用所述判断模块根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试,其中,当所述SCSI底层反馈的报错信息与数据相关时,将所述重试次数设定为1次;当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。
8.根据权利要求7所述的基于HDFS的SCSI容错优化装置,其特征在于,进一步包括:
定向模块,在放弃重试时,所述定向模块将所述请求定向到第二数据块复本。
9.根据权利要求8所述的基于HDFS的SCSI容错优化装置,其特征在于,在所述请求失败时,所述定向模块将所述请求定向到第二数据块复本。
10.根据权利要求7或8所述的基于HDFS的SCSI容错优化装置,其特征在于,进一步包括:
删除模块,在所述请求失败时,所述删除模块将与所述请求对应的数据从所述第一数据块复本删除。
11.根据权利要求7所述的基于HDFS的SCSI容错优化装置,其特征在于,进一步包括:
检查模块,所述检查模块用于在SCSI底层反馈的报错信息与硬件无关的情况下检查与所述请求对应的数据所在的扇区是否存在故障。
12.根据权利要求11所述的基于HDFS的SCSI容错优化装置,其特征在于,所述检查模块使用读方法检查与所述请求对应的数据所在的扇区是否存在故障。
CN201210018166.7A 2012-01-19 2012-01-19 基于hdfs的scsi容错优化方法及装置 Active CN103220162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210018166.7A CN103220162B (zh) 2012-01-19 2012-01-19 基于hdfs的scsi容错优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210018166.7A CN103220162B (zh) 2012-01-19 2012-01-19 基于hdfs的scsi容错优化方法及装置

Publications (2)

Publication Number Publication Date
CN103220162A CN103220162A (zh) 2013-07-24
CN103220162B true CN103220162B (zh) 2016-08-31

Family

ID=48817648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210018166.7A Active CN103220162B (zh) 2012-01-19 2012-01-19 基于hdfs的scsi容错优化方法及装置

Country Status (1)

Country Link
CN (1) CN103220162B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243229B (zh) * 2016-12-26 2021-03-30 北京国双科技有限公司 请求处理方法及装置
CN112002370B (zh) * 2020-07-23 2022-04-15 烽火通信科技股份有限公司 一种识别磁盘异常的方法、装置及分布式存储系统
CN115776520A (zh) * 2021-09-07 2023-03-10 中移(杭州)信息技术有限公司 一种请求方法和系统,及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197663B2 (en) * 2003-11-20 2007-03-27 International Business Machines Corporation Concurrent PPRC/FCP and host access to secondary PPRC/FCP device through independent error management
US7376546B2 (en) * 2004-11-08 2008-05-20 Lsi Corporation User configurable ultra320 SCSI target device simulator and error injector
CN100432975C (zh) * 2006-10-27 2008-11-12 华为技术有限公司 小型计算机系统接口目标器和数据传输方法
CN102024044B (zh) * 2010-12-08 2012-11-21 华为技术有限公司 分布式文件系统
CN102222033B (zh) * 2011-06-20 2017-07-11 中兴通讯股份有限公司 一种保存小型计算机系统接口访问错误的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Linux SCSI子系统剖析;IBM;《http://www.ibm.com/developerworks/cn/linux/l-scsi-subsystem/》;20071206;正文第1-5页 *

Also Published As

Publication number Publication date
CN103220162A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
US10013325B1 (en) Providing resiliency to a raid group of storage devices
US10204017B2 (en) Variable drive health determination and data placement
EP1771789B1 (en) Method of improving replica server performance and a replica server system
US8566282B2 (en) Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
CN104205060B (zh) 提供用于ha集群的管理程序的基于应用的监控及恢复
US7849356B2 (en) Parity data management system apparatus and method
JP4764909B2 (ja) Raidレベルマイグレーション方法とシステム
US7752387B2 (en) Offloading firmware update tasks from RAID adapter to distributed service processors in switched drive connection network enclosure
TW567410B (en) Method and system for log repair action handling on a logically partitioned multiprocessing system
US20100049926A1 (en) Enhancement of data mirroring to provide parallel processing of overlapping writes
WO2021047234A1 (zh) 一种硬盘管理方法及装置
WO2012127476A1 (en) Data backup prioritization
CN110058791B (zh) 存储系统以及相应的方法和计算机可读介质
WO2017158666A1 (ja) 計算機システム、計算機システムのエラー処理方法
US10402377B1 (en) Data recovery in a distributed computing environment
CN101268620A (zh) 用于管理设备管理对象的设备管理系统和方法
KR20110062329A (ko) 로그 분석 기반 데이터 스토리지 서비스 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US9940211B2 (en) Resource system management
US9378092B2 (en) Storage control apparatus and storage control method
CN103220162B (zh) 基于hdfs的scsi容错优化方法及装置
JP6540334B2 (ja) システム、情報処理装置、および情報処理方法
CN102165426B (zh) 选择性地使用缓解来减少错误的存储器管理技术
US6859890B2 (en) Method for reducing data/parity inconsistencies due to a storage controller failure
CN111045858B (zh) 一种坏道处理方法及系统
US7568123B2 (en) Apparatus, system, and method for backing up vital product data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant