CN101359299A - 一种映像廉价磁盘冗余阵列设备的写操作的方法 - Google Patents

一种映像廉价磁盘冗余阵列设备的写操作的方法 Download PDF

Info

Publication number
CN101359299A
CN101359299A CNA2007101376784A CN200710137678A CN101359299A CN 101359299 A CN101359299 A CN 101359299A CN A2007101376784 A CNA2007101376784 A CN A2007101376784A CN 200710137678 A CN200710137678 A CN 200710137678A CN 101359299 A CN101359299 A CN 101359299A
Authority
CN
China
Prior art keywords
magnetic disc
write operation
data
redundant array
disk
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
CNA2007101376784A
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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CNA2007101376784A priority Critical patent/CN101359299A/zh
Publication of CN101359299A publication Critical patent/CN101359299A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种映像RAID设备的写操作的方法,包含:初始化镜像设备,创建于RAID设备的每一成员磁盘;激活内核线程,用以监控RAID设备的操作状态,并记录当前使用信息;以及当RAID设备的成员磁盘发生错误写操作时,通过内核线程将错误写操作的数据储存至RAID设备的另一成员磁盘的镜像设备。此方法可以保证RAID设备储存的数据的完整性、安全性,当RAID设备的成员磁盘被替换或严重损坏时可以保证数据不丢失。同时,保证了RAID设备的健壮性,RAID设备的单一成员磁盘的损坏不会对整个RAID设备的数据造成影响。

Description

一种映像廉价磁盘冗余阵列设备的写操作的方法
技术领域
本发明涉及一种磁盘管理方法,尤其涉及一种映像廉价磁盘冗余阵列设备的写操作的方法。
背景技术
廉价磁盘冗余阵列(Redundant Arrays of Inexpensive Disks,简称RAID)设备通过RAID控制器(可为硬件或软件)将N台硬盘结合成虚拟单台大容量硬盘,以提供更大的储存容量、更快的存取速度或数据冗余功能。依照其数据组织方式的不同,RAID设备可以分为Linear(线性模式)、磁盘阵列0(RAID-0)、RAID-1、RAID-5、RAID-6等。其中RAID-1、RAID-5和RAID-6以及由它们扩展而来的RAID-10、RAID-50等,均提供数据冗余功能。
数据冗余功能指:RAID设备通过储存冗余数据,当此RAID设备中的一个或多个硬盘损坏时,通过一定的方法仍然能够从此RAID设备上得到完整的数据。RAID设备中储存冗余数据有两种方式:镜像方式和校验方式。镜像方式指:RAID设备中一个硬盘的数据在其它硬盘中以镜像的方式储存,如RAID-1。校验方式指:RAID设备中一部份硬盘储存经过计算后的校验数据,以达到数据冗余的效果,如RAID-5。
目前,大量储存设备都依靠RAID设备来保证其数据的完整性、安全性。RAID设备通过磁盘来建立,因而对磁盘的要求很高。如果磁盘存在有问题的扇区,则RAID设备认为此磁盘已损坏,从而变为脱机(Degrade)或损坏模式,导致RAID设备无法使用。如果仅仅因为磁盘的一个扇区或少量扇区的损坏而导致整个RAID设备不可用,对于用户来说损失就太大了。而现有技术的单一磁盘容错机制在能够进行重建(Rebuild)操作的RAID设备中无法发挥作用,其仅仅可以保护单一磁盘的数据,而无法保证RAID设备全部数据的完整性。
发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种映像RAID设备的写操作的方法。
本发明所提供的一种映像RAID设备的写操作的方法,包含以下步骤:
a)初始化镜像设备,创建于RAID设备的成员磁盘;
b)激活内核线程(Kernel Thread),用以监控RAID设备的操作状态,并记录当前使用信息;以及
c)当RAID设备的一成员磁盘发生错误写操作时,通过内核线程将错误写操作的数据储存至RAID设备的另一成员磁盘的镜像设备。
其中进一步包含:读取内核线程的使用信息;以及依照内核线程的使用信息,读取镜像设备的数据。
其中,镜像设备进一步包含:结构信息单元,用以储存镜像设备的基本信息;以及数个数据信息单元,用以储存与错误写操作对应的磁盘信息以及数据。
其中,当前使用信息包含:信息单元,用以储存与错误写操作对应的镜像设备的基本信息;以及数据单元,用以储存与错误写操作对应的成员磁盘的扇区的数据。
其中,镜像设备以RAID-1的方式创建。
其中,镜像设备与RAID设备的每一成员磁盘的磁盘空间大小比例为一预定值。
综上所述,本发明的优点在于:
(1)保证RAID设备储存的数据的完整性、安全性,当RAID设备的成员磁盘被替换或严重损坏时可以保证数据不丢失;
(2)保证RAID设备的健壮性,RAID设备的单一成员磁盘的损坏不会对整个RAID设备的数据造成影响;以及
(3)用户操作简便,上述操作于后台进行,对用户的操作不构成影响。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为镜像设备初始化的方法流程图;
图2为镜像设备结构的方块图;
图3为映像操作的方法流程图;
图4为数据读取的方法流程图;以及
图5为RAID设备重建时恢复映像数据的方法流程图。
其中,附图标记
200  镜像设备
210  结构信息单元
220  数据信息单元
步骤100  依照预定值在廉价磁盘冗余阵列设备的成员磁盘中划分磁盘空间
步骤110  操作是否成功?
步骤120  是否在廉价磁盘冗余阵列设备的每一成员磁盘操作完毕?
步骤130  利用划分的磁盘空间创建镜像设备
步骤140  是否成功?
步骤150  报告成功
步骤160  报告失败
步骤300  媒介是否发生错误?
步骤310  其它错误处理
步骤320  读取镜像设备的结构信息单元,查找可以映像的位置
步骤330  储存操作的数据
步骤340  修改镜像设备的结构信息单元
步骤350  是否成功?
步骤360  修改当前使用信息
步骤370  报告失败
步骤400  读取当前使用信息
步骤410  是否映像至镜像设备?
步骤420  正常读取
步骤430  读取镜像设备的结构信息单元
步骤440  依照读取的信息,查找相应的映像位置
步骤450  读取相应映像位置的数据
步骤500  廉价磁盘冗余阵列设备的同步操作
步骤510  判断对应位置是否发生过错误?
步骤520  读取镜像设备的结构信息单元
步骤530  依照读取的信息,查找相应的映像位置
步骤540  读取相应映像位置的数据,写回正确位置
步骤550  继续处理
具体实施方式
有关本发明的特征与实作,兹配合附图作较佳实施例详细说明如下。
请参考图1和图2,其表示了依照本发明的镜像设备200的初始化过程以及初始化后的镜像设备200的结构。镜像设备200创建于RAID设备的每一成员磁盘,且以RAID-1的方式创建。如图所示,首先依照预定值在RAID设备的成员磁盘中为镜像设备200划分磁盘空间(步骤100)。其中,较佳的预定值为5%。在使用过程中,当需要映像的数据大小超过镜像设备200的空间大小时,系统提示用户镜像设备200无法正常使用,但仍可以进行数据读取操作。判断划分磁盘空间的操作是否成功(步骤110)?如果操作失败,则系统报告失败(步骤160)。在本发明中,系统可以采用声音、文字、图像或其结合来向用户提供各种操作成功或失败的提示。如果操作成功,则判断是否在RAID设备的每一成员磁盘中均操作完毕(步骤120)?如果未操作完毕,则返回执行步骤100。如果操作完毕,则利用划分的磁盘空间创建镜像设备200(步骤130),判断镜像设备200是否创建成功(步骤140)?如果失败,则系统报告失败(步骤160)。如果成功,则系统报告成功(步骤150)。从而完成镜像设备200的初始化,初始化后的镜像设备200包含结构信息单元210以及数个数据信息单元220。其中,结构信息单元210用以储存镜像设备的大小、分配扇区的数量以及已经使用的数量等信息,数据信息单元220用以储存被映像的成员磁盘的标识、被映像的扇区的位置以及操作数据等信息。每一个数据信息单元220用以储存被映像的成员磁盘的一个扇区的数据,且保存检索信息。每次映像操作结束后,均对结构信息单元210的信息进行修改,分配扇区的数量通过以下公式计算得出:分配扇区的数量=(镜像设备的大小-结构信息单元的大小)/(被映像的成员磁盘及扇区的信息+被映像的扇区大小)。
请参考图3,其表示了映像操作的方法流程图。当镜像设备200初始化完成后,激活内核线程来监控RAID设备的操作状态,并通过内核线程在RAID设备的内存中储存映像操作的当前使用信息。其中,当前使用信息包含:信息单元,用以储存与错误写操作对应的镜像设备的基本信息;以及数据单元,用以储存与错误写操作对应的成员磁盘的扇区的数据。当检测到错误写操作时,判断RAID设备的媒介是否发生错误(步骤300)?如果错误由RAID设备的储存媒介导致,则执行其它错误处理(步骤310)。否则,读取镜像设备200的结构信息单元210的信息,以查找到可以映像的数据信息单元220(步骤320)。将错误写操作所对应的成员磁盘的标识、扇区的位置以及操作数据储存至数据信息单元220(步骤330)。储存完毕后,修改镜像设备200的结构信息单元210的信息,如已经使用的数量等(步骤340)。判断操作是否成功(步骤350)?如果操作成功,则通过内核线程修改内存中储存的当前使用信息(步骤360)。否则,系统报告操作失败(步骤370)。
依照上述描述,本发明可以保证RAID设备储存的数据的完整性、安全性,当RAID设备的成员磁盘被替换或严重损坏时可以保证数据不丢失。同时,保证了RAID设备的健壮性,RAID设备的单一成员磁盘的损坏不会对整个RAID设备的数据造成影响。由于上述操作于后台进行,对用户的操作亦不构成影响。
请参考图4,其表示了数据读取的方法流程图。当对RAID设备的数据进行读取时,先通过内核线程读取内存中储存的当前使用信息(步骤400)。依照读取的当前使用信息判断读取操作所对应的数据是否映像至镜像设备200(步骤410)?如果没有映像,则执行正常读取操作(步骤420)。否则,读取镜像设备200的结构信息单元210(步骤430)。依照读取的信息,通过成员磁盘的标识以及扇区的位置等信息查找与读取操作对应的数据信息单元220(步骤440)。读取数据信息单元220储存的数据,完成RAID设备的数据读取操作(步骤450)。
请参考图5,其表示了RAID设备重建时恢复映像数据的方法流程图。当RAID设备中已损坏的成员磁盘被更换,且RAID设备可以进行重建时,通过重建机制可以将镜像设备200的数据恢复至RAID设备中对应的成员磁盘。首先,进行RAID设备的同步操作(步骤500)。通过内核线程读取内存中储存的当前使用信息,判断当前操作位置是否发生过错误(步骤510)?如果没有,则继续下一步处理(步骤550)。否则,依照当前使用信息读取镜像设备200的结构信息单元210(步骤520)。依照读取的信息,查找相应的数据信息单元220(步骤530)。读取数据信息单元220储存的数据,并将数据写回当前操作位置(步骤540)。接着,继续下一步处理(步骤550)。如上所述,既保证了数据的安全性,又可以将错误操作的数据写回至正确位置。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (7)

1、一种映像廉价磁盘冗余阵列设备的写操作的方法,其特征在于,该方法包含以下步骤:
a)初始化一镜像设备,创建于该廉价磁盘冗余阵列设备的每一成员磁盘;
b)激活一内核线程,用以监控该廉价磁盘冗余阵列设备的操作状态,并记录一当前使用信息;以及
c)当该廉价磁盘冗余阵列设备的一成员磁盘发生一错误写操作时,通过该内核线程将该错误写操作的数据储存至该廉价磁盘冗余阵列设备的另一成员磁盘的该镜像设备。
2、根据权利要求1所述的映像廉价磁盘冗余阵列设备的写操作的方法,其特征在于,进一步包含:
读取该使用信息;以及
依照该使用信息读取该镜像设备的数据。
3、根据权利要求1所述的映像廉价磁盘冗余阵列设备的写操作的方法,其特征于,该镜像设备进一步包含:
一结构信息单元,用以储存该镜像设备的基本信息;以及
数个数据信息单元,用以储存与该错误写操作对应的磁盘信息以及数据。
4、根据权利要求1所述的映像廉价磁盘冗余阵列设备的写操作的方法,其特征在于,该当前使用信息包含:
一信息单元,用以储存与该错误写操作对应的该镜像设备的基本信息;以及
一数据单元,用以储存与该错误写操作对应的该成员磁盘的扇区的数据。
5、根据权利要求1所述的映像廉价磁盘冗余阵列设备的写操作的方法,其特征在于,该镜像设备以RAID-1的方式创建。
6、根据权利要求1所述的映像廉价磁盘冗余阵列设备的写操作的方法,其特征在于,该镜像设备与该廉价磁盘冗余阵列设备的每一成员磁盘的磁盘空间大小比例为一预定值。
7、根据权利要求6所述的映像廉价磁盘冗余阵列设备的写操作的方法,其中该预定值为5%。
CNA2007101376784A 2007-07-31 2007-07-31 一种映像廉价磁盘冗余阵列设备的写操作的方法 Pending CN101359299A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101376784A CN101359299A (zh) 2007-07-31 2007-07-31 一种映像廉价磁盘冗余阵列设备的写操作的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101376784A CN101359299A (zh) 2007-07-31 2007-07-31 一种映像廉价磁盘冗余阵列设备的写操作的方法

Publications (1)

Publication Number Publication Date
CN101359299A true CN101359299A (zh) 2009-02-04

Family

ID=40331755

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101376784A Pending CN101359299A (zh) 2007-07-31 2007-07-31 一种映像廉价磁盘冗余阵列设备的写操作的方法

Country Status (1)

Country Link
CN (1) CN101359299A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317678A (zh) * 2014-10-30 2015-01-28 浙江宇视科技有限公司 一种不中断数据存储服务且修复raid阵列的方法和装置
CN107451069A (zh) * 2017-08-09 2017-12-08 厦门大学 基于预留空间的固态盘阵列的垃圾回收方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317678A (zh) * 2014-10-30 2015-01-28 浙江宇视科技有限公司 一种不中断数据存储服务且修复raid阵列的方法和装置
CN104317678B (zh) * 2014-10-30 2016-09-14 浙江宇视科技有限公司 一种不中断数据存储服务且修复raid阵列的方法和装置
CN107451069A (zh) * 2017-08-09 2017-12-08 厦门大学 基于预留空间的固态盘阵列的垃圾回收方法

Similar Documents

Publication Publication Date Title
CN104484251B (zh) 一种硬盘故障的处理方法及装置
US10025666B2 (en) RAID surveyor
US9009526B2 (en) Rebuilding drive data
US8943358B2 (en) Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process
CN102483686B (zh) 数据存储系统和用于操作数据存储系统的方法
CN100530125C (zh) 一种数据的安全存储方法
US8049980B1 (en) Partial disk failures and improved storage resiliency
US10120769B2 (en) Raid rebuild algorithm with low I/O impact
CN103309775B (zh) 一种高可靠磁盘阵列的容错方法
CN102708019B (zh) 一种硬盘数据恢复方法、装置及系统
US7310745B2 (en) Efficient media scan operations for storage systems
CN103246478B (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN102508733B (zh) 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
CN1746854A (zh) 用于控制存储的装置、方法和程序
CN106959912B (zh) 磁盘检测方法及装置
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
US20060215456A1 (en) Disk array data protective system and method
CN103678025A (zh) 一种磁盘阵列中的磁盘故障处理方法
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
US20100138603A1 (en) System and method for preventing data corruption after power failure
CN108170375B (zh) 一种分布式存储系统中的超限保护方法和装置
EP2613258A1 (en) Automatic remapping in redundant array of independent disks and related raid
US7174476B2 (en) Methods and structure for improved fault tolerance during initialization of a RAID logical unit
CN101359299A (zh) 一种映像廉价磁盘冗余阵列设备的写操作的方法
CN106648450A (zh) 一种数据安全存储的实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090204