RAID Level 用户数据利用率 BandWidth Performance Transaction Performance 数据可用性
RAID0 1 0.25 1 0.0005
RAID1 0.5 0.25 0.85 1
RAID2 0.67 1 0.25 0.9999
RAID3 0.75 1 0.25 0.9999
RAID4 0.75 0.25 0.61 0.9999
RAID5 0.75 0.25 0.61 0.9999
以上数据基于4个磁盘,传输块大小lK,75%的读概率,数据可用性的计算 基于同样的损坏概率。
RAID的概述
RAID0
没有任何额外的磁盘或空间作安全准备,所以一般人不重视它,这是误解。 其实它有最好的效率及空间利用率,对于追求效率的应用,非常理想,可同时用 其他的RAID level或其他的备份方式以补其不足,保护重要的数据。
RAID1
最佳的安全性,100%不停机,即使有一个磁盘损坏也能照常作业而不影响 其效能(对能并行存取的系统稍有影响),因为数据是作重复储存。RAIDl的并行 读取几乎有RAID0的性能、因为可同时读取相互镜像的磁盘;写入也只比RAID0略逊,因为同时写入两个磁盘并没有增加多少工作。虽比RAID0要增加—倍的 磁盘做镜像,但作为采用磁盘阵列的进入点,它是最便宜的一个方案,是新设磁 盘陈列的用户之最佳选择。
RAlD5
RAID5在不停机及容错的表现都很好,但如有磁盘故障。对性能的影向较大, 大容量的快取内存有助于维持性能,但在0LTP的应用中,因为每—笔数据或记 录(record)都很小,对磁盘的存取频繁。故有—定程度的影响。某磁盘故障 时,读取该磁盘的数据需把共用同一校验值分段的所有数据及校验值读出来、再把故障磁盘的数据计算出来;写入时,除了要重覆读取的程序外,还要再做校验值的计算,然后写入更新的数据及校验值;等换上新的磁盘,系统要计算整个磁 盘阵列的数据以回复故障磁盘的数据,时间要很长,如系统的工作负载很重的话, 有很多输出/入的请求征排队等候时,会把系统的性能拉下来。仅如使用硬件磁 盘阵列的话,其件能就可以得到大幅度的改进,因为硬件磁盘阵列如Arena系列 本身有内置的CPU与个机系统并行运作。所有存取磁盘的输出入工作都在磁盘陈列本身完成,不花费主机的时间,配合磁盘陈列的cache内存的使用,可以提高 系统的整体性能,而优越的SCSI控制更能增加数据的传输速率,即使枉磁盘故障 的情况下,主机系统的件能也不会有明显的降低。RAID5要做的事情太多,所以 价格较贵。不适于小系统,但如果是大系统使用大的磁盘阵列的话,RAID5却是 最便宜的方案。
总而言之,RAID0及RAIDl最适合PC服务器及图形工作站的用户,提供 最佳的性能及最便宜的价格。以低成本符合市场的需求。RAID2及RAID3适用 于大档案输入输出需求个频繁的应用如影像处理及CAD/CAM等;而RAID5 则适用于银行、金融、股市、数据库等大列数据处理中心的0LTP应用;RAID4 与RAID5有相同的特件及用方式,但其较适用于大型文件的读取。
磁盘阵列的额外容错功能
事实上容错功能已成为磁盘阵列最受清睐的特性,为了加强容错的功能以及使系统在磁盘故障的情况下能迅速的重建数据,以维持系统的性能,一般的磁盘 阵列系统都可使用热备份(hot spare or hot standby drive)的功能,所谓热备份是在建立(configure)磁盘阵列系统的时候,将其中一磁盘指定为后备磁盘, 此一磁盘在平常并不操作,仅若阵列中某一磁盘发生故障时,磁盘阵列即以后备 磁盘取代故障磁盘,并自动将故障磁盘的数据重建(rebuild)在后备磁盘之上, 因为反应快速,加上cache内存减少了磁盘的存取,所以数据重建很快即可完成,对 系统的性能影响不大。对丁要求不停机的大型数据处理中心或控制小心而言,热 备份更是一项重要的功能,因为可避免晚间或无人守护时发生磁盘故障所引起的 种种不便。
备份盘又有热备份与温备份之分,热备份税和温备份的不同在于热备份盘 和阵列—起运转,一有故障时马上备援,而温备份盘虽然带电但并个运转,需要 备援时才启动。两者分别在是否运转及启动的时间,仅温备份并不运转,理论上有较长的寿命。另一个额外的容错功能是坏期区转移(bad sector reassignment)。坏扇区是磁盘故障的主要原因,通常磁盘在读写时发牛坏扇区的 情况即表示此磁盘故障。不能冉作读写,甚至有很多系统会因为不能完成读写的 动作而死机,仅若因为某一扇区的损坏而使工作不能完成或要更换磁盘,则使得 系统性能大打折扣,而系统的维护成本也未免太高了,坏扇区转移是当磁盘阵列 系统发现磁盘有坏扇区时,以另一空白的且无故障的扇区取代该扇区,以延长磁盘 的使用寿命,减少坏磁盘的发生率以及系统的维护成本。所以坏扇区转移功能使 磁盘阵列具有更好的容错性,同时使整个系统村最好的成本效益比。其他如可外 接电池备援磁盘阵列的快取内存,以避免突然断电时数据尚未写回磁盘而丢失; 或在RAIDl时作写入一致性的检查等,虽是小技术,但亦不可忽视。
深入了解RAID
2000-9-29·元凯宁·PCHDD
RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。RAID的具体实现可以靠硬件也可以靠软件,Windows NT操作系统就提供软件RAID功能。RAID一般是在SCSI磁盘驱动器上实现的,因为IDE磁盘驱动器的性能发挥受限于IDE接口(IDE只能接两个磁盘驱动器,传输速率最高1.5MBps)。IDE通道最多只能接4个磁盘驱动器,在同一时刻只能有一个磁盘驱动器能够传输数据,而且IDE通道上一般还接有光驱,光驱引起的延迟会严重影响系统速度。SCSI适配器保证每个SCSI通道随时都是畅通的,在同一时刻每个SCSI磁盘驱动器都能自由地向主机传送数据,不会出现像IDE磁盘驱动器争用设备通道的现象。
RAID的优点
1.成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
2.可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
3.RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。
RAID的分级
1.RAID0级,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场合。
2.RAID1级,镜象磁盘阵列。每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。
3.RAID2级,纠错海明码磁盘阵列。磁盘驱动器组中的第一个、第二个、第四个……第2n个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的RAID2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。RAID2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID2很少实际使用。
4.RAID3和RAID4,奇校验或偶校验的磁盘阵列。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误。任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。
5.RAID5级,无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛地应用。
从RAID1到RAID5的几种方案中,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快地重建,重建的工作也由RAID硬件或RAID软件来完成。但RAID0不提供错误校验功能,所以有人说它不能算作是RAID,其实这也是RAID0为什么被称为0级RAID的原因——0本身就代表“没有”。
RAID的应用
当前的PC机,整个系统的速度瓶颈主要是硬盘。虽然不断有Ultra DMA33、DMA66、DMA100等快速的标准推出,但收效不大。在PC中,磁盘速度慢一些并不是太严重的事情。但在服务器中,这是不允许的,服务器必须能响应来自四面八方的服务请求,这些请求大多与磁盘上的数据有关,所以服务器的磁盘子系统必须要有很高的输入输出速率。为了数据的安全,还要有一定的容错功能。RAID提供了这些功能,所以RAID被广泛地应用在服务器体系中。
RAID提供的容错功能是自动实现的(由RAID硬件或是RAID软件来做)。它对应用程序是透明的,即无需应用程序为容错做半点工作。要得到最高的安全性和最快的恢复速度,可以使用RAID1(镜像);要在容量、容错和性能上取折衷可以使用RAID5。在大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是RAID1,数据库的数据文件则是存放于RAID5的磁盘驱动器上。
有时我们看某些名牌服务器的配置单,发现其CPU并不是很快,内存也算不上是很大,显卡更不是最好,但价格绝对不菲。是不是服务器系统都是暴利产品呢?当然不是。服务器的配置与一般的家用PC的着重点不在一处。除去更高的稳定性外,冗余与容错是一大特点,如双电源、带电池备份的磁盘高速缓冲器、热插拔硬盘、热插拔PCI插槽等。另一个特点就是巨大的磁盘吞吐量。这主要归功于RAID。举一个例子来说,一台使用了SCSI RAID的奔腾166与一台IDE硬盘的PⅢCopermine 800都用做文件服务器,奔腾166会比PⅢ的事务处理能力高上几十倍甚至上百倍,因为PⅢ处理器的运算能力根本用不上,反倒是奔腾166的RAID起了作用。
RAID现在主要应用在服务器,但就像任何高端技术一样,RAID也在向PC机上转移。也许所有的PC机都用上了SCSI磁盘驱动器的RAID的那一天,才是PC机真正的“出头之日”。
阅读(481) | 评论(0) | 转发(0) |