CN116501263B - 数据存储装置、服务器、数据存储方法、电子设备和介质 - Google Patents

数据存储装置、服务器、数据存储方法、电子设备和介质 Download PDF

Info

Publication number
CN116501263B
CN116501263B CN202310738226.0A CN202310738226A CN116501263B CN 116501263 B CN116501263 B CN 116501263B CN 202310738226 A CN202310738226 A CN 202310738226A CN 116501263 B CN116501263 B CN 116501263B
Authority
CN
China
Prior art keywords
data
disk
written
disk array
control card
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
CN202310738226.0A
Other languages
English (en)
Other versions
CN116501263A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310738226.0A priority Critical patent/CN116501263B/zh
Publication of CN116501263A publication Critical patent/CN116501263A/zh
Application granted granted Critical
Publication of CN116501263B publication Critical patent/CN116501263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/062Securing storage systems
    • 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/0629Configuration or reconfiguration of storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储装置、服务器、数据存储方法、电子设备和介质,涉及计算机技术领域,其中装置包括:第一磁盘阵列控制卡、第二磁盘阵列控制卡和磁盘阵列;第一磁盘阵列控制卡与磁盘阵列连接;第二磁盘阵列控制卡与第一磁盘阵列控制卡连接;第一磁盘阵列控制卡用于在监测到目标磁盘从磁盘阵列拔出的情况下,确定待写入数据在目标磁盘中对应的逻辑分区标识,并将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡进行保存;在监测到目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡中获取待写入数据与逻辑分区标识,并基于逻辑分区标识,将待写入数据写入目标磁盘。本申请公开的方法和装置,提高了磁盘阵列存储数据的安全性。

Description

数据存储装置、服务器、数据存储方法、电子设备和介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据存储装置、服务器、数据存储方法、电子设备和介质。
背景技术
磁盘阵列(Redundant Arrays of Independent Disks,RAID)是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,可以将数据切割成许多区段,分别存放在各个磁盘上。
RAID控制卡就是将服务器连接的多个磁盘按照RAID级别组织成一个或多个RAID阵列,用户在RAID控制卡上创建一个或者多个指定容量的逻辑卷来供主机作为块设备使用,因此RAID控制卡是实现将服务器连接的磁盘按照RAID控制级别组织成RAID阵列功能的控制板卡。
用户在使用RAID控制卡连接的磁盘组时,用户层的操作包含了磁盘的插入和拔出、RAID阵列的创建与删除等操作,其中磁盘的插入和拔出操作频率较高。由于用户执行的操作不可避免地会带有一定概率的误操作,比如对磁盘的误拔出将导致重要的数据不可恢复,这会导致严重的数据安全问题。
因此,如何提高RAID阵列存储数据的安全性成为业界亟待解决的技术问题。
发明内容
本申请提供一种数据存储装置、服务器、数据存储方法、电子设备和介质,用于解决如何提高RAID阵列存储数据的安全性的技术问题。
本申请提供一种数据存储装置,包括第一磁盘阵列控制卡、第二磁盘阵列控制卡和磁盘阵列;
所述第一磁盘阵列控制卡与所述磁盘阵列连接;所述第二磁盘阵列控制卡与所述第一磁盘阵列控制卡连接;
所述第一磁盘阵列控制卡用于在监测到目标磁盘从所述磁盘阵列拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识,并将所述待写入数据与所述逻辑分区标识发送至所述第二磁盘阵列控制卡进行保存;在监测到所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,并基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘。
在一些实施例中,所述第一磁盘阵列控制卡还用于在监测到新磁盘插入所述目标磁盘的磁盘位置的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,并基于所述逻辑分区标识,将所述待写入数据写入所述新磁盘。
在一些实施例中,所述第一磁盘阵列控制卡包括:
数据记录模块,用于在监测到所述目标磁盘从所述磁盘阵列拔出的情况下,生成所述目标磁盘的各个分区对应的逻辑分区标识。
在一些实施例中,所述数据记录模块还用于:
确定所述待写入数据在所述目标磁盘中对应的待写入分区;
基于所述目标磁盘的各个分区对应的逻辑分区标识,确定所述待写入分区的逻辑分区标识;
将所述待写入分区的逻辑分区标识添加至所述待写入数据的数据尾部或者数据头部,生成待保存数据;
将所述待保存数据发送至所述第二磁盘阵列控制卡进行保存。
在一些实施例中,所述第一磁盘阵列控制卡还包括:
磁盘读写模块,用于在监测到所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待保存数据;
对所述待保存数据进行解析,确定所述待写入数据和所述待写入分区的逻辑分区标识;
基于所述待写入分区的逻辑分区标识,将所述待写入数据写入所述目标磁盘中的待写入分区。
在一些实施例中,所述第一磁盘阵列控制卡还包括:
磁盘监测模块,用于对所述磁盘阵列中各个磁盘的连接状态进行循环监测,基于各个磁盘的连接状态确定所述目标磁盘。
在一些实施例中,所述第二磁盘阵列控制卡包括:
数据保存模块,用于保存所述待写入数据,以及所述待写入数据对应的逻辑分区标识。
在一些实施例中,所述逻辑分区标识为逻辑卷标识元数据;
各个分区对应的逻辑卷标识元数据至少包括各个分区在所述目标磁盘中的分区序号、各个分区的逻辑卷序号以及各个分区在所述磁盘阵列中的条带序号。
在一些实施例中,所述第一磁盘阵列控制卡还用于基于一维数组对各个分区对应的逻辑卷标识元数据进行保存。
在一些实施例中,所述磁盘阵列包括多个磁盘组;各个磁盘组的磁盘阵列级别不同。
在一些实施例中,所述第一磁盘阵列控制卡和所述第二磁盘阵列控制卡的连接方式包括以太网光纤通道连接、以太网通道连接、计算机系统接口通道连接和光纤通道连接中的至少一种。
本申请提供一种服务器,包括所述的数据存储装置。
本申请提供一种数据存储方法,应用于所述的数据存储装置中的第一磁盘阵列控制卡,包括:
在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识;
将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存;
在确定所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识;
基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘。
在一些实施例中,所述在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识之前,所述方法还包括:
对所述磁盘阵列中各个磁盘的连接状态进行循环监测;
将连接状态为未连接的磁盘确定为所述目标磁盘。
在一些实施例中,所述确定待写入数据在所述目标磁盘中对应的逻辑分区标识,包括:
确定所述待写入数据在所述目标磁盘中的待写入分区;
基于所述待写入分区,以及所述目标磁盘的各个分区对应的逻辑分区标识,确定所述待写入分区的逻辑分区标识;
将所述待写入分区的逻辑分区标识确定为所述待写入数据对应的逻辑分区标识。
在一些实施例中,所述将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存,包括:
将所述逻辑分区标识添加至所述待写入数据的数据尾部或者数据头部,生成待保存数据;
将所述待保存数据发送至第二磁盘阵列控制卡;
接收所述第二磁盘阵列控制卡发送的应答消息;所述应答消息用于表示所述第二磁盘阵列控制卡已接收所述待保存数据。
在一些实施例中,所述从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,包括:
向所述第二磁盘阵列控制卡发送数据恢复请求;
接收所述第二磁盘阵列控制卡基于所述数据恢复请求发送的待保存数据;
对所述待保存数据进行解析,确定所述待写入数据,以及所述待写入数据对应的逻辑分区标识。
在一些实施例中,所述基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘,包括:
基于所述逻辑分区标识,确定所述待写入数据在所述目标磁盘中对应的待写入分区;
将所述待写入数据写入所述目标磁盘中的待写入分区。
在一些实施例中,所述将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存之后,所述方法还包括:
接收数据读取请求;
确定所述数据读取请求中目标数据对应的逻辑分区标识;
将所述目标数据对应的逻辑分区标识与所述目标磁盘中各个分区的逻辑分区标识进行匹配,从所述第二磁盘阵列控制卡中获取匹配的逻辑分区标识对应的待写入数据;
将所述待写入数据作为所述目标数据。
本申请提供一种数据存储方法,应用于所述的数据存储装置中的第二磁盘阵列控制卡,包括:
接收第一磁盘阵列控制卡发送的待写入数据,以及所述待写入数据在目标磁盘中对应的逻辑分区标识;
向所述第一磁盘阵列控制卡发送应答消息;所述应答消息用于表示所述第二磁盘阵列控制卡已接收所述待写入数据和所述逻辑分区标识;
保存所述待写入数据和所述逻辑分区标识。
在一些实施例中,所述保存所述待写入数据和所述逻辑分区标识之后,所述方法还包括:
接收所述第一磁盘阵列控制卡发送的数据恢复请求;
对所述数据恢复请求进行解析,确定所述目标磁盘对应的待写入数据,以及所述待写入数据对应的逻辑分区标识;
将所述待写入数据和所述逻辑分区标识发送至所述第一磁盘阵列控制卡,以供所述第一磁盘阵列控制卡基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘。
本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的数据存储方法。
本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据存储方法。
本申请提供的数据存储装置、服务器、数据存储方法、电子设备和介质,第一磁盘阵列控制卡与磁盘阵列连接;第二磁盘阵列控制卡与第一磁盘阵列控制卡连接;由于数据存储装置采用了两张磁盘阵列控制卡对磁盘阵列进行控制,第一磁盘阵列控制卡在目标磁盘被拔出后可以确定目标磁盘对应的待写入数据,并确定待写入数据的逻辑分区标识;在目标磁盘插回后,可以根据逻辑分区标识,将待写入数据写入目标磁盘中的对应位置;第二磁盘阵列控制卡在目标磁盘被拔出后能够存储待写入数据和逻辑分区标识;使得数据存储装置在目标磁盘被用户误拔出的时候,可以对待写入数据进行有效地保存,避免数据的丢失,并在目标磁盘被插回时进行精确地恢复,能够适用于磁盘阵列失效的场景,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据存储装置的结构示意图;
图2是本申请提供的第一磁盘阵列控制卡的结构示意图之一;
图3是本申请提供的第一磁盘阵列控制卡的结构示意图之二;
图4是本申请提供的第一磁盘阵列控制卡的结构示意图之三;
图5是本申请提供的第二磁盘阵列控制卡的结构示意图;
图6是本申请提供的逻辑卷标识元数据的数据结构示意图;
图7是本申请提供的逻辑卷标识元数据的组织方式示意图;
图8是本申请提供的服务器的结构示意图;
图9是本申请提供的数据存储方法的流程示意图之一;
图10是本申请提供的数据存储方法的流程示意图之二;
图11是本申请提供的磁盘阵列控制卡的双控关系图;
图12是本申请提供的数据存储方法的流程示意图之三;
图13是本申请提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着大数据和人工智能技术的蓬勃发展,企业对数据存储的安全性和可靠性也是越来越严格,一旦存储在企业的用户数据发生丢失或者损坏,后果将不堪设想。如何对这些数据进行高效的存储、如何提供稳定的存储服务、如何保障数据的安全性已成为企业发展面临的最大挑战。
现有技术中存在硬件存储系统和软件存储系统。磁盘阵列控制卡(RAID控制卡)是硬件存储系统中最关键的模块。它是将服务器连接的磁盘按照RAID级别组织成RAID阵列功能的控制板卡,可以将软件存储系统中的一些算法、数据管理以及一些功能都交给硬件管理和实现,以达到提高存储系统的I/O性能和数据安全性。
目前业界使用最多的RAID5和RAID6阵列,其中RAID5阵列可以通过P校验分块恢复一块故障盘,RAID6阵列在RAID5阵列的基础上增加了Q校验分块,因而RAID6阵列可以恢复两块故障盘,并能通过给RAID阵列添加热备盘进一步提高数据的可靠性。上述都是磁盘故障或者意外掉电等物理设备异常情况下的数据恢复手段,而针对用户误操作或错误操作等一系列人为因素而造成数据丢失的数据恢复手段较少。
图1是本申请提供的数据存储装置的结构示意图,如图1所示,该装置100包括第一磁盘阵列控制卡110、第二磁盘阵列控制卡120和磁盘阵列130。
第一磁盘阵列控制卡110与磁盘阵列130连接;第二磁盘阵列控制卡120与第一磁盘阵列控制卡110连接。
第一磁盘阵列控制卡110用于在监测到目标磁盘从磁盘阵列拔出的情况下,确定待写入数据在目标磁盘中对应的逻辑分区标识,并将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡120进行保存;在监测到目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡120中获取待写入数据与逻辑分区标识,并基于逻辑分区标识,将待写入数据写入目标磁盘。
具体地,磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组。磁盘阵列可以采用不同的磁盘阵列级别(RAID级别)进行构建,包括RAID0、RAID1、RAID5和RAID6等。
磁盘阵列采用RAID1、RAID5和RAID6等RAID级别时,由于这些RAID级别的磁盘阵列具有一定的冗余能力,因此具有一定的数据恢复能力,可以保证数据的正常访问。例如,RAID5级别的磁盘阵列支持在一块磁盘被拔出后仍然可以进行数据的正常访问,并对拔出的磁盘可以进行数据恢复。但是如果有两块或者两块以上的磁盘被拔出后,磁盘阵列就会失效,无法进行数据的正常访问,也无法对拔出的磁盘进行数据恢复。
为了解决上述问题,本申请实施例提供的数据存储装置通过两张磁盘阵列控制卡共同实现数据存储控制。第一磁盘阵列控制卡可以作为主控RAID卡,第二磁盘阵列控制卡可以作为辅助RAID卡,第一磁盘阵列控制卡和第二磁盘阵列控制卡之间采用通信连接,用于传输数据和指令等。
第一磁盘阵列控制卡与磁盘阵列连接,用于将从外部主机接收到的数据写入磁盘阵列中,或者将磁盘阵列中的数据读取后发送至外部主机。外部主机可以为计算机或者计算机系统等。
第二磁盘阵列控制卡可以与磁盘阵列连接,也可以不与磁盘阵列连接。在不与磁盘阵列连接的情况下,第二磁盘阵列控制卡可以通过与第一磁盘阵列控制卡进行通信的方式,对磁盘阵列进行读写。
作为主控RAID卡,第一磁盘阵列控制卡可以对磁盘阵列中各个磁盘的连接状态进行循环监测。在任一磁盘的连接状态为未连接时,可以确定该磁盘为被拔出的目标磁盘。目标磁盘的数量可以为多块,本申请实施例对于被拔出的目标磁盘的数量不做具体限定。
在监测到目标磁盘从磁盘阵列拔出的情况下,如果外部主机继续向数据存储装置中的磁盘阵列写入数据。第一磁盘阵列控制卡可以确定需要写入目标磁盘中的待写入数据,并确定待写入数据在目标磁盘中对应的逻辑分区标识。
磁盘可以分为多个物理分区,物理分区是物理卷上的大小相同的磁盘空间。在物理分区的基础上,可以构建逻辑分区。逻辑分区可以更好地管理文件和程序等数据。逻辑卷是一个卷组内多个逻辑分区的集合。逻辑分区标识是指数据在磁盘中所在的逻辑分区的标识。
由于目标磁盘已经被拔出,第一磁盘阵列控制卡无法控制将待写入数据写入目标磁盘。此时,可以将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡进行保存。
在第二磁盘阵列控制卡中,可以设置一定的存储空间用于存储待写入数据与该待写入数据对应的逻辑分区标识。
在监测到目标磁盘插回磁盘阵列的情况下,第一磁盘阵列控制卡可以从第二磁盘阵列控制卡中读取待写入数据与逻辑分区标识,根据逻辑分区标识,将待写入数据写入目标磁盘,从而实现对目标磁盘上的数据进行精准恢复。
本申请实施例提供的数据存储装置,第一磁盘阵列控制卡与磁盘阵列连接;第二磁盘阵列控制卡与第一磁盘阵列控制卡连接;由于数据存储装置采用了两张磁盘阵列控制卡对磁盘阵列进行控制,第一磁盘阵列控制卡在目标磁盘被拔出后可以确定目标磁盘对应的待写入数据,并确定待写入数据的逻辑分区标识;在目标磁盘插回后,可以根据逻辑分区标识,将待写入数据写入目标磁盘中的对应位置;第二磁盘阵列控制卡在目标磁盘被拔出后能够存储待写入数据和逻辑分区标识;使得数据存储装置在目标磁盘被用户误拔出的时候,可以对待写入数据进行有效地保存,避免数据的丢失,并在目标磁盘被插回时进行精确地恢复,能够适用于磁盘阵列失效的场景,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,第一磁盘阵列控制卡还用于在监测到新磁盘插入目标磁盘的磁盘位置的情况下,从第二磁盘阵列控制卡中获取待写入数据与逻辑分区标识,并基于逻辑分区标识,将待写入数据写入新磁盘。
具体地,用户可以从磁盘阵列中拔出目标磁盘,并在目标磁盘在磁盘阵列中的磁盘位置处重新插入新磁盘。新磁盘将作为目标磁盘的替换磁盘。
第一磁盘阵列控制卡在监测到新磁盘插入目标磁盘的磁盘位置后,从第二磁盘阵列控制卡中获取待写入数据,以及待写入数据对应的逻辑分区标识。根据逻辑分区标识,第一磁盘阵列控制卡可以确定待写入数据在新磁盘中的写入位置,并将待写入数据写入对应的写入位置。
在写入待写入数据并进行保存后,新磁盘完成了对目标磁盘的替换,在目标磁盘被拔出的时间段内,外部主机写入的数据在新磁盘中得到了有效地保存,避免了因磁盘被拔出导致的数据丢失。
本申请实施例提供的数据存储装置,在目标磁盘被拔出的位置插入新磁盘,第一磁盘阵列控制卡可以从第二磁盘阵列控制卡中获取待写入数据和逻辑分区标识,将数据写入新磁盘,可以对待写入数据进行有效地保存,避免了数据的丢失,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
在一些实施例中,图2是本申请提供的第一磁盘阵列控制卡的结构示意图,如图2所示,第一磁盘阵列控制卡110包括:
数据记录模块111,用于在监测到目标磁盘从磁盘阵列拔出的情况下,生成目标磁盘的各个分区对应的逻辑分区标识。
具体地,可以在第一磁盘阵列控制卡中设置数据记录模块。数据记录模块可以是第一磁盘阵列控制卡中单独设置的硬件模块,也可以是在第一磁盘阵列控制卡的控制器中运行的数据记录程序。
在监测到目标磁盘从磁盘阵列拔出的情况下,数据记录模块可以根据目标磁盘中各个分区的分区序号、分区所属的逻辑卷和分区所属的条带号等,生成各个分区对应的逻辑分区标识,实现对各个分区在目标磁盘中的位置,以及在磁盘阵列中的位置进行标识。
所生成的逻辑分区标识可以用来对目标磁盘中将要写入的数据的写入位置进行标识。根据逻辑分区标识,可以确定将要写入的数据在目标磁盘中的写入位置。
本申请实施例提供的数据存储装置,在目标磁盘从磁盘阵列拔出时,生成目标磁盘的各个分区对应的逻辑分区标识,可以用来对目标磁盘在拔出期间所要写入的数据的写入位置进行标识,对待写入数据进行有效地管理,避免了因磁盘被拔出导致的数据丢失。
在一些实施例中,数据记录模块还用于:
确定待写入数据在目标磁盘中对应的待写入分区;
基于目标磁盘的各个分区对应的逻辑分区标识,确定待写入分区的逻辑分区标识;
将待写入分区的逻辑分区标识添加至待写入数据的数据尾部或者数据头部,生成待保存数据;
将待保存数据发送至第二磁盘阵列控制卡进行保存。
具体地,待写入分区为待写入数据在目标磁盘中对应的写入位置。在第一磁盘阵列控制卡接收到待写入数据后,第一磁盘阵列控制卡可以根据磁盘阵列中预先设置的数据存储规则,确定待写入数据在目标磁盘中对应的待写入分区。
数据记录模块根据目标磁盘的各个分区对应的逻辑分区标识,确定待写入分区的逻辑分区标识,然后将待写入分区的逻辑分区标识添加至待写入数据中,添加位置可以包括数据头部或者数据尾部,生成待保存数据。例如,目标磁盘为RAID6级别的磁盘阵列中的8号磁盘,该磁盘共有10个分区,分别为Q1分区、D4分区、D6分区、P4分区、Q5分区、D12分区、D14分区、P8分区、Q9分区和D20分区。第一磁盘阵列控制卡接收到需要写入Q1分区的待写入数据,因8号磁盘被拔出而暂时无法写入,此时数据记录模块可以将Q1分区对应的逻辑分区标识添加至待写入数据的数据末尾。添加标识后的待写入数据将作为待保存数据。
数据记录模块将待保存数据发送至第二磁盘阵列控制卡,由第二磁盘阵列控制卡进行保存。
本申请实施例提供的数据存储装置,在目标磁盘被拔出的情况下,数据记录模块将待写入分区的逻辑分区标识添加至待写入数据中,并将标识和数据一并发送至第二磁盘阵列控制卡进行保存,避免了因磁盘被拔出导致的数据丢失。
在一些实施例中,图3是本申请提供的第一磁盘阵列控制卡的结构示意图之二,如图3所示,第一磁盘阵列控制卡110还包括:
磁盘读写模块112,用于在监测到目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡中获取待保存数据;
对待保存数据进行解析,确定待写入数据和待写入分区的逻辑分区标识;
基于待写入分区的逻辑分区标识,将待写入数据写入目标磁盘中的待写入分区。
具体地,在第一磁盘阵列控制卡监测到目标磁盘插回磁盘阵列的情况下,磁盘读写模块可以向第二磁盘阵列控制卡发送数据恢复请求,用于获取待保存数据。第二磁盘阵列控制卡在接收数据恢复请求后,可以将待保存数据发送至第一磁盘阵列控制卡中的磁盘读写模块。
磁盘读写模块对待保存数据进行解析,从待保存数据中提取待写入数据和待写入分区的逻辑分区标识,根据逻辑分区标识,在目标磁盘中确定待写入分区,并将待写入数据写入待写入分区。
本申请实施例提供的数据存储装置,在监测到目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡中获取待保存数据,将待写入数据写入对应的待写入分区,实现了对目标磁盘中的数据进行精确地恢复,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
在一些实施例中,图4是本申请提供的第一磁盘阵列控制卡的结构示意图之三,如图4所示,第一磁盘阵列控制卡110还包括:
磁盘监测模块113,用于对磁盘阵列中各个磁盘的连接状态进行循环监测,基于各个磁盘的连接状态确定目标磁盘。
具体地,磁盘监测模块可以采用循环判断的方法,对各个磁盘的连接状态进行监测。
例如,磁盘监测模块可以建立一个定时器线程,按照设定的循环时间获取各个磁盘的连接状态,并根据连接状态判断是否有磁盘的连接状态为未连接,如有,则将其确定为目标磁盘。
本申请实施例提供的数据存储装置,通过对磁盘阵列中各个磁盘的连接状态进行循环监测,可以及时发现被拔出的目标磁盘,避免了因磁盘被拔出导致的数据丢失。
在一些实施例中,图5是本申请提供的第二磁盘阵列控制卡的结构示意图,如图5所示,第二磁盘阵列控制卡120包括:
数据保存模块121,用于保存待写入数据,以及待写入数据对应的逻辑分区标识。
具体地,可以在第二磁盘阵列控制卡中设置数据保存模块。数据保存模块用于保存待写入数据和对应的逻辑分区标识。
数据保存模块的数据存储容量大小可以根据实际需求进行设置。例如,可以计算数据存储装置在单位时间内写入数据量的平均值,确定在磁盘阵列中可能存在同时被拔出的磁盘数量,以及磁盘被插回的时间,将以上数据相乘后,可以得到参考值,根据该参考值,可以对数据保存模块的数据存储容量大小进行设置。
本申请实施例提供的数据存储装置,在第二磁盘阵列控制卡中设置数据保存模块,可以对目标磁盘被拔出期间的写入数据进行保存,不会占用第一磁盘阵列控制卡的存储空间,使得第一磁盘阵列控制卡可以专注于磁盘阵列中数据的读写处理,提高了整个数据存储装置的数据读写性能。
在一些实施例中,逻辑分区标识为逻辑卷标识元数据;
各个分区对应的逻辑卷标识元数据至少包括各个分区在目标磁盘中的分区序号、各个分区的逻辑卷序号以及各个分区在磁盘阵列中的条带序号。
具体地,逻辑卷标识元数据,是指对分区在磁盘阵列中所属的逻辑卷等位置信息进行描述的中介数据。可以采用逻辑卷标识元数据作为逻辑分区标识,对各个分区在磁盘阵列中的位置信息进行标识。
图6是本申请提供的逻辑卷标识元数据的数据结构示意图,如图6所示,任一分区对应的逻辑卷标识元数据至少包括该分区在目标磁盘中的分区序号、该分区的逻辑卷序号以及该分区在磁盘阵列中的条带序号。
分区序号用于表示该分区在目标磁盘中的分区位置;逻辑卷序号用于表示该分区所属的逻辑卷(Logical Volume);条带序号用于表示该分区在目标磁盘所属的磁盘阵列中所属的条带(Stripe)。
逻辑卷标识元数据还可以包括逻辑卷标识元数据识别号(Identity document,ID)。该识别号可以用于对多个逻辑卷标识元数据进行管理。
本申请实施例提供的数据存储装置,采用逻辑卷标识元数据作为逻辑分区标识,对各个分区在磁盘阵列中的位置信息进行标识,可以将逻辑分区标识作为元数据加入待写入数据,便于对待写入数据进行管理,提高了整个数据存储装置的数据读写性能。
在一些实施例中,第一磁盘阵列控制卡还用于基于一维数组对各个分区对应的逻辑卷标识元数据进行保存。
具体地,图7是本申请提供的逻辑卷标识元数据的组织方式示意图,如图7所示,第一磁盘阵列控制卡可以以各个分区对应的逻辑卷标识元数据为数据元素,创建一维数组,对逻辑卷标识元数据进行保存。
在一维数组中,各个逻辑卷标识元数据可以按照分区序号的大小进行排列。
在磁盘阵列中,如果存在多个目标磁盘,则可以为各个目标磁盘分别创建对应的一维数组,对各个目标磁盘中各个分区对应的逻辑卷标识元数据进行组织和保存。
本申请实施例提供的数据存储装置,创建一维数组对目标磁盘中各个分区对应的逻辑卷标识元数据进行保存,便于检索和查询,提高了整个数据存储装置的数据读写性能。
在一些实施例中,磁盘阵列包括多个磁盘组;各个磁盘组的磁盘阵列级别不同。
具体地,本申请实施例中的磁盘阵列可以包括多个不同磁盘阵列级别的磁盘组。例如,第一磁盘阵列控制卡可以连接三个磁盘阵列,对应的磁盘阵列级别分别为RAID0、RAID5和RAID6。在各个磁盘阵列级别下,各个磁盘阵列又是由多个磁盘构成。本申请实施例对于磁盘组的数量和各个磁盘组对应的磁盘阵列级别不做具体限定。
本申请实施例提供的数据存储装置,适用于不同磁盘阵列级别的磁盘阵列,使用范围广。
在一些实施例中,第一磁盘阵列控制卡和第二磁盘阵列控制卡的连接方式包括以太网光纤通道连接、以太网通道连接、计算机系统接口通道连接和光纤通道连接中的至少一种。
具体地,第一磁盘阵列控制卡和第二磁盘阵列控制卡上可以设置网络通信接口,采用以太网光纤通道(Fiber Channel over Ethernet,FCoE)、以太网通道(EthernetChannel)、互联网小型计算机系统接口通道(Internet Small Computer SystemInterface,iSCSI)和光纤通道中的至少一种进行连接,实现数据的双向传输。
本申请实施例提供的数据存储装置,第一磁盘阵列控制卡和第二磁盘阵列控制卡之间采用多种通道进行双向数据传输,提高了磁盘阵列控制卡的数据传输能力,提高了整个数据存储装置的数据读写性能。
图8是本申请提供的服务器的结构示意图,如图8所示,该服务器800包括上述实施例中的数据存储装置100。
具体地,本申请实施例中的服务器包括塔式服务器、机架式服务器、刀片式服务器、高密度服务器、机柜式服务器等。在服务器中,可以配置至少一个数据存储装置。
本申请实施例提供的服务器,在目标磁盘被用户误拔出的时候,可以对待写入数据进行有效地保存,避免数据的丢失,并在目标磁盘被插回时进行精确地恢复,能够适用于磁盘阵列失效的场景,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
图9是本申请提供的数据存储方法的流程示意图之一,如图9所示,该方法的执行主体为上述实施例中数据存储装置中的第一磁盘阵列控制卡,包括步骤910、步骤920、步骤930和步骤940。
步骤910、在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在目标磁盘中对应的逻辑分区标识;
步骤920、将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡进行保存;
步骤930、在确定目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡中获取待写入数据与逻辑分区标识;
步骤940、基于逻辑分区标识,将待写入数据写入目标磁盘。
具体地,第一磁盘阵列控制卡对各个磁盘的连接状态进行监测。在监测到目标磁盘从磁盘阵列拔出的情况下,如果外部主机继续向数据存储装置中的磁盘阵列写入数据。第一磁盘阵列控制卡可以确定需要写入目标磁盘中的待写入数据,并确定待写入数据在目标磁盘中对应的逻辑分区标识。
由于目标磁盘已经被拔出,第一磁盘阵列控制卡无法控制将待写入数据写入目标磁盘。此时,可以将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡进行保存。第二磁盘阵列控制卡中的数据保存模块用于存储待写入数据与该待写入数据对应的逻辑分区标识。
在监测到目标磁盘插回磁盘阵列的情况下,第一磁盘阵列控制卡可以从第二磁盘阵列控制卡中读取待写入数据与逻辑分区标识,根据逻辑分区标识,将待写入数据写入目标磁盘,从而实现对目标磁盘上的数据进行精准恢复。
本申请实施例提供的数据存储方法,在目标磁盘被拔出后可以确定目标磁盘对应的待写入数据,并确定待写入数据的逻辑分区标识;在目标磁盘插回后,可以根据逻辑分区标识,将待写入数据写入目标磁盘中的对应位置;使得数据存储装置在目标磁盘被用户误拔出的时候,可以对待写入数据进行有效地保存,避免数据的丢失,并在目标磁盘被插回时进行精确地恢复,能够适用于磁盘阵列失效的场景,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,步骤910之前包括:
对磁盘阵列中各个磁盘的连接状态进行循环监测;
将连接状态为未连接的磁盘确定为目标磁盘。
具体地,第一磁盘阵列控制卡可以建立一个定时器线程,按照设定的时间间隔,对各个磁盘进行循环监测,获取各个磁盘的连接状态,并根据连接状态判断是否有磁盘的连接状态为未连接,如有,则将其确定为目标磁盘。
本申请实施例提供的数据存储方法,通过对磁盘阵列中各个磁盘的连接状态进行循环监测,可以及时发现被拔出的目标磁盘,避免了因磁盘被拔出导致的数据丢失。
在一些实施例中,步骤910包括:
确定待写入数据在目标磁盘中的待写入分区;
基于待写入分区,以及目标磁盘的各个分区对应的逻辑分区标识,确定待写入分区的逻辑分区标识;
将待写入分区的逻辑分区标识确定为待写入数据对应的逻辑分区标识。
具体地,在第一磁盘阵列控制卡接收到待写入数据后,第一磁盘阵列控制卡可以根据磁盘阵列中预先设置的数据存储规则,确定待写入数据在目标磁盘中对应的待写入分区。
根据目标磁盘的各个分区对应的逻辑分区标识,确定待写入分区的逻辑分区标识。待写入分区的逻辑分区标识,即是待写入数据对应的逻辑分区标识。
本申请实施例提供的数据存储方法,根据待写入数据对应的待写入分区,以及目标磁盘的各个分区对应的逻辑分区标识,确定待写入数据对应的逻辑分区标识,有利于实现数据的精确恢复。
在一些实施例中,步骤920包括:
将逻辑分区标识添加至待写入数据的数据尾部或者数据头部,生成待保存数据;
将待保存数据发送至第二磁盘阵列控制卡;
接收第二磁盘阵列控制卡发送的应答消息;应答消息用于表示第二磁盘阵列控制卡已接收待保存数据。
具体地,可以将待写入数据对应的逻辑分区标识添加至待写入数据中,生成待保存数据。具体的加入位置可以选择待写入数据的数据尾部或者数据头部,既便于逻辑分区标识的加入和提取,也使得待写入数据可以保持数据的完整性。
第一磁盘阵列控制卡将待保存数据发送至第二磁盘阵列控制卡。第二磁盘阵列控制卡在接收所有的待保存数据后,可以向第一磁盘阵列控制卡发送应答消息。该消息表示第二磁盘阵列控制卡已接收待保存数据,并进行保存。
本申请实施例提供的数据存储方法,通过第二磁盘阵列控制卡对目标磁盘被拔出期间的待写入数据进行保存,不会占用第一磁盘阵列控制卡的存储空间,使得第一磁盘阵列控制卡可以专注于磁盘阵列中数据的读写处理,提高了整个数据存储装置的数据读写性能。
在一些实施例中,步骤930包括:
向第二磁盘阵列控制卡发送数据恢复请求;
接收第二磁盘阵列控制卡基于数据恢复请求发送的待保存数据;
对待保存数据进行解析,确定待写入数据,以及待写入数据对应的逻辑分区标识。
具体地,在确定目标磁盘插回磁盘阵列的情况下,第一磁盘阵列控制卡向第二磁盘阵列控制卡发送数据恢复请求。数据恢复请求可以包括目标磁盘的识别信息等。
第二磁盘阵列控制卡根据数据恢复请求,向第一磁盘阵列控制卡发送对应的待保存数据。第一磁盘阵列控制卡对待保存数据进行解析,从而得到待写入数据,以及待写入数据对应的逻辑分区标识。
本申请实施例提供的数据存储方法,在目标磁盘被插回时进行精确地恢复,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
在一些实施例中,步骤940包括:
基于逻辑分区标识,确定待写入数据在目标磁盘中对应的待写入分区;
将待写入数据写入目标磁盘中的待写入分区。
具体地,根据逻辑分区标识,第一磁盘阵列控制卡可以确定待写入数据在目标磁盘中对应的待写入分区,并将待写入数据写入待写入分区,实现对目标磁盘中数据的精确恢复。
在一些实施例中,步骤920之后包括:
接收数据读取请求;
确定数据读取请求中目标数据对应的逻辑分区标识;
将目标数据对应的逻辑分区标识与目标磁盘中各个分区的逻辑分区标识进行匹配,从第二磁盘阵列控制卡中获取匹配的逻辑分区标识对应的待写入数据;
将待写入数据作为目标数据。
具体地,在目标磁盘被拔出的期间,还可能存在需要读取待写入信息的情形。此时,可以从第二磁盘阵列控制卡获取待写入数据。
第一磁盘阵列控制卡获取外部主机发送的数据读取请求。对数据读取请求进行解析,可以确定需要读取的目标数据。
如果目标数据位于目标磁盘中,第一磁盘阵列控制卡可以根据目标数据的存储位置和数据存储规则,确定目标数据对应的逻辑分区标识。将目标数据对应的逻辑分区标识与目标磁盘中各个分区的逻辑分区标识进行匹配,确定匹配的逻辑分区标识。根据匹配的逻辑分区标识,可以从第二磁盘阵列控制卡中获取对应的待写入数据。所获取的待写入数据即是外部主机需要读取的目标数据。
本申请实施例提供的数据存储方法,在目标磁盘被拔出时,可以利用在第二磁盘阵列控制卡中保存的待写入数据为外部主机提供数据服务,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
图10是本申请提供的数据存储方法的流程示意图之二,如图10所示,该方法的执行主体为上述实施例中数据存储装置中的第二磁盘阵列控制卡,该方法包括步骤1010、步骤1020和步骤1030。
步骤1010、接收第一磁盘阵列控制卡发送的待写入数据,以及待写入数据在目标磁盘中对应的逻辑分区标识;
步骤1020、向第一磁盘阵列控制卡发送应答消息;应答消息用于表征第二磁盘阵列控制卡已接收待写入数据和逻辑分区标识;
步骤1030、保存待写入数据和逻辑分区标识。
本申请实施例提供的数据存储方法,在第二磁盘阵列控制卡中保存待写入数据和逻辑分区标识,不会占用第一磁盘阵列控制卡的存储空间,使得第一磁盘阵列控制卡可以专注于磁盘阵列中数据的读写处理,提高了整个数据存储装置的数据读写性能。
在一些实施例中,步骤1030之后包括:
接收第一磁盘阵列控制卡发送的数据恢复请求;
对数据恢复请求进行解析,确定目标磁盘对应的待写入数据,以及待写入数据对应的逻辑分区标识;
将待写入数据和逻辑分区标识发送至第一磁盘阵列控制卡,以供第一磁盘阵列控制卡基于逻辑分区标识,将待写入数据写入目标磁盘。
本申请实施例提供的数据存储方法,在目标磁盘被插回时,通过第一磁盘阵列控制卡和第二磁盘阵列控制卡进行交互,从第二磁盘阵列控制卡中获取待写入数据和对应的逻辑分区标识,对目标磁盘中的数据进行精确地恢复,提高了数据存储服务的稳定性,提高了磁盘阵列存储数据的安全性。
图11是本申请提供的磁盘阵列控制卡的双控关系图,如图11所示,第一磁盘阵列控制卡作为主控RAID卡,第二磁盘阵列控制卡作为辅助RAID卡,两张控制卡和连接的磁盘阵列构成了一个存储节点,由多个存储节点可以构成一个存储集群。
两张控制卡的内部构件大致相同,均设置有固件层140、控制器150、网络接口160和缓存170等。固件层140包括驱动程序、RAID卡内核和文件系统等。RAID卡内核和文件系统可以提供对文件和逻辑单元号(Logical Unit Number,LUN)访问的功能,以及对这些功能的管理。RAID卡中固件层的内核执行一些程序指令,用于处理主机I/O请求。RAID卡控制器150负责一部分软件层面的逻辑处理,缓存170(cache)负责部分热数据的暂存工作。网络接口160负责设备之间的网络连接。
主控RAID卡与多个不同磁盘阵列级别的磁盘组连接,包括RAID0阵列131、RAID1阵列132、RAID5阵列133和RAID6阵列134等。
不同的是,在主控RAID卡中,可以设置数据记录模块。在辅助RAID卡中,可以设置数据保存模块。
当出现磁盘被用户误拔出时,数据记录模块用来记录磁盘各个分区所属逻辑卷标识元数据,将逻辑卷标识元数据记录在向辅助RAID卡传输的需要写入被误拔的磁盘的数据中,辅助RAID卡的数据保存模块保存带有标识的数据,可以精准恢复被误拔的磁盘未写入的数据。
数据记录模块使用逻辑卷标识元数据组织方式来实现逻辑卷的标识,逻辑卷标识元数据组织方式以一维数组线性数据结构。每个逻辑卷标识元数据元素标识三部分内容:一个磁盘上的分块分区、磁盘该分块分区所属的逻辑卷,以及一个磁盘上的分块分区所属RAID阵列中的条带号。
数据记录模块生成上述逻辑卷标识元数据组织方式后,将逻辑卷标识元数据添加至需要写入磁盘具体分区的数据的末尾,带所有逻辑卷标识元数据都追加完被拔磁盘的对应分区数据末尾后,主控RAID卡通过以太网光纤通道、以太网、iSCSI、光纤通道等等方式将数据传输至辅助RAID卡的数据保存模块。
辅助RAID卡接收到上述所有数据后向主控RAID卡回复应答消息。通过这种方式将被误拔磁盘中的数据都保存起来。
当用户插回被误拔的磁盘或者重新插入一块新的磁盘后,辅助RAID卡通过以太网光纤通道、以太网、iSCSI、光纤通道等方式将数据回传至主动RAID卡,主控RAID卡在收到各个分区的数据后从尾部取出追加在磁盘各个分区数据后的逻辑卷标识元数据,通过逻辑卷标识元数据的三部分内容可以精准恢复被误拔磁盘各个分区的数据,并确定数据应该归属于几号RAID阵列的几号分块、归属的逻辑卷信息以及所在RAID阵列的几号条带。
图12是本申请提供的数据存储方法的流程示意图之三,如图12所示,上述存储节点执行如下数据存储方法:
步骤1210、主控RAID卡和辅助RAID卡上电启动;
步骤1220、主控RAID卡建立定时器线程,用来循环判断是否存在被误拔的磁盘;
步骤1230、定时器线程判断是否存在被误拔的磁盘,不存在则继续按循环时间循环判断;
步骤1240、存在被误拔的磁盘,则数据记录模块生成逻辑卷标识元数据组织方式并以一维数组线性数据结构进行管理;
步骤1250、将每个逻辑卷标识元数据追加在被误拔的磁盘的对应分区的数据末尾;
步骤1260、主控RAID卡将上述数据传输至辅助RAID卡的数据保存模块;
步骤1270、辅助RAID卡接收到上述所有数据后向主控RAID卡回复应答消息;
步骤1280、用户向被误拔的磁盘的插槽重新插回磁盘后,辅助RAID卡将上述追加有逻辑卷标识符的数据传输至主控RAID卡;
步骤1290、主控RAID卡收到数据后,通过逻辑卷标识元数据的三部分内容可以精准恢复被误拔的磁盘各个分区的数据,包括应该归属于几号RAID阵列的几号分块、归属的逻辑卷信息以及所在RAID阵列的几号条带,以此实现精准恢复。
图13是本申请提供的电子设备的结构示意图,如图13所示,该电子设备可以包括:处理器(Processor)1310、通信接口(Communications Interface)1320、存储器(Memory)1330和通信总线(Communications Bus)1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑命令,以执行上述实施例中所述的方法,例如:
在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在目标磁盘中对应的逻辑分区标识;将待写入数据与逻辑分区标识发送至第二磁盘阵列控制卡进行保存;在确定目标磁盘插回磁盘阵列的情况下,从第二磁盘阵列控制卡中获取待写入数据与逻辑分区标识;基于逻辑分区标识,将待写入数据写入目标磁盘。
此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (23)

1.一种数据存储装置,其特征在于,包括第一磁盘阵列控制卡、第二磁盘阵列控制卡和磁盘阵列;
所述第一磁盘阵列控制卡与所述磁盘阵列连接;所述第二磁盘阵列控制卡与所述第一磁盘阵列控制卡连接;
所述第一磁盘阵列控制卡用于在监测到目标磁盘从所述磁盘阵列拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识,并将所述待写入数据与所述逻辑分区标识发送至所述第二磁盘阵列控制卡进行保存;在监测到所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,并基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘;
所述第一磁盘阵列控制卡用于对所述磁盘阵列中各个磁盘的连接状态进行循环监测。
2.根据权利要求1所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡还用于在监测到新磁盘插入所述目标磁盘的磁盘位置的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,并基于所述逻辑分区标识,将所述待写入数据写入所述新磁盘。
3.根据权利要求1所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡包括:
数据记录模块,用于在监测到所述目标磁盘从所述磁盘阵列拔出的情况下,生成所述目标磁盘的各个分区对应的逻辑分区标识。
4.根据权利要求3所述的数据存储装置,其特征在于,所述数据记录模块还用于:
确定所述待写入数据在所述目标磁盘中对应的待写入分区;
基于所述目标磁盘的各个分区对应的逻辑分区标识,确定所述待写入分区的逻辑分区标识;
将所述待写入分区的逻辑分区标识添加至所述待写入数据的数据尾部或者数据头部,生成待保存数据;
将所述待保存数据发送至所述第二磁盘阵列控制卡进行保存。
5.根据权利要求4所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡还包括:
磁盘读写模块,用于在监测到所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待保存数据;
对所述待保存数据进行解析,确定所述待写入数据和所述待写入分区的逻辑分区标识;
基于所述待写入分区的逻辑分区标识,将所述待写入数据写入所述目标磁盘中的待写入分区。
6.根据权利要求1所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡还包括:
磁盘监测模块,用于对所述磁盘阵列中各个磁盘的连接状态进行循环监测,基于各个磁盘的连接状态确定所述目标磁盘。
7.根据权利要求1所述的数据存储装置,其特征在于,所述第二磁盘阵列控制卡包括:
数据保存模块,用于保存所述待写入数据,以及所述待写入数据对应的逻辑分区标识。
8.根据权利要求1至7任一项所述的数据存储装置,其特征在于,所述逻辑分区标识为逻辑卷标识元数据;
各个分区对应的逻辑卷标识元数据至少包括各个分区在所述目标磁盘中的分区序号、各个分区的逻辑卷序号以及各个分区在所述磁盘阵列中的条带序号。
9.根据权利要求8所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡还用于基于一维数组对各个分区对应的逻辑卷标识元数据进行保存。
10.根据权利要求1至7任一项所述的数据存储装置,其特征在于,所述磁盘阵列包括多个磁盘组;各个磁盘组的磁盘阵列级别不同。
11.根据权利要求1至7任一项所述的数据存储装置,其特征在于,所述第一磁盘阵列控制卡和所述第二磁盘阵列控制卡的连接方式包括以太网光纤通道连接、以太网通道连接、计算机系统接口通道连接和光纤通道连接中的至少一种。
12.一种服务器,其特征在于,包括权利要求1至11任一项所述的数据存储装置。
13.一种数据存储方法,其特征在于,应用于权利要求1至11任一项所述的数据存储装置中的第一磁盘阵列控制卡,包括:
在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识;
将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存;
在确定所述目标磁盘插回所述磁盘阵列的情况下,从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识;
基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘。
14.根据权利要求13所述的数据存储方法,其特征在于,所述在确定目标磁盘从磁盘阵列中拔出的情况下,确定待写入数据在所述目标磁盘中对应的逻辑分区标识之前,所述方法还包括:
对所述磁盘阵列中各个磁盘的连接状态进行循环监测;
将连接状态为未连接的磁盘确定为所述目标磁盘。
15.根据权利要求13所述的数据存储方法,其特征在于,所述确定待写入数据在所述目标磁盘中对应的逻辑分区标识,包括:
确定所述待写入数据在所述目标磁盘中的待写入分区;
基于所述待写入分区,以及所述目标磁盘的各个分区对应的逻辑分区标识,确定所述待写入分区的逻辑分区标识;
将所述待写入分区的逻辑分区标识确定为所述待写入数据对应的逻辑分区标识。
16.根据权利要求13所述的数据存储方法,其特征在于,所述将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存,包括:
将所述逻辑分区标识添加至所述待写入数据的数据尾部或者数据头部,生成待保存数据;
将所述待保存数据发送至第二磁盘阵列控制卡;
接收所述第二磁盘阵列控制卡发送的应答消息;所述应答消息用于表示所述第二磁盘阵列控制卡已接收所述待保存数据。
17.根据权利要求13所述的数据存储方法,其特征在于,所述从所述第二磁盘阵列控制卡中获取所述待写入数据与所述逻辑分区标识,包括:
向所述第二磁盘阵列控制卡发送数据恢复请求;
接收所述第二磁盘阵列控制卡基于所述数据恢复请求发送的待保存数据;
对所述待保存数据进行解析,确定所述待写入数据,以及所述待写入数据对应的逻辑分区标识。
18.根据权利要求13所述的数据存储方法,其特征在于,所述基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘,包括:
基于所述逻辑分区标识,确定所述待写入数据在所述目标磁盘中对应的待写入分区;
将所述待写入数据写入所述目标磁盘中的待写入分区。
19.根据权利要求13所述的数据存储方法,其特征在于,所述将所述待写入数据与所述逻辑分区标识发送至第二磁盘阵列控制卡进行保存之后,所述方法还包括:
接收数据读取请求;
确定所述数据读取请求中目标数据对应的逻辑分区标识;
将所述目标数据对应的逻辑分区标识与所述目标磁盘中各个分区的逻辑分区标识进行匹配,从所述第二磁盘阵列控制卡中获取匹配的逻辑分区标识对应的待写入数据;
将所述待写入数据作为所述目标数据。
20.一种数据存储方法,其特征在于,应用于权利要求1至11任一项所述的数据存储装置中的第二磁盘阵列控制卡,包括:
接收第一磁盘阵列控制卡发送的待写入数据,以及所述待写入数据在目标磁盘中对应的逻辑分区标识;
向所述第一磁盘阵列控制卡发送应答消息;所述应答消息用于表示所述第二磁盘阵列控制卡已接收所述待写入数据和所述逻辑分区标识;
保存所述待写入数据和所述逻辑分区标识。
21.根据权利要求20所述的数据存储方法,其特征在于,所述保存所述待写入数据和所述逻辑分区标识之后,所述方法还包括:
接收所述第一磁盘阵列控制卡发送的数据恢复请求;
对所述数据恢复请求进行解析,确定所述目标磁盘对应的待写入数据,以及所述待写入数据对应的逻辑分区标识;
将所述待写入数据和所述逻辑分区标识发送至所述第一磁盘阵列控制卡,以供所述第一磁盘阵列控制卡基于所述逻辑分区标识,将所述待写入数据写入所述目标磁盘。
22.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求13至21任一项所述的数据存储方法。
23.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求13至21任一项所述的数据存储方法。
CN202310738226.0A 2023-06-21 2023-06-21 数据存储装置、服务器、数据存储方法、电子设备和介质 Active CN116501263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310738226.0A CN116501263B (zh) 2023-06-21 2023-06-21 数据存储装置、服务器、数据存储方法、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310738226.0A CN116501263B (zh) 2023-06-21 2023-06-21 数据存储装置、服务器、数据存储方法、电子设备和介质

Publications (2)

Publication Number Publication Date
CN116501263A CN116501263A (zh) 2023-07-28
CN116501263B true CN116501263B (zh) 2023-09-12

Family

ID=87316804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310738226.0A Active CN116501263B (zh) 2023-06-21 2023-06-21 数据存储装置、服务器、数据存储方法、电子设备和介质

Country Status (1)

Country Link
CN (1) CN116501263B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346212A (ja) * 2004-05-31 2005-12-15 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
CN1848064A (zh) * 2005-04-13 2006-10-18 株式会社日立制作所 磁盘阵列装置以及其控制方法
JP2008217202A (ja) * 2007-03-01 2008-09-18 Nec Corp ディスクアレイ装置及びファームウェア更新方法
JP2012098767A (ja) * 2010-10-29 2012-05-24 Nec Corp ディスクアレイコントローラ装置及びその制御方法
CN104035830A (zh) * 2014-06-24 2014-09-10 浙江宇视科技有限公司 一种数据恢复方法和装置
CN105117172A (zh) * 2015-08-31 2015-12-02 北京神州云科数据技术有限公司 一种磁盘阵列历史掉盘记录的保存方法
CN106775504A (zh) * 2017-03-16 2017-05-31 北京飞杰信息技术有限公司 双控磁盘阵列系统及其数据存取方法
CN108255410A (zh) * 2016-12-28 2018-07-06 华为技术有限公司 一种处理磁盘漫游的方法、装置和设备
CN111158599A (zh) * 2019-12-29 2020-05-15 北京浪潮数据技术有限公司 一种写数据的方法、装置、设备及存储介质
CN115344200A (zh) * 2022-07-11 2022-11-15 陕西千山航空电子有限责任公司 一种基于NVMe接口的存储系统
CN115657961A (zh) * 2022-11-11 2023-01-31 苏州浪潮智能科技有限公司 Raid磁盘阵列管理方法、系统、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230240B1 (en) * 1998-06-23 2001-05-08 Hewlett-Packard Company Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface
US10802757B2 (en) * 2018-07-30 2020-10-13 EMC IP Holding Company LLC Automated management of write streams for multi-tenant storage

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346212A (ja) * 2004-05-31 2005-12-15 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
CN1848064A (zh) * 2005-04-13 2006-10-18 株式会社日立制作所 磁盘阵列装置以及其控制方法
JP2008217202A (ja) * 2007-03-01 2008-09-18 Nec Corp ディスクアレイ装置及びファームウェア更新方法
JP2012098767A (ja) * 2010-10-29 2012-05-24 Nec Corp ディスクアレイコントローラ装置及びその制御方法
CN104035830A (zh) * 2014-06-24 2014-09-10 浙江宇视科技有限公司 一种数据恢复方法和装置
CN105117172A (zh) * 2015-08-31 2015-12-02 北京神州云科数据技术有限公司 一种磁盘阵列历史掉盘记录的保存方法
CN108255410A (zh) * 2016-12-28 2018-07-06 华为技术有限公司 一种处理磁盘漫游的方法、装置和设备
CN106775504A (zh) * 2017-03-16 2017-05-31 北京飞杰信息技术有限公司 双控磁盘阵列系统及其数据存取方法
CN111158599A (zh) * 2019-12-29 2020-05-15 北京浪潮数据技术有限公司 一种写数据的方法、装置、设备及存储介质
CN115344200A (zh) * 2022-07-11 2022-11-15 陕西千山航空电子有限责任公司 一种基于NVMe接口的存储系统
CN115657961A (zh) * 2022-11-11 2023-01-31 苏州浪潮智能科技有限公司 Raid磁盘阵列管理方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN116501263A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
US11243706B2 (en) Fragment management method and fragment management apparatus
CN109542342B (zh) 元数据管理与数据重构方法、设备及存储介质
US6691209B1 (en) Topological data categorization and formatting for a mass storage system
US9244780B2 (en) Restoring a failed storage volume after removal of a storage device from an array
EP2250563B1 (en) Storage redundant array of independent drives
CN102567227B (zh) 共享缓存设备的双控制器存储系统和方法
CN103534688B (zh) 数据恢复方法、存储设备和存储系统
US8438332B2 (en) Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary
US20130073900A1 (en) Performance enhancement technique for raids under rebuild
US9223509B2 (en) File processing method and storage device
CN102024044A (zh) 分布式文件系统
CN103516736A (zh) 分布式缓存系统的数据恢复方法及装置
CN111124263B (zh) 用于管理多个盘的方法、电子设备以及计算机程序产品
US20170270000A1 (en) Method for storage management and storage device
CN115167782B (zh) 临时存储副本管理方法、系统、设备和存储介质
CN115292266A (zh) 一种基于存储器的高可靠日志存储方法
CN113419684B (zh) 一种数据处理方法、装置、设备及可读存储介质
CN116501263B (zh) 数据存储装置、服务器、数据存储方法、电子设备和介质
CN106933707B (zh) 基于raid技术的数据存储设备数据恢复方法及系统
CN113051428B (zh) 一种摄像机前端存储备份的方法及装置
US8402231B2 (en) Storage device, method for restoring data in storage device and storage controller
CN104699564A (zh) 一种采用Raid0磁盘组服务器的自动恢复方法及装置
US7146481B2 (en) Methods and systems for pre-merge read of configuration data from a foreign volume group inserted in storage array
US11860746B2 (en) Resilient data storage system with efficient space management
CN105573862B (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