热门文章
· 在linux中"rm .r
· 关于二次开盘恢复
· 希捷硬盘磁头匹配细则
· 希捷服务器硬盘ST3146
· 硬盘坏道的发现与修复
· 不要担心 文件无法删除的解
· 电脑黑屏怎么处理
· 电脑蓝屏的解决方法
· 硬盘维护知识
· 硬盘的盘面、磁道、柱面和扇
· 硬盘坏道怎么修复
· 数据丢失后注意事项
· 硬盘的主要构成部分
· 文档修复的正确理解
· 为什么硬盘不认盘?
· 造成数据丢失的硬盘故障
· 良好习惯使用U盘保护U盘数
· 丢失数据后应该注意什么?
· 硬盘故障检测维修常识
· C盘几种重要文件的完全备份
数据恢复首页 > 技术文章 > RAID 使用的基本思想

RAID 使用的基本思想


发布时间: 2012/3/14 14:53:00 来源:

RAID 技术使用了两个最基本的思想:

  1、数据冗余 (Data Redundancy) 即不仅保存用户的数据,还保存校验数据。当发生硬盘故障时,校验数据可以恢复损坏盘上的数据,从而提高用户数据的可用性。

  2、数据划分 (Data Striping) 这一思想使得 I/0 负载可以平均地分配到各个磁盘,从而提高 v0 访问速度。

  这两种思想都是由控制软件来实现的,并且相互独立,磁盘阵列可只实现其中的一种。但更多情况下, RAID 往往把两种思想结合起来,从而既能获得较高的数据可靠性,同时又能保证较快的 I/0 访问速度。

  1、数据冗余

  数据冗余是指使用部分磁盘空间来存储用户数据的备份。最简单的冗余数据形式就是 RAID 1 的镜像数据。在镜像磁盘阵列中,对于写请求,控制软件要执行两次写盘 — 一次写数据盘,一次写镜像盘。而对于读请求,控制软件选择其中一个盘读取数据。有些软件为了提高性能,会选择负载较轻的盘来实现读访问。镜像磁盘阵列的缺点是 : 实现成本相对较高。为保存和维护一个磁盘的数据量,用户不得不购买、维护和管理两块硬盘。

  RAID3 、 4 、 5 使用另一种形式的冗余数据,称作校验数据。校验 RAID 并不是完全备份每个数据块,每个校验块是由一组数据块经过计算得到的。有了校验块,任何一个数据块可由组里的其它数据块计算得到。

  校验数据通常取相应用户数据进行按位异或的结果。不论阵列有多少块盘构成,校验数据都只占用一个磁盘空间 . 因此由许多盘组成的大型校验 RAID ,其冗余数据所占空间的比例却很小。例如,由 11 块盘组成的校验 RAID ,用户数据占用 10 个磁盘空间,校验的开销只有 10% 。既然只用一个校验盘就可以保护任意多个用户数据盘,那么是不是使用越多的数据盘,就能达到越高的磁盘空间利用率呢 ? 实际上并不是这么简单。

  大型校验 RAID 的缺点 :

  奇偶校验只能在一个盘发生故障时恢复数据。当 RAID 里同时有两块盘发生故障时,就会丢失数据。阵列使用的盘数越多,两块盘同时失效的概率就越大,从而导致整个阵列的崩溃。这时,丢失的不仅是失效盘上的数据,所有盘上的数据都变得无法访问。因此阵列规模越大,失效盘带来的损失也越大。

  大型校验 RAID 写性能较差。当应用程序要对一个数据块进行写操作时,要先读该块的数据,与校验块进行计算,其结果再与要写入的数据做异或计算,最后写入新数据和新校验。在这段时间里,控制软件需要保持一些永久性的 log 标志,以防更新操作中的系统故障。可见写数据操作有延迟,而且阵列越大,写延迟越大。

  当有故障发生时,要更换损坏的磁盘,而且新的磁盘上的内容必须与其它盘同步,以保证所有校验数据与用户数据的一致性。这种同步需要读所有盘上的数据或校验信息,通过计算得到替换盘的内容。可见阵列里的磁盘个数越多,同步的时间开销也越大。而恢复数据的时间越长,阵列发生第二次故障的危险性越大。

  事实表明, RAID 系统使用四至六块磁盘比较合适。

?

  2、数据划分

  磁盘子系统设计者采用数据划分来提高系统的 UO 性能。要了解数据划分的作用,首先要知道几乎所有的 110 访问频繁的应用程序都可以归为以下两大类型:

  I/O 请求为主的应用程序 : 这种应用程序主要进行一些事务处理,如 : 使用关系型数据库来管理数据。它们的 v0 请求倾向于访问少量的、地址随机分布的数据。这些应用一般由许多并发执行的线程构成,因而许多 v0 请求不必等待前面请求的完成。

  数据交换为主的应用程序 : 这种应用程序要在主存与外部存储设备之间传输很长的顺序的数据流。科学 / 工程计算、图形处理和多媒体应用多属于这种类型。其 I/0 请求的数据量大,而且有时为减少 CPU 空闲时间,数据会提前给出。 Striping 技术把每个磁盘的存储空间划分成一个个 stripe ,其大小可以是小到一个扇区 (512 字节 ) ,大到几兆字节,并且是循环顺序地交叉存储的。 Stripe 的大小则是由应用环境的 1/0 类型决定的。

  现在大多数的操作系统都支持多个磁盘的并行 1/0 操作。但是,为了提高磁盘子系统的数据吞吐量, 1/0 负载必须均衡分配到所有磁盘上,使每个磁盘尽可能地保持忙碌。在没有使用 striping 技术的多磁盘系统中,磁盘的 UO 负载很不均衡 : 有些磁盘上的数据经常被访问,而有的磁盘几乎很少被访问。

  使用 striping 技术,文件按 stripe 大小划分后,分布到各个磁盘上,使得在负载较重时,所有磁盘能保持忙碌。这样多个磁盘可以并行地执行不同的 UO 操作,因而在同样时间里,磁盘阵列完成的 1/0 操作数增加了。

 
电话:0510-82732158 13812019989(24小时客服)     地址:无锡市人民西路45号梦之岛数码港金惠大厦17楼1715室
© 2012 All Rights Reserved by 无锡维数数据恢复中心