CN110554839A - 分布式存储系统访问方法、客户端及计算机程序产品 - Google Patents

分布式存储系统访问方法、客户端及计算机程序产品 Download PDF

Info

Publication number
CN110554839A
CN110554839A CN201910696998.6A CN201910696998A CN110554839A CN 110554839 A CN110554839 A CN 110554839A CN 201910696998 A CN201910696998 A CN 201910696998A CN 110554839 A CN110554839 A CN 110554839A
Authority
CN
China
Prior art keywords
client
hard disk
partition
data
hard disks
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.)
Pending
Application number
CN201910696998.6A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910696998.6A priority Critical patent/CN110554839A/zh
Publication of CN110554839A publication Critical patent/CN110554839A/zh
Priority to PCT/CN2020/100814 priority patent/WO2021017782A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种分布式存储系统访问方法,客户端检测分区中多个硬盘的性能,分区中第一硬盘的性能异常,客户端向分区中除第一硬盘外的一个或多个硬盘发送访问请求,从而客户端不需要确定该第一硬盘为慢盘即可不访问该第一硬盘,避免了访问性能异常的第一硬盘导致的访问时延增加,提高了分布式存储系统中的访问性能。

Description

分布式存储系统访问方法、客户端及计算机程序产品
技术领域
本发明涉及信息技术领域,尤其涉及分布式存储系统访问方法、客户端及计算机程序产品。
背景技术
分布式存储系统中包含多个存储节点,客户端根据主机发送的写请求向分布式存储系统中写入数据时,数据是以分条的形式存储在分条所属的分区中的存储节点的硬盘。其中,分区包含由多个存储节点的硬盘,通常一个存储节点为一个分区提供一个硬盘。例如,基于纠删码(Erasure Coding,EC)算法,分条中数据条带数量为N,校验条带的数量为M,分条的长度为N+M,其中N和M均为正整数。客户端将待存储的数据划分为N个数据条带的数据块,根据EC算法生成M个校验条带的校验数据,即校验块。客户端将N+M长度的分条的条带的数据写入相应的N+M存储节点的硬盘。分布式存储系统记录分区与分区包含的存储节点的硬盘的对应关系。一个分区会包含多个分条,分布式存储系统写入数据时,根据数据所在的分区分配分条。分布式存储系统读取数据时,根据读取的数据的存储地址确定读取的数据所在的分区,从相应的分区的分条中读取数据。
分布式存储系统的上述数据读写访问方式会涉及到多个硬盘。当多个硬盘中出现慢盘时,访问时延会被慢盘拖慢,从而影响分布式存储系统的访问性能。现有技术分布式存储系统在检测并且确认是慢盘时,将隔离慢盘。即将慢盘从分区中删除,客户端不再访问该硬盘,从而影响分布式存储系统的访问性能。
发明内容
本申请提供了一种分布式存储系统访问方法、客户端及计算机程序产品,避免了分布式存储系统中慢盘检测导致的访问时延增加问题,提高了分布式存储系统的访问性能。
第一方面,本发明提供了一种分布式存储系统,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述方法包括:所述客户端检测所述分区中所述多个硬盘的性能;当所述第一硬盘的性能异常但尚未确认所述第一硬盘是慢盘时,所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求;所述第一硬盘为所述分区中第一存储节点上的硬盘。本方案检测到硬盘性能异常但尚未确认硬盘是慢盘,例如访问时延增加等,即不再访问性能异常的硬盘,从而避免了分布式存储系统中慢盘检测导致的访问时延增加问题,提高了分布式存储系统的访问性能。
作为一种可选的实现方式,所述方法还包括:所述客户端检测性能异常的所述第一硬盘是否属于慢盘。本方案中在检测分区中的硬盘性能异常但尚未确认硬盘是慢盘时,即不再向该硬盘发送访问请求,而是将访问请求切换到分区中的其他硬盘中。在切换访问请求之后,继续检测该性能异常的硬盘是否是慢盘,如果确定是慢盘,则可以将该慢盘从分布式存储系统中隔离。进一步的,所述客户端检测性能异常的所述第一硬盘是否属于慢盘,具体包括:所述客户端向所述第一硬盘发送访问探测请求用于确定所述第一硬盘是否属于慢盘。
作为一种可选的实现方式,所述分区使用多副本冗余机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:所述客户端向所述分区中的第二存储节点中的第二硬盘发送读请求;所述第二硬盘存储有所述第一硬盘的数据的副本。本方案中当访问请求为读请求时,分区是使用多副本冗余机制,在第一硬盘性能异常但尚未确认第一硬盘是慢盘时,客户端访问分区中的第二硬盘中的数据。因为分区是使用的多副本冗余,所以分区中的第一硬盘与第二硬盘存储有相同的数据副本。
作为一种可选的实现方式,所述分区使用纠删码机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:所述客户端向所述分区中除所述第一硬盘外的其他硬盘发送读请求;所述客户端根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据。本方案中当访问请求为读请求时,分区是使用纠删码机制,在第一硬盘性能异常时,客户端访问分区中的其他硬盘中的数据,根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据,从而避免访问第一硬盘导致的访问时延,提高分布式存储系统的访问性能。
作为一种可选的实现方式,所述分区使用多副本冗余机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:所述客户端分别向所述分区中的其他硬盘发送携带相同数据的写请求。本方案中当访问请求为写请求时,分区是使用多副本冗余机制,在第一硬盘性能异常时,客户端向所述分区中的其他存储节点的硬盘发送携带相同数据的写请求,从而实现分区中其他硬盘存储数据副本,避免向第一硬盘写入数据,从而避免访问第一硬盘导致的访问时延,提高分布式存储系统的访问性能。
作为一种可选的实现方式,所述分区使用纠删码机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个存储节点中的硬盘发送访问请求,具体包括:所述客户端根据所述纠删码机制中的校验块的数量以及所述分区中所述其他硬盘的数量确定数据块;所述客户端基于所述纠删码机制中的校验块的数量和所述数据块计算校验块;所述客户端分别向所述其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向所述其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。在本方案中,当第一硬盘的性能异常但尚未确认第一硬盘是慢盘时,不再向分区中的第一硬盘写入数据。因为基于纠删码机制,向分区中写入的数据的分条的长度是固定的,校验块数量也是固定的。为实现数据的可靠性,在不减少分区中分条的校验块数量的情况下,减少数据块的数量,即减少第一硬盘数量的数据块。
作为一种可选的实现方式,所述客户端检测所述分区中第一存储节点的第一硬盘的性能,具体包括:所述客户端获取发送到所述多个存储节点的访问请求的时延;所述客户端比较所述发送到所述多个存储节点的访问请求的时延确定所述分区中所述多个硬盘的性能。客户端通过对比发送到多个存储节点的访问请求的时延,横向判断分区中至少两块硬盘的性能。
第二方面,本发明提供了一种分布式存储系统中的客户端,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点,所述客户端包含实现第一方面及第一方面任一可能实现方式的方案的单元。
第三方面,本发明提供了一种分布式存储系统中的客户端,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点,所述客户端包括接口和处理器,所述接口与所述处理器通信;所述处理器用于实现第一方面及第一方面任一可能实现方式的方案。
第四方面,本发明提供了一种计算机程序产品,所述计算机程序产品包含计算机指令,所述计算机程序产品可以应用于分布式存储系统中的客户端,所述分布式存储系统包含所述客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端的处理器执行所述计算机指令用于实现第一方面及第一方面任一可能实现方式的方案。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包含计算机指令,所述计算机可读存储介质可以应用于分布式存储系统中的客户端,所述分布式存储系统包含所述客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端的处理器执行所述计算机指令用于实现第一方面及第一方面任一可能实现方式的方案。
附图说明
图1为本发明实施例分布式存储系统示意图;
图2为本发明实施例分布式块存储系统中服务器结构示意图;
图3为本发明实施例分布式块存储系统分区视图示意图;
图4为本发明实施例分布式块存储系统中条带与存储节点关系示意图;
图5为本发明实施例分布式块存储系统中客户端写数据的方法流程图;
图6为本发明实施例分布块存储系统中客户端确定分区示意图;
图7为本发明实施例存储节点写条带的数据的方法流程图;
图8为本发明实施例访问方法流程示意图;
图9为本发明实施例分布式存储系统中的客户端结构示意图。
本发明实施例
本发明实施例中的分布式存储系统,如系列。示例性的如图1所示,分布式存储系统包括多台服务器,如服务器1、服务器2、服务器3、服务器4、服务器5和服务器6,服务器间通过InfiniBand或以太网络等互相通信。本发明实施例中,分布式存储系统中的服务器又称为存储节点。在实际应用当中,分布式存储系统中服务器的数量可以根据实际需求增加,本发明实施例对此不作限定。
分布式存储系统的服务器中包含如图2所示的结构。如图2所示,分布式存储系统中的每台服务器包含中央处理单元(Central Processing Unit,CPU)201、存储器202、接口203、硬盘1、硬盘2和硬盘3,存储器202中存储计算机指令,CPU201执行存储器202中的计算机指令执行相应的操作。接口203可以为硬件接口,如网络接口卡(NetworkInterfaceCard,NIC)或主机总线适配器(Host Bus Adaptor,HBA)等,也可以为程序接口模块等。硬盘包含固态硬盘(Solid State Disk,SSD)和/或机械硬盘(Hard Disk Drive,
HDD)。硬盘接口可以为串行高级技术连接(Serial Advanced TechnologyAttachment,SATA)接口,串行连接小型计算机系统接口(Serial Attached SmallComputer System Interface,SAS)接口,光纤通道(Fiber Channel,FC)接口,快速外设互联(Peripheral Component Interconnect-Express,PCIe)接口等。CPU201可以由现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)或其他硬件代替,或者,FPGA或其他硬件与CPU201共同执行上述相应的操作。为方便描述,本发明实施例将CPU201,或者将替代CPU201的硬件称为处理器,或者将CPU201以及其他硬件的组合称为处理器。
分布式存储系统中的客户端根据主机写请求向分布式存储系统写入数据或根据主机的读请求从分布式存储系统中读取数据。客户端向主机提供访问接口,例如提供块访问接口、文件访问接口和对象访问接口中的至少一种。例如,在分布式块存储系统中,客户端为主机提供块资源,如逻辑单元(Logical Unit,LU),从而为主机提供数据访问操作。其中,逻辑单元又称为逻辑单元号(Logical Unit Number,LUN)。在分布式文件存储系统中,客户端为主机提供文件资源,在分布式对象存储系统中,客户端为主机提供对象资源。本发明实施例中的客户端可以运行在图1所示的服务器上,或独立于图1所示的服务器上。本发明实施例中的主机的具体形态可以为服务器、虚拟机(Virtual Machine,VM)、终端设备等,本发明实施例对此不作限定。分布式存储系统的客户端为主机提供分布式存储系统的存储资源。
本发明实施例以分布式块存储系统为例,客户端提供块协议访问接口,从而客户端提供分布式块存储接入点服务,主机可以通过客户端访问分布式块存储系统中存储资源池中的存储资源。通常,该块协议访问接口用于向主机提供LUN。服务器运行分布式块存储系统程序使包含硬盘的服务器作为存储节点,用于存储主机的数据。
分布式块存储系统初始化时,将哈希空间(如0~2^32,)划分为N等份,每1等份是1个分区(Partition),这N等份按照硬盘数量进行均分。例如,分布式块存储系统中N默认为3600,即分区分别为P1,P2,P3…P3600。假设当前分布式块存储系统有18个存储节点,则每个存储节点承载200个分区。每个分区包含若干个分条。分区P包含M个存储节点Nj,分区与存储节点的空间的对应关系,即分区与存储节点Nj中的硬盘提供的存储空间映射,也称为分区视图,如图3所示,以分区包含4个存储节点Nj的硬盘Dj为例,分区视图为“P2-(N1-D1)-(N2-D2)-(N3-D3)-(N4-D4)”。其中,j为整数1到M中的每一个值。分区视图在分布式块存储系统初始化时会分配好,后续会随着分布式块存储系统中硬盘数量的变化进行调整。客户端保存该分区视图。P2-(N1-D1)-(N2-D2)-(N3-D3)-(N4-D4)描述的是:在分区P2中,包括D1、D2、D3和D4共4个硬盘,这4个硬盘分别来自于存储节点N1、存储节点N2、存储节点N3和存储节点N4
根据分布式块存储系统的可靠性要求,分区可以使用纠删码(Erasure Coding,EC)机制提高数据可靠性,如使用3+1模式,即3个数据条带(条带又称为分条单元)和1个校验条带组成分区中的分条。在本发明实施例中,分区以分条的形式存储数据,一个分区包含R个分条Si,其中,i为整数1到R中的每一个值。本发明实施例以P2为例进行描述。
分布式块存储系统按照8千字节(Kilobyte,KB)为单位对硬盘进行分片管理,并在硬盘的元数据管理区域记录每个8KB分片的分配信息,硬盘的分片组成存储资源池。分布式块存储系统包含分条服务器,具体实现可以为分条管理程序运行在分布式块存储系统中的一台或多台服务器上。分条服务器为分区分配分条。仍以图4所示分区视图为例,分条服务器根据分区视图,如图4所示,分条服务器为分区P2的分条Si从分区对应的存储节点Nj的硬盘Dj分配分条中条带SUij的存储地址,即存储空间,具体包括:为SUi1从存储节点N1的硬盘D1分配存储地址,为SUi2从存储节点N2的硬盘D2分配存储地址,为SUi3从存储节点N3的硬盘D3分配存储地址,为SUi4从存储节点N4的硬盘D4分配存储地址。另一种实现,分条服务器不为分区P2的分条Si从分区对应的存储节点Nj的硬盘Dj分配分条中条带SUij的存储地址,即当客户端向存储节点写入数据时,从存储节点Nj的硬盘Dj分配分条中条带SUij的存储地址。为条带SUij分配的存储地址,具体可以是存储节点Nj的硬盘Dj的逻辑地址,例如逻辑块地址(Logical Block Address,LBA);另外一种实现,在支持开放通道(Open-channel)的SSD中,分条服务器从存储节点Nj的硬盘Dj分配分条中条带SUij的存储地址还可以为SSD的物理地址。另外一种实现方式,存储节点Nj中硬盘为LUN,即存储节点挂载的LUN。分条元数据记录分条标识与条带标识的映射关系,即Si和存储节点Nj的硬盘Dj分配分条中条带SUij的对应关系,根据该对应关系可以查找到分条Si所包含的条带SUij。进一步的,分条服务器还记录条带SUij和分条Si的对应关系,根据该对应关系,可以使用条带SUij查找到分条Si,从而查询分条信息,例如Si所包含的所有条带SUij
为减少分条服务器管理的条带标识的数量,分条服务器为分条中条带标识分配版本号,当一个分条释放后,更新该释放后的分条中条带的条带标识版本号,从而作为新的分条中条带的条带标识。分条服务器预先为分条Si分配条带SUij,可以减少客户端写入数据时的等待时间,从而提升分布式块存储系统的写性能。本发明实施例中,分条Si中条带SUij在分布式块存储系统中具有唯一的标识。
本发明实施例中,分条Si中条带SUij在客户端写数据之前,仅仅为一段存储空间。当客户端接收主机的数据,基于纠删码EC算法为该数据生成包含M个条带SUNj的数据,其中,M个条带SUNj包括L个数据条带SUNx以及(M-L)个校验条带,L与M均为正整数,且L小于M。校验条带的长度与数据条带的长度相同。客户端将主机的数据划分为L份数据条带的数据块,并且基于EC算法生成L份数据条带的数据的(M-L)个校验条带的校验数据,即校验块。本发明实施例中称存储数据条带的数据块的存储节点为数据存储节点,存储校验条带的校验块的存储节点为校验存储节点。
本发明实施例中,客户端为主机提供分布式块存储系统分配的逻辑单元,主机挂载客户端提供的LUN,从而为主机提供数据访问操作。主机的访问地址为LUN的LBA。
本发明实施例中,如图5所示,客户端执行如下步骤:
步骤501:客户端接收主机发送的写请求。
客户端接收主机发送的写请求,写请求中包含主机的数据以及数据的主机访问地址。在本发明实施例中,主机访问地址为LUN的LBA。
步骤502:客户端确定主机的数据所在分区P。
本发明实施例以分区P2为例,结合图3,客户端存储有分布式块存储系统的分区视图。如图6所示,根据分区视图,确定数据所在的分区。其中一种实现,客户端根据数据的LUN的LBA生成键Key,根据哈希算法计算Key的哈希值,确定哈希值对应的分区,从而确定LUN的LBA分布在分区P2。也称为数据分布在分区P2。
步骤503:客户端从R个分条中获得分条SN;其中,N为整数1到R中的一个值。
分条服务器管理分区与分条的对应关系,分条服务器记录分条与该分条的条带的映射以及分条中条带与存储节点的硬盘的映射。其中客户端从R个分条中获得分条SN的一种实现,客户端确定LUN的LBA分布在分区P2,客户端查询分条服务器获得分区P2包含的R个分条中的一个分条SN。因为LUN的LBA是分布式块存储系统中存储客户端写入数据的地址。因此,LUN的LBA分布在分区P与待存储数据分布在分区P具有相同的含义。客户端从R个分条中获得分条SN的另一种实现,可以为客户端从R个分条中已经分配给客户端的分条中获得分条SN
步骤504:客户端将主机的数据划分为分条SN中数据条带SUNj的数据块。
分条SN由条带组成,客户端根据分条中条带的大小划分主机的数据,示例性的,客户端根据分条中条带的长度划分主机的数据得到条带大小的数据块,根据条带大小的数据块的LUN的LBA对分区中的存储节点数M(例如4)取模,从而确定条带大小的数据块在分条中的位置,即对应的条带SUNj,进而根据分区视图确定条带SUNj对应存储节点Nj的硬盘Dj,从而LUN的LBA的条带的数据块分布在相同的存储节点的硬盘Dj。例如将主机的数据划分为1个或多个条带SUNj的数据块。本发明实施例以P2为例,结合图4,分条SN包含4个条带,分别为SUN1、SUN2、SUN3和SUN4。以将主机的数据划分为3个数据条带的数据块为例,即分别为数据条带SUN1的数据块、数据条带SUN2的数据块和数据条带SUN3的数据块。进而根据SUN1的数据块、SUN2的数据块和SUN3的数据块生成校验条带SUN4的校验数据块,校验条带SUN4的校验数据块也称为校验块。关于分条中数据条带的数据块如何生成校验条带的校验块可参考现有分条实现的EC算法,本发明实施例不再赘述。本发明实施例中,数据条带的数据块及校验条带的校验块均称为条带SUNj的数据。
步骤505:客户端将条带SUNj的数据发送到对应的存储节点Nj的硬盘Dj
本发明实施例中,客户端将数据条带SUN1的数据块发送到存储节点N1的硬盘D1,将数据条带SUN2的数据块发送到存储节点N2的硬盘D2,将数据条带SUN3的数据块发送到存储节点N3的硬盘D3,将校验条带SUN4的校验块发送到存储节点N4的硬盘D4。数据条带SUNj的数据块还包括元数据,例如数据条带SUNj标识、数据条带SUNj的数据块的主机访问地址。在本发明实施例的分布式块存储系统中,数据条带SUNj的数据块的主机访问地址为数据条带SUNj的数据块的LUN的逻辑地址。这里的LUN是指主机挂载的LUN。
与图5所示的客户端实施例相对应,如图7所示,存储节点Nj执行如下步骤:
步骤701:存储节点Nj接收客户端发送的分条SN中的条带SUNj的数据。
结合图5所示实施例,数据存储节点N1接收客户端发送数据条带SUN1的数据块,数据存储节点N2接收客户端发送数据条带SUN2的数据块,数据存储节点N3接收客户端发送数据条带SUN3的数据块,存储节点N4接收客户端发送校验条带SUN4的校验块。
步骤702:存储节点Nj存储条带SUNj的数据到的硬盘Dj存储地址,数据存储节点Nx建立数据条带SUNx的数据块的主机访问地址与数据条带SUNx的标识的映射。X的取值为1到L中的每一个整数,其中,L为整数,并且L小于M。L为分条SN中数据条带的数量,M为分条SN中条带的数量。本发明实施例中数据条带SUNx的数据块的主机访问地址为主机挂载的LUN的LBA。
存储节点Nj存储条带SUNj的数据到硬盘Dj的存储地址,具体为存储节点Nj存储条带SUNj的数据到存储节点Nj的硬盘Dj的存储地址。一种实现,硬盘Dj的存储地址为硬盘的逻辑地址;另一种实现,在支持开放通道(Open-channel)的SSD中,为SSD的物理地址。另一种实现,硬盘Dj还可以为存储阵列中LUN。
具体的,数据存储节点N1的硬盘D1为数据条带SUN1的数据块分配的存储地址为Ad1,数据存储节点N2的硬盘D2为数据条带SUN2的数据块分配的存储地址为Ad2,数据存储节点N3的硬盘D3为数据条带SUN3的数据块分配的存储地址为Ad3,校验存储节点N4的硬盘D4为校验条带SUN4的校验块分配的存储地址为Ad4。
本发明实施例中,另一种实现方式,在分区视图中的存储节点中包含主存储节点,客户端根据分区视图向存储节点写数据时,先将数据发送到主存储节点,主存储节点向根据存储节点与分条中条带的对应关系,将数据块和校验块发送到相应的条带所在的存储节点的硬盘。
主机发起读请求,客户端根据主机的读请求,根据分区视图和读请求携带的地址,从分区视图中相应的存储节点Nj的硬盘Dj读取数据。其中主机的读请求包含存储读数据的LUN的LBA。这里的LUN是指主机挂载的LUN。
本发明实施例中,分区中的分条除包含数据条带和校验条带,还可以包括多副本条带组成的分条。在多副本组成的分条时,分条中的条带SUij均为数据条带,并且条带SUij的数据相同。即分区可以使用EC机制,也可以使用多副本冗余机制。
本发明实施例也适用于不基于分区进行分条管理的分布式存储系统。
本发明实施例中,可以有多个客户端访问同一个存储节点存储的同一个条带的数据,如数据条带的数据块,也可以由多个主机挂载同一个LUN,多个主机访问同一个存储节点存储的同一个数据条带的数据块。
本发明实施例,在客户端向存储节点发送分条的条带的数据。当分条所在的分区中的存储节点上的硬盘是慢盘时,会导致分布式存储系统访问性能下降。通常,分布式存储系统的客户端会对存储节点的硬盘进行检测以判断是否是慢盘。慢盘是指持续地性能较低的硬盘。需要说明的是,属于同一个分区的硬盘原本时延是相近的,但是由于出现硬盘故障或者其他原因,导致个别硬盘的时延明显增加,这种持续地时延明显增加的硬盘就称为慢盘。为节省慢盘检测时间,避免访问性能异常的硬盘导致的时延增加,提高分布式存储系统访问性能,本发明提供了如图8所示的实施例,包括:
步骤801:客户端检测分区中多个硬盘的性能。
具体的,客户端获取发送到多个存储节点的访问请求的时延,比较发送到多个存储节点的访问请求的时延确定多个硬盘的性能。客户端通过横向对比多个存储节点的访问请求的时延(存储节点的访问请求具体而言是对硬盘的访问请求,因此存储节点的访问请求的时延可以描述存储节点中存储硬盘的访问时延),检测分区中至少两块硬盘的性能。例如:在同一个分区中存在硬盘A和硬盘B,硬盘A的访问时延是10ms,硬盘B的访问时延是500ms,这二者存在明显差别,那么就可以得出这个硬盘B性能异常的结论。
本发明实施例以图3所示的分区P2为例,客户端检测硬盘D1、D2、D3和D4的性能。
步骤802:当分区中的第一硬盘的性能异常但尚未确认第一硬盘是慢盘时,客户端向分区中除第一硬盘外的其他一个或多个硬盘发送访问请求。
仍然以图3所示的分区P2为例,第一硬盘为D1。D1性能异常,可以为访问时延突然增长、处理带宽下降等。本发明实施例对此不作限定。
本发明实施例中,在检测到分区中的硬盘的性能异常,则访问分区中的一个或多个其他硬盘(而不访问这个性能异常的硬盘),不再需要确定该硬盘为慢盘,避免了检测判断性能异常的硬盘为慢盘再停止访问该硬盘,从而避免再访问性能异常的硬盘,从而提高了分布式存储系统的性能。
需要说明的是,性能出现异常的硬盘可能是慢盘也可以不是慢盘,但是本发明实施例中,在还没有判断出性能异常的硬盘是不是慢盘的情况下,就停止对这个性能异常的硬盘的访问,而仅访问分区中未出现异常的硬盘。
进一步的,本发明实施例还可以进一步检测性能异常的第一硬盘是否是慢盘。因为本发明实施例检测到第一硬盘的性能异常之后,已经不再向该第一硬盘发送访问请求。为了进一步检测该第一硬盘是否是慢盘,客户端可以向该第一硬盘发送探测请求,以便确定第一硬盘是否属于慢盘。当判断该第一硬盘是慢盘,则将该慢盘从分布式存储系统中隔离,不再分配给分区使用。例如:在划分分区时,慢盘对存储系统“不可见”。具体的,一种实现,可以新的硬盘加入分区,以代替该慢盘,即第一硬盘。另一种实现,分区将慢盘从分区中移除,即减少分区中硬盘的数量。
结合图3和图4,当分区使用多副本冗余机制,即分区P2中的每一个分条的条带包含相同的数据副本,即分区P2的硬盘存储相同的数据副本。在访问请求为读请求的场景,在第一硬盘D1的性能异常,客户端向分区中除第一存储节点的第一硬盘外的其他一个或多个存储节点中的硬盘发送访问请求,具体包括:客户端向分区中的第二存储节点中的第二硬盘发送读请求。第二存储节点例如为N2,第二硬盘为D2。因此,在D1的性能异常时,客户端可以向D2发送读请求,避免访问D1,但仍然可以获得与D1存储的数据相同的数据副本,从而避免访问D1导致的访问时延,提高了分布式存储系统的性能。在访问请求为写请求的场景,客户端检测到D1的性能异常,分别向所述分区中的其他存储节点的硬盘发送携带相同数据的写请求,即向硬盘D2、D3和D4发送携带相同数据的写请求(不向D1发送写请求),从而实现数据多副本在多个硬盘的存储。在写请求场景下,避免了检测判断性能异常的硬盘为慢盘再停止访问该硬盘,因此同样避免向硬盘D1发送写请求导致的访问时延,从而提高了分布式存储系统的性能。
结合图3和图4,当分区使用纠删码机制,即分区P2中的每一个分条的条带包含数据条带和校验条带。在访问请求为读请求的场景,客户端向分区中除第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:客户端向所述分区中除第一硬盘外的其他硬盘发送读请求;客户端根据纠删码机制和从其他硬盘读出的数据恢复第一硬盘中的数据。仍以D1作为第一硬盘为例,在检测到D1的性能异常即不再向D1发送读请求,客户端向D2、D3和D4发送读请求,根据读取的数据和纠删码机制恢复D1中的数据,从而在确定D1为慢盘之前即不再向D1发送读请求,避免了访问D1导致的访问时延增加,提高了分布式存储系统的访问性能。在访问请求为写请求的场景,客户端向分区中除第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:客户端根据纠删码机制中的校验块的数量以及分区中其他存储节点的硬盘的数量确定数据块;客户端基于纠删码机制中的校验块的数量和数据块计算校验块;客户端分别向其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。仍以D1作为第一硬盘为例。在第一硬盘的性能正常时,分区包含4个硬盘,硬盘D1、D2、D3和D4。分区使用纠删码机制,例如分区中的分条包含3个数据条带和1个校验条带,一个分条可以存储3个数据块和1个校验块。例如D1存储数据块1、D2存储数据块2,D3存储数据块3,D4存储校验块。校验块为数据块1、数据块2和数据块3的校验数据。在D1性能异常时,客户端向D2发送数据块2,向D3发送数据块3,向D4发送校验块。其中客户端向D4发送的校验块是数据块2和数据块3的校验数据。在写请求场景下,当D1性能异常而不需要等到确定D1为慢盘,客户端即不再向D1发送写请求,避免客户端访问D1导致的访问时延增加,提高了分布式存储系统的访问性能。同时,本发明实施例保证分区中校验块的数量不减少,只减少分区中数据块的数量,即只减少一个分条中数据条带的数量,而不减少校验条带的数量,从而保证了分布式存储系统的可靠性。
本发明实施例进一步提供了如图9所示的分布式存储系统中的客户端,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端包括检测单元901和发送单元902;其中,检测单元901,用于检测所述分区中所述多硬盘的性能;发送单元902用于当所述第一硬盘的性能异常但尚未确认所述第一硬盘是慢盘时,向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求;所述第一硬盘为所述分区中第一存储节点上的硬盘。
进一步的,图9所示的客户端的检测单元901,还用于检测性能异常的所述第一硬盘是否属于慢盘。可选的,检测单元901具体用于向所述第一硬盘发送访问探测请求用于确定所述第一硬盘是否属于慢盘。
进一步的,图9所示的客户端,分区使用多副本冗余机制,发送单元902具体用于向所述分区中的第二存储节点中的第二硬盘发送读请求;所述第二硬盘存储有所述第一硬盘的数据的副本。
进一步的,图9所示的客户端,分区使用多副本冗余机制,发送单元902具体用于分别向所述分区中的其他硬盘发送携带相同数据的写请求。
进一步的,图9所示的客户端,分区使用纠删码机制,发送单元902具体用于向所述分区中除所述第一硬盘外的其他硬盘发送读请求;客户端还包括恢复单元,用于根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据。
进一步的,图9所示的客户端,分区使用纠删码机制,客户端还包含确定单元和计算单元;其中,确定单元,用于根据所述纠删码机制中的校验块的数量以及所述分区中所述其他硬盘的数量确定数据块;计算单元,用于基于所述纠删码机制中的校验块的数量和所述数据块计算校验块;发送单元902具体用于分别向所述其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向所述其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。
进一步的,检测单元901,具体用于获取发送到所述多个存储节点的访问请求的时延,比较所述发送到所述多个存储节点的访问请求的时延确定所述分区中所述多硬盘的性能。
本发明实施例提供的分布式存储系统中的客户端,另一种实现方式,包括接口和处理器,接口和处理器通信,处理器用于实现本发明实施例中客户端执行的各方案。
本发明实施例提供的分布式存储系统中的客户端的具体实现可以参考本发明实施例前面的描述,在此不再赘述。
本发明实施例中描述分条、数据条带、校验条带和存储节点所使用的标识只是为更清楚地描述本发明实施例,实际产品实现中并不要求一定带有类似的标识,因此,本发明实施例描述分条、数据条带、校验条带和存储节点所使用的标识并不是对本发明的限定。
相应的,本发明实施例还提供了计算机可读存储介质和计算机程序产品,计算机可读存储介质和计算机程序产品中包含计算机指令用于实现本发明实施例中描述的各种方案。
在本发明所提供的几个实施例中,应该理解到,所公开的装置、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例各方案的目的。

Claims (26)

1.一种分布式存储系统访问方法,其特征在于,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述方法包括:
所述客户端检测所述分区中所述多个硬盘的性能;
当所述分区中的第一硬盘的性能异常但尚未确认所述第一硬盘是慢盘时,所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求;所述第一硬盘为所述分区中第一存储节点上的硬盘。
2.根据权利要求1所述的方法,其特征在于,所述方法之后还包括:
所述客户端检测性能异常的所述第一硬盘是否属于慢盘。
3.根据权利要求1所述的方法,其特征在于,所述分区使用多副本冗余机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:
所述客户端向所述分区中的第二存储节点中的第二硬盘发送读请求;所述第二硬盘存储有所述第一硬盘的数据的副本。
4.根据权利要求1所述的方法,其特征在于,所述分区使用纠删码机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:
所述客户端向所述分区中除所述第一硬盘外的其他硬盘发送读请求;
所述客户端根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据。
5.根据权利要求1所述的方法,其特征在于,所述分区使用多副本冗余机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:
所述客户端分别向所述分区中的其他硬盘发送携带相同数据的写请求。
6.根据权利要求1所述的方法,其特征在于,所述分区使用纠删码机制;所述客户端向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求,具体包括:
所述客户端根据所述纠删码机制中的校验块的数量以及所述分区中所述其他硬盘的数量确定数据块;
所述客户端基于所述纠删码机制中的校验块的数量和所述数据块计算校验块;
所述客户端分别向所述其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向所述其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。
7.根据权利要求1所述的方法,其特征在于,所述客户端检测所述分区中所述多个硬盘的性能,具体包括:
所述客户端获取发送到所述多个存储节点的访问请求的时延;
所述客户端比较所述发送到所述多个存储节点的访问请求的时延确定所述分区中所述多个硬盘的性能。
8.根据权利要求2所述的方法,其特征在于,所述客户端检测性能异常的所述第一硬盘是否属于慢盘,具体包括:
所述客户端向所述第一硬盘发送访问探测请求用于确定所述第一硬盘是否属于慢盘。
9.一种分布式存储系统中的客户端,其特征在于,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端包括:
检测单元,用于检测所述分区中所述多个硬盘的性能;
发送单元,用于当所述第一硬盘的性能异常但尚未确认所述第一硬盘是慢盘时,向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求;所述第一硬盘为所述分区中第一存储节点上的硬盘。
10.根据权利要求9所述的客户端,其特征在于,所述检测单元,还用于检测性能异常的所述第一硬盘是否属于慢盘。
11.根据权利要求9所述的客户端,其特征在于,所述分区使用多副本冗余机制;所述发送单元,具体用于向所述分区中的第二存储节点中的第二硬盘发送读请求;所述第二硬盘存储有所述第一硬盘的数据的副本。
12.根据权利要求9所述的客户端,其特征在于,所述分区使用纠删码机制;所述发送单元,具体用于向所述分区中除所述第一硬盘外的其他硬盘发送读请求;
所述客户端还包括恢复单元,用于根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据。
13.根据权利要求9所述的客户端,其特征在于,所述分区使用多副本冗余机制;所述发送单元,具体用于分别向所述分区中的其他硬盘发送携带相同数据的写请求。
14.根据权利要求9所述的客户端,其特征在于,所述分区使用纠删码机制;所述客户端还包括确定单元和计算单元;其中,
所述确定单元,用于根据所述纠删码机制中的校验块的数量以及所述分区中所述其他硬盘的数量确定数据块;
所述计算单元,用于基于所述纠删码机制中的校验块的数量和所述数据块计算校验块;
所述发送单元,具体用于分别向所述其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向所述其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。
15.根据权利要求9所述的客户端,其特征在于,所述检测单元,具体用于:
获取发送到所述多个存储节点的访问请求的时延;
比较所述发送到所述多个存储节点的访问请求的时延确定所述分区中所述多个硬盘的性能。
16.根据权利要求10所述的客户端,其特征在于,所述检测单元具体用于向所述第一硬盘发送访问探测请求用于确定所述第一硬盘是否属于慢盘。
17.一种分布式存储系统中的客户端,其特征在于,所述分布式存储系统包含客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端包括接口和处理器,所述接口与所述处理器通信;所述处理器用于:
检测所述分区中所述至少两块硬盘的性能;
当所述第一硬盘的性能异常但尚未确认所述第一硬盘是慢盘时,向所述分区中除所述第一硬盘外的其他一个或多个硬盘发送访问请求;所述第一硬盘为所述分区中第一存储节点上的硬盘。
18.根据权利要求17所述的客户端,其特征在于,所述处理器还用于检测性能异常的所述第一硬盘是否属于慢盘。
19.根据权利要求17所述的客户端,其特征在于,所述分区使用多副本冗余机制;所述处理器具体用于向所述分区中的第二存储节点中的第二硬盘发送读请求;所述第二硬盘存储有所述第一硬盘的数据的副本。
20.根据权利要求17所述的客户端,其特征在于,所述分区使用纠删码机制;所述处理器具体用于:
向所述分区中除所述第一硬盘外的其他硬盘发送读请求;
根据所述纠删码机制和从所述其他硬盘读出的数据恢复所述第一硬盘中的数据。
21.根据权利要求17所述的客户端,其特征在于,所述分区使用多副本冗余机制;所述处理器具体用于分别向所述分区中的其他硬盘发送携带相同数据的写请求。
22.根据权利要求17所述的客户端,其特征在于,所述分区使用纠删码机制;所述处理器,具体用于:
根据所述纠删码机制中的校验块的数量以及所述分区中所述其他硬盘的数量确定数据块;
基于所述纠删码机制中的校验块的数量和所述数据块计算校验块;
分别向所述其他硬盘中的存储校验块的硬盘发送携带校验块的写请求,向所述其他硬盘中的存储数据块的硬盘发送携带数据块的写请求。
23.根据权利要求17所述的客户端,其特征在于,所述处理器具体用于:
获取发送到所述多个存储节点的访问请求的时延;
比较所述发送到所述多个存储节点的访问请求的时延确定所述分区中所述多个硬盘的性能。
24.根据权利要求18所述的客户端,其特征在于,所述处理器具体用于向所述第一硬盘发送访问探测请求用于确定所述第一硬盘是否属于慢盘。
25.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机指令,所述计算机程序产品可以应用于分布式存储系统中的客户端,所述分布式存储系统包含所述客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端的处理器执行所述计算机指令用于实现权利要求1至8任一所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包含计算机指令,所述计算机可读存储介质可以应用于分布式存储系统中的客户端,所述分布式存储系统包含所述客户端和多个存储节点,每一个存储节点包含硬盘;所述分布式存储系统包含分区,所述分区包含多个硬盘;所述多个硬盘分别位于不同的存储节点;所述客户端的处理器执行所述计算机指令用于实现权利要求1至8任一所述的方法。
CN201910696998.6A 2019-07-30 2019-07-30 分布式存储系统访问方法、客户端及计算机程序产品 Pending CN110554839A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910696998.6A CN110554839A (zh) 2019-07-30 2019-07-30 分布式存储系统访问方法、客户端及计算机程序产品
PCT/CN2020/100814 WO2021017782A1 (zh) 2019-07-30 2020-07-08 分布式存储系统访问方法、客户端及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910696998.6A CN110554839A (zh) 2019-07-30 2019-07-30 分布式存储系统访问方法、客户端及计算机程序产品

Publications (1)

Publication Number Publication Date
CN110554839A true CN110554839A (zh) 2019-12-10

Family

ID=68737202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910696998.6A Pending CN110554839A (zh) 2019-07-30 2019-07-30 分布式存储系统访问方法、客户端及计算机程序产品

Country Status (2)

Country Link
CN (1) CN110554839A (zh)
WO (1) WO2021017782A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400083A (zh) * 2020-03-17 2020-07-10 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
WO2021017782A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 分布式存储系统访问方法、客户端及计算机程序产品
CN113448893A (zh) * 2020-03-10 2021-09-28 联发科技股份有限公司 用于控制多个客户端访问单个存储装置的方法及装置
CN113608701A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种存储系统中数据管理方法和固态硬盘

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248975A1 (en) * 2008-03-27 2009-10-01 Asif Daud Systems and methods for managing stalled storage devices
CN103218273A (zh) * 2012-01-20 2013-07-24 深圳市腾讯计算机系统有限公司 硬盘数据恢复方法、服务器及分布式存储系统
US20160048551A1 (en) * 2014-08-14 2016-02-18 International Business Machines Corporation Relationship-based wan caching for object stores
CN106778369A (zh) * 2016-11-09 2017-05-31 百望金赋科技有限公司 一种硬盘数据访问方法、税控服务器
CN106911802A (zh) * 2017-04-18 2017-06-30 北京华云网际科技有限公司 分布式块存储系统的管理平台的部署方法和装置
CN107577441A (zh) * 2017-10-17 2018-01-12 郑州云海信息技术有限公司 一种osd慢盘处理方法、系统、装置及计算机存储介质
CN107656695A (zh) * 2016-07-25 2018-02-02 杭州海康威视数字技术股份有限公司 一种数据存储、删除方法、装置及分布式存储系统
CN109104299A (zh) * 2018-07-11 2018-12-28 新华三技术有限公司成都分公司 降低集群震荡的方法及装置
CN109274544A (zh) * 2018-12-11 2019-01-25 浪潮(北京)电子信息产业有限公司 一种分布式存储系统的故障检测方法及装置
US20190058719A1 (en) * 2017-08-21 2019-02-21 Cognizant Technology Solutions India Pvt. Ltd. System and a method for detecting anomalous activities in a blockchain network
CN109426592A (zh) * 2017-08-24 2019-03-05 上海交通大学 一种磁盘检测方法
CN109992220A (zh) * 2019-04-12 2019-07-09 苏州浪潮智能科技有限公司 一种锁释放方法、装置、设备及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294314A1 (en) * 2006-06-16 2007-12-20 Michael Padovano Bitmap based synchronization
CN108984107B (zh) * 2017-06-02 2021-06-29 伊姆西Ip控股有限责任公司 提高存储系统的可用性
CN107908370B (zh) * 2017-11-30 2021-07-06 新华三技术有限公司 数据存储方法及装置
CN109582514A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种硬盘筛选方法、装置、设备及可读存储介质
CN110554839A (zh) * 2019-07-30 2019-12-10 华为技术有限公司 分布式存储系统访问方法、客户端及计算机程序产品

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248975A1 (en) * 2008-03-27 2009-10-01 Asif Daud Systems and methods for managing stalled storage devices
CN103218273A (zh) * 2012-01-20 2013-07-24 深圳市腾讯计算机系统有限公司 硬盘数据恢复方法、服务器及分布式存储系统
US20160048551A1 (en) * 2014-08-14 2016-02-18 International Business Machines Corporation Relationship-based wan caching for object stores
CN107656695A (zh) * 2016-07-25 2018-02-02 杭州海康威视数字技术股份有限公司 一种数据存储、删除方法、装置及分布式存储系统
CN106778369A (zh) * 2016-11-09 2017-05-31 百望金赋科技有限公司 一种硬盘数据访问方法、税控服务器
CN106911802A (zh) * 2017-04-18 2017-06-30 北京华云网际科技有限公司 分布式块存储系统的管理平台的部署方法和装置
US20190058719A1 (en) * 2017-08-21 2019-02-21 Cognizant Technology Solutions India Pvt. Ltd. System and a method for detecting anomalous activities in a blockchain network
CN109426592A (zh) * 2017-08-24 2019-03-05 上海交通大学 一种磁盘检测方法
CN107577441A (zh) * 2017-10-17 2018-01-12 郑州云海信息技术有限公司 一种osd慢盘处理方法、系统、装置及计算机存储介质
CN109104299A (zh) * 2018-07-11 2018-12-28 新华三技术有限公司成都分公司 降低集群震荡的方法及装置
CN109274544A (zh) * 2018-12-11 2019-01-25 浪潮(北京)电子信息产业有限公司 一种分布式存储系统的故障检测方法及装置
CN109992220A (zh) * 2019-04-12 2019-07-09 苏州浪潮智能科技有限公司 一种锁释放方法、装置、设备及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021017782A1 (zh) * 2019-07-30 2021-02-04 华为技术有限公司 分布式存储系统访问方法、客户端及计算机程序产品
CN113448893A (zh) * 2020-03-10 2021-09-28 联发科技股份有限公司 用于控制多个客户端访问单个存储装置的方法及装置
CN111400083A (zh) * 2020-03-17 2020-07-10 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
CN111400083B (zh) * 2020-03-17 2024-02-23 上海七牛信息技术有限公司 数据存储方法及系统、存储介质
CN113608701A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种存储系统中数据管理方法和固态硬盘

Also Published As

Publication number Publication date
WO2021017782A1 (zh) 2021-02-04

Similar Documents

Publication Publication Date Title
US9389975B2 (en) Method and apparatus to utilize large capacity disk drives
EP3188449B1 (en) Method and system for sharing storage resource
CN110554839A (zh) 分布式存储系统访问方法、客户端及计算机程序产品
US20080282047A1 (en) Methods and apparatus to backup and restore data for virtualized storage area
US10459652B2 (en) Evacuating blades in a storage array that includes a plurality of blades
US11709603B2 (en) Multi-tier write allocation
US10521143B2 (en) Composite aggregate architecture
US10884622B2 (en) Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
US11899533B2 (en) Stripe reassembling method in storage system and stripe server
CN111949210A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
EP3495939B1 (en) Method and device for storing data in distributed block storage system, and computer readable storage medium
US20210318826A1 (en) Data Storage Method and Apparatus in Distributed Storage System, and Computer Program Product
US20210271393A1 (en) Method and apparatus for performing data access management of all flash array server
US20210311654A1 (en) Distributed Storage System and Computer Program Product
US8935488B2 (en) Storage system and storage control method
US11409666B2 (en) Techniques for providing I/O hints using I/O flags
JP6605762B2 (ja) 記憶ドライブの故障により消失したデータを復元する装置
US9778850B1 (en) Techniques for zeroing non-user data areas on allocation

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