一种计算机raid阵列预警系统及方法

文档序号:6559715阅读:218来源:国知局
专利名称:一种计算机raid阵列预警系统及方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种计算机RAID阵列预警系 统及方法。
背景技术
RAID,为Redundant Arrays of Independent Disks的简称,即廉价冗余磁 盘阵列。RAID的级别从RAID概念的提出到现在,巳经发展了多个级别,分 别是0、 1、 2、 3、 4、 5、 6等。其中
RAIDO:将多个较小的磁盘合并成一个大的磁盘,不具有冗余,并行1/0, 速度最快。RAIDO亦称为带区集。它是将多个磁盘并列起来,成为一个大硬 盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数 据写进这些盘中。所以,在所有的级别中,RAID 0的速度是最快的。但是 RAIDO没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法 使用。
RAID1:两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个 磁盘错。RAID1就是镜像,其原理为在主硬盘上存放数据的同时也在镜像硬 盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工 作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID 级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID上磁 盘利用率最低的一个级别。
RAID 3:存放数据的原理和RAID0、 RAID1不同。RAID 3是以一个硬 盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它象RAID 0 一样以并行的方式来存放数,但速度没有RAIDO快。如果数据盘(物理)损 坏,只要将坏硬盘换掉,RAID控制系统则会根据校验盘的数据校验位在新 盘中重建坏盘上的数据。不过,如果校验盘(物理)损坏的话,则全部数据 都无法使用。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是
硬盘利用率得到了很大的提高。
RAID 5:向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个盘
上,允许单个磁盘出错。RAID5也是以数据的校验位来保证数据的安全,但
它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于 各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来 重建损坏的数据。
冗余是指采用多个设备同时工作,当其中一个设备失效时,其它设备能 够接替失效设备继续工作的体系。
目前大多数计算机系统管理员非常重视数据安全和冗余,他们一般会采
用具有数据恢复冗余功能的RAID阵列,如RAID5或RAID1并且定期进行 数据备份,但是现有技术疏忽了 RAID阵列的日常维护,在出现RAID掉线 的问题时,通常的方法就是进行硬盘更换,这种方法的缺陷是当一个阵列中 有2块以上硬盘掉线时,数据很难恢复,会造成难以挽回的损失。
发生磁盘阵列掉线最主要的原因是操作系统是通过磁盘阵列卡来访问 硬盘上的数据的,而操作系统必须在规定的等待时间和重复(Retry)次数得 到相应的数据,否则系统将无法正常工作,所以磁盘阵列卡都会设置相应的 等待时间和Retry次数来满足操作系统的要求。由于存在硬盘处理数据访问 故障的时间的读写延迟的问题,磁盘阵列卡如果在相应等待时间和Retry次 数内,没有得到硬盘的响应,那么阵列卡可能标记硬盘错误,并且设置这块 硬盘掉线。
一般地,RAID阵列用户都会提供操作系统下的RAID阵列管理软件,但 是对于管理员来说,每天或定期的日志检査工作量非常大,同时日常维护还 要求管理员具有非常强的RAID背景知识,能对不同厂家提供的日志文件进 行分析,给管理员造成很大的工作负担。
因此目前发生磁盘阵列掉线问题,管理员一般只能通知厂家维修,然而 现有方法中无法在磁盘阵列掉线,可能会出现故障时无法提前预警,告知管 理员,导致数据损坏,损失重大。

发明内容
本发明目的在于提供一种计算机RAID阵列预警系统和方法。其解决了在发生磁盘阵列掉线,磁盘阵列系统可能出现故障时无法提前预警,造成数 据损坏的问题。
为实现本发明目的而提供的一种计算机RAID阵列预警系统,包括磁盘
阵列卡和多个硬盘,还包括监控单元,连接在磁盘阵列卡与硬盘接口之间总 线上,用于采集磁盘阵列预警数据,并对采集的数据进行分析,根据分析结 果给出预警信息。
所述监控单元包括数据釆集单元,数据存储单元,分析单元,其中 数据采集单元,用于采集磁盘阵列预警数据,并将数据存储到数据存储
单元中;
数据存储单元,用于存储数据采集单元采集到的磁盘阵列预警数据;
分析单元,用于从数据存储单元中读取磁盘阵列预警数据,进行分析处 理,并在磁盘阵列预警数据达到预警水平时向报警单元发出预警信息。
所述监控单元还包括报警单元,用于在接收到分析单元的预警信息后, 向计算机发出报警信息,提示管理员或者用户。
所述的RAID阵列预警系统还包括定时器,用于定时触发数据采集单元, 开始数据的采集;
分析单元还可以根据不同时间段采集的数据进行比较分析,发现磁盘阵 列预警数据中潜在的故障。
所述数据存储单元为非易失性闪存单元。
所述数据采集单元,分析单元和报警单元集成到独立于计算机操作系统 的微处理器上。
所述磁盘阵列预警数据为磁盘阵列中硬盘的增长缺陷数据和/或磁盘阵 列卡的超时重试次数数据。
本发明还提供一种计算机RAID阵列预警方法,包括下列步骤
步骤A):监控单元采集磁盘阵列预警数据,并存储所述的磁盘阵列预警 数据;
步骤B)监控单元读取所存储的磁盘阵列预警数据,并进行分析处理, 并在磁盘阵列预警数据达到预警水平时向报警单元发出预警信息。 所述步骤A)之前进一步包括下列步骤
计算机启动后,定时器进行计时,在定时到达时,触发监控单元开始釆 集磁盘阵列预警数据。
所述步骤B)之后还包括下列步骤
监控单元中的报警单元在接收到分析单元的预警信息后,向计算机发出 报警信息,提示管理员或者用户终端。 所述步骤A)包括下列步骤
监控单元的数据采集单元向磁盘阵列中的磁盘发出读取硬盘缺陷指令, 硬盘返回缺陷数据,数据采集单元从返回数据中获取增长缺陷表数据,并保 存到数据存储单元中;
监控单元的数据采集单元通过磁盘阵列卡的驱动接口发送命令,获取超 时重试次数数据,并保存到数据存储单元中。
所述步骤B)中的进行分析处理包括下列步骤
当其中一块硬盘的增长缺陷表数量达到设定的范围时,则监控单元的分 析单元向报警单元发出预警信息;
当在一个时间段内,增长缺陷表数量增长数达到设定的范围时,则监控 单元的分析单元向报警单元发出预警信息;
当磁盘阵列卡的超时重试次数达到设定的范围时,同时在至少一块硬盘 中存在增长缺陷表时,则监控单元的分析单元向报警单元发出预警信息。
本发明的有益效果是本发明的计算机RAID阵列预警系统和方法,通 过获取影响磁盘阵列预警数据,并通过数据分析和管理,根据分析和管理结 果给出预警信息和建议,提高磁盘阵列的健壮性,保护用户的数据安全。同 时,该系统和方法通过微处理器采集数据和处理数据,不占用系统CPU资源,
提高效率,并且编程灵活,可以获取任何有用的数据;该系统和方法通过 NVRAM保存数据和日志,不占用硬盘和内存的资源,与计算机硬盘和内存 的相互隔离,不相互影响;该系统和方法通过定时器的时间设定,可以对数 据进行实时监控,并且可以采用网络通讯方式,扩大用户友好界面。


图1为本发明计算机RAID阵列预警系统结构示意图; 图2为本发明磁盘阵列掉线预警方法流程图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图l
2及实施例,对本发明的计算机RAID阵列预警系统和方法进行进一步详细说 明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限 定本发明。
本发明的计算机RAID阵列预警系统和方法的核心在于通过在RAID阵 列上采集磁盘阵列预警数据,包括磁盘阵列中硬盘的增长缺陷(Grown defect) 数据和磁盘阵列卡的超时重试(Timeout Retry)数据等,并对采集的数据进 行分析,通过分析发现阵列中潜在的问题,根据问题发出预警信息,实现对 RAID阵列的日常维护,将磁盘阵列系统可能出现故障提前告知,提前进行维 护和处理,从而避免了不必要的损失。
下面先详细描述本发明的计算机RAID阵列预警系统
如图1所示,本发明的计算机RAID阵列预警系统,包括计算机主板(未 标出),中央处理器(CPU)(示标出),计算机操作系统(未标出),磁盘阵 列卡和多个硬盘,硬盘包括硬盘控制器和硬盘接口,硬盘通过总线与计算机 主板、CPU、磁盘阵列卡连接,并在操作系统的指令操作下进行计算机数据 的读写。操作系统支持各种操作指令,包括SCSI (Small Computer System Interface,小型计算机系统专用接口)指令和协议。
本发明的计算机RAID阵列预警系统,还包括监控单元,连接在磁盘阵 列卡与硬盘接口之间的SCSI数据总线上,用于采集磁盘阵列预警数据,包括 磁盘阵列中硬盘的增长缺陷(Grown defect)数据和磁盘阵列卡的超时重试次 数(Timeout Retry)数据,并对采集的数据进行分析,根据分析结果给出预
警"(曰息o
所述的监控单元包括数据采集单元,数据存储单元,分析单元和报警单
元,其中
数据采集单元,用于釆集磁盘阵列中硬盘的增长缺陷(Growndefect)数 据和磁盘阵列卡的超时重试(Timeout Retry)次数数据,并将数据存储到数 据存储单元中。
数据存储单元,用于存储数据采集单元采集到的磁盘阵列中硬盘的增长
缺陷数据和磁盘阵列卡的超时重试数据。所述数据可以以日志文件的格式存 储,可以更好地进行读取和分析。
较佳地,数据存储单元为非易失性闪存单元(Non-Volatile Random Access Memory, NVRAM)。
分析单元,用于从数据存储单元中读取增长缺陷数据和磁盘阵列卡的超 时重试数据,进行分析处理,并在磁盘阵列预警数据达到预警水平时向报警 单元发出预警信息。
所述的预警水平可以是硬盘的G-list数据增长数达到设定的范围;或者 是在一个时间段内G-list数量增长数达到设定的范围;或者是磁盘阵列卡的 超时重试数据达到设定的范围,同时在至少一块硬盘中存在G-list。
所述的硬盘的G-list数据增长数达到设定的范围、在一个时间段内G-list 数量增长数达到设定的范围、磁盘阵列卡的超时重试数据达到设定的范围, 其中所述的设定的范围是由用户根据实际工作中的需要而设定的数量。
报警单元,用于在接收到分析单元的预警信息后,向计算机发出报警信 息,提示管理员或者用户。较佳地,报警单元接收到预警信息后,可以采用 各种友好的方式报告给管理员或者用户,甚至可以通过计算机公知的网络通 讯接口,如TCP/IP接口,通知远程的管理员,这样,管理员或者用户就可以 根据预警信息,在磁盘可能出现故障时,采取较佳的维护管理,保证数据的 完全,保证系统的健壮性。
所述的预警信息可以是预警信号或者提示文字信息甚至报警图片等。
较佳地,本发明的计算机RAID阵列预警系统还包括定时器,用于定时 触发数据采集单元,开始数据的采集。这时,分析单元还可以根据不同时间 段采集的数据进行比较分析,发现磁盘阵列预警数据中潜在的故障。
较佳地,所述数据采集单元,分析单元和报警单元集成到独立于操作系 统的微处理器上,该微处理器集成在计算机的主板上,微处理器独立于计算
机操作系统,不受计算机操作系统的限制。
所述的微处理器可以是数字信息处理器(Digital Single Processing, DSP)。 本发明的计算机RAID阵列预警系统,在RAID阵列上通过SCSI数据线,
利用SCSI协议和磁盘阵列卡的驱动接口,在定时器触发时,采集磁盘阵列预
警数据,包括磁盘阵列中硬盘的增长缺陷(Grown defect)数据和磁盘阵列卡 的超时重试(Timeout Retry)数据等,以日志文件的格式存储到数据存储单 元中,并由分析单元从数据存储单元中读取所述的数据对釆集的数据进行分 析,通过分析发现阵列中潜在的问题,根据问题发出预警信息。其与计算机 RAID阵列卡上的判断机制,即产生的增长缺陷(Grown defect)数据和磁盘 阵列卡的超时重试(Timeout Retry)数据相结合,考虑了 RAID卡硬盘掉线 的问题,在RAID可能发生掉线的硬盘故障前提前作出判断和处理,并报警 通知用户或者管理员,从而保证硬盘数据的安全。
其中SCSI协议是通用标准,作为本发明实施例,通过SCSI标准中的SCSI Block Commands - 2 (SBC-2) Project:T10/1417-D中的命令集可以实现本发明, 但这只是为了实现本发明而提供的一个例子,并不是对本发明的限制。
如图2所示,下面结合计算机RAID阵列预警系统进一步详细说明本发 明的计算机RAID阵列预警方法
步骤1:计算机启动后,定时器进行计时,在定时到达时,触发监控单 元的数据采集单元。
计算机启动后,数据采集在定时器控制下,在定时器定时到达时,触发 监控单元中的数据采集单元,开始一次数据采集。
步骤2:监控单元的数据采集单元采集磁盘阵列预警数据,并将数据存
储到数据存储单元中。
监控单元微处理器的数据采集单元通过SCSI数据总线,并通过SCSI协 议和磁盘阵列卡的驱动接口探测想要获得获取的磁盘阵列预警数据,包括硬 盘的增长缺陷(Grown defect)数据和硬盘阵列的超时重试(Timeout Retry) 数据等,并存储到数据存储单元的NVRAM中。由于SCSI协议带有完善的 冲突/仲裁机制,并且获取的数据只是硬盘和磁盘阵列卡的状态数据,所以对 磁盘阵列系统的读写操作不会产生任何冲突。
具体而言,该步骤包括下列过程
步骤2h监控单元的数据采集单元向磁盘阵列中的磁盘发出读取硬盘缺 陷指令,硬盘返回缺陷数据,数据采集单元从返回数据中获取增长缺陷表 (Grown defects list, G-list)数据,并保存到数据存储单元的NVRAM中。因为硬盘在运行过程中可能出现无法访问数据的情况,如读写错误等, 当这种错误出现时,硬盘将自动对这种错误进行修复,然后把无法修复的地
方标记出来,同时记录到硬盘上的增长缺陷表(Grown defects list, G-list)的 列表中,当G-list数量增多或者在某个时间段内突然激增,则表明硬盘故障 比较严重。
监控单元的数据采集单元定时获取硬盘的增长缺陷数据,其依次向磁盘 阵列中的磁盘发出读取硬盘缺陷指令command:Read Defect Data,硬盘返回 缺陷数据,数据采集单元从返回数据中获取增长缺陷表数据,并保存到数据 存储单元的NVRAM中。
步骤21':同时,监控单元的数据采集单元通过磁盘阵列卡的驱动接口, 发送命令,获取超时重试次数数据,并保存到数据存储单元的NVRAM中。
计算机操作系统是通过磁盘阵列卡来访问硬盘上的数据,而计算机操作 系统必须在规定的等待时间的重试次数内得到相应的数据,否则系统将无法 正常工作,所以磁盘阵列卡都会设置相应的等待时间和重试次数来满足操作 系统的要求。当磁盘阵列卡的重试次数在一定时间内突然激增,则表明阵列 中的某个硬盘可能出现严重故障。
因此,监控单元的数据采集单元通过磁盘阵列卡的驱动接口,发送命令: read: SCSI driver (retry时间间隔,retry次数),返回retry次数,其中 SCSI driver是SCSI驱动接口例程;然后获取超时重试次数,并以日志文件的 格式保存到数据存储单元的NVRAM中,以便分析单元可以根据该数据对硬 盘可能产生故障进行分析。
步骤3:监控单元的分析单元从数据存储单元中读取磁盘阵列预警数据, 并进行分析处理,并在磁盘阵列预警数据达到预警水平时向报警单元发出预
^^yf^"自 言I R想o
监控单元的分析单元从数据存储单元的NVRAM中读取磁盘阵列预警数 据,包括硬盘的增长缺陷(Grown defect)数据和硬盘阵列的超时重试(Timeout Retry)数据等,进行分析处理,并在磁盘阵列预警数据达到预警水平时向报 警单元发出预警信息。
在进行分析处理时,包括下列三种过程
步骤31:当其中一块硬盘的G-list数量达到设定的范围时,则监控单元 的分析单元向报警单元发出预警信息;
步骤31':当在一个时间段内,G-list数量增长数达到设定的范围时, 则监控单元的分析单元向报警单元发出预警信息;
步骤31〃当磁盘阵列卡的超时重试次数达到设定的范围时,同时在至
少一块硬盘中存在G-list时,则监控单元的分析单元向报警单元发出预警信 自
必o
所述的硬盘的G-list数据增长数达到设定的范围、在一个时间段内G-list 数量增长数达到设定的范围、磁盘阵列卡的超时重试数据达到设定的范围, 其中所述的设定的范围是由用户根据实际工作中的需要而设定的数量。
步骤4:监控单元中的报警单元在接收到分析单元的预警信息后,向计
算机发出报警信息,提示管理员或者用户终端。
本发明的计算机RAID阵列预警系统和方法,通过监控单元发现获取影 响磁盘阵列掉线问题的关键因素数据,并对数据分析和管理,给出预警信息 和建议,提高磁盘阵列的健壮性,保护用户的数据安全;其将数据采集单元, 分析单元和报警单元集成到微处理器DSP中,通过DSP采集数据和处理数据, 不占用系统CPU资源,提高效率,并且编程灵活,可以获取磁盘阵列预警的 各种数据;利用数据存储单元的NVRAM保存磁盘阵列预警数据和日志,不 使用硬盘和内存的资源,不影响计算机操作系统的数据读写;通过定时器的 时间设定,可以对数据进行实时监控,并且可以采用网络通讯方式,扩大用 户友好界面,通知远程的管理员,管理员或者用户就可以根据预警信息,在 磁盘可能出现故障时,采取较佳的维护管理,保证数据的完全,保证系统的 健壮性。
本实施例只是为了更好地理解本发明进行的详细的描述,并不是对本发 明所保护的范围的限定,因此,本领域普通技术人员不脱离本发明的主旨, 未经创造性劳动而对本发明所做的改变在本发明的保护范围内。
权利要求
1.一种计算机RAID阵列预警系统,包括磁盘阵列卡和多个硬盘,其特征在于,还包括监控单元,连接在磁盘阵列卡与硬盘接口之间总线上,用于采集磁盘阵列预警数据,并对采集的数据进行分析,根据分析结果给出预警信息。
2. 根据权利要求1所述的RAID阵列预警系统,其特征在于,所述监控 单元包括数据采集单元,数据存储单元,分析单元,其中数据采集单元,用于采集磁盘阵列预警数据,并将数据存储到数据存储 单元中;数据存储单元,用于存储数据采集单元采集到的磁盘阵列预警数据; 分析单元,用于从数据存储单元中读取磁盘阵列预警数据,进行分析处 理,并在磁盘阵列预警数据达到预警水平时向报警单元发出预警信息。
3. 根据权利要求2所述的RAID阵列预警系统,其特征在于,所述监控 单元还包括报警单元,用于在接收到分析单元的预警信息后,向计算机发出 报警信息,提示管理员或者用户。
4. 根据权利要求2所述的RAID阵列预警系统,其特征在于,还包括定 时器,用于定时触发数据采集单元,开始数据的采集;分析单元还可以根据不同时间段釆集的数据进行比较分析,发现磁盘阵 列预警数据中潜在的故障。
5. 根据权利要求2或3所述的RAID阵列预警系统,其特征在于,所述数据存储单元为非易失性闪存单元。
6. 根据权利要求3所述的RAID阵列预警系统,其特征在于,所述数据 釆集单元,分析单元和报警单元集成到独立于计算机操作系统的微处理器上。
7. 根据权利要求1至4任一项所述的RAID阵列预警系统,其特征在于, 所述磁盘阵列预警数据为磁盘阵列中硬盘的增长缺陷数据和/或磁盘阵列卡 的超时重试次数数据。
8. —种计算机RAID阵列预警方法,其特征在于,包括下列步骤步骤A):监控单元采集磁盘阵列预警数据,并存储所述的磁盘阵列预警 数据;步骤B)监控单元读取所存储的磁盘阵列预警数据,并进行分析处理, 并在磁盘阵列预警数据达到预警水平时向报警单元发出预警信息。
9. 根据权利要求8所述的RAID阵列预警方法,其特征在于,所述步骤A) 之前进一步包括下列步骤计算机启动后,定时器进行计时,在定时到达时,触发监控单元开始采 集磁盘阵列预警数据。
10. 根据权利要求9所述的RAID阵列预警方法,其特征在于,所述步骤B) 之后还包括下列步骤监控单元中的报警单元在接收到分析单元的预警信息后,向计算机发出 报警信息,提示管理员或者用户终端。
11. 根据权利要求8至10任一项所述的RAID阵列预警方法,其特征在 于,所述步骤A)包括下列步骤监控单元的数据采集单元向磁盘阵列中的磁盘发出读取硬盘缺陷指令, 硬盘返回缺陷数据,数据采集单元从返回数据中获取增长缺陷表数据,并保 存到数据存储单元中;监控单元的数据釆集单元通过磁盘阵列卡的驱动接口发送命令,获取超 时重试次数数据,并保存到数据存储单元中。
12. 根据权利要求11所述的RAID阵列预警方法,其特征在于,所述步 骤B)中的进行分析处理包括下列步骤当其中一块硬盘的增长缺陷表数量达到设定的范围时,则监控单元的分 析单元向报警单元发出预警信息;当在一个时间段内,增长缺陷表数量增长数达到设定的范围时,则监控 单元的分析单元向报警单元发出预警信息;当磁盘阵列卡的超时重试次数达到设定的范围时,同时在至少一块硬盘 中存在增长缺陷表时,则监控单元的分析单元向报警单元发出预警信息。
全文摘要
本发明公开了一种计算机RAID阵列预警系统及方法。该系统包括磁盘阵列卡和多个硬盘,还包括监控单元,连接在磁盘阵列卡与硬盘接口之间总线上,用于采集磁盘阵列预警数据,并对采集的数据进行分析,根据分析结果给出预警信息。本发明还提供一种计算机RAID阵列预警方法。该系统和方法在磁盘阵列系统可能出现故障时提前预警,提高磁盘阵列的健壮性,保护用户的数据安全。
文档编号G06F3/06GK101097531SQ200610094289
公开日2008年1月2日 申请日期2006年6月28日 优先权日2006年6月28日
发明者晨 刘, 迅 黄 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1