【转】RAID 简介
原文:http://wiki.dzsc.com/info/4972.html
- RAID 的英文全称为 Redundant Array of Inexpensive(或 Independent) Disks, 而不是某些词典中所说的“ Redundant Access Independent Disks”。 中文名称是廉价(独立) 磁盘冗余阵列。 RAID 的初衷主要是为了大型服务器提供高端的存储功能和冗余的数据安全。 在系统中, RAID 被看作是一个逻辑分区, 但是它是由多个硬盘组成的(最少两块) 。 它通过在多个硬盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput) , 而且在很多 RAID 模式中都有较为完备的相互校验/恢复的措施, 甚至是直接相互的镜像备份, 从而大大提高了 RAID 系统的容错度, 提高了系统的稳定冗余性, 这也是 Redundant 一词的由来。
RAID的简介
-
RAID通俗的说就是通过将多个存储设备按照一定的形式和方案组织起来,如同使用一个硬盘一样但是却通过这样的形式获取了比单个存储设备更高的速度、更好的稳定性、更大的存储能力的存储设备的解决方案。根据你的需要不同,可以采用不同形式以及不同价格(从几千元到上百万元)的RAID解决方案--很显然,越好的RAID系统,价格越昂贵,所以几乎没有最好的RAID系统。另外,选择Raid系统要适应不同的应用程序。
一般来说RAID是用于比较昂贵的服务器系统中的。不过,随着便宜的RAID控制器的出现,它已经渐渐向市场主流发展了。当然在目前的主流市场实现RAID有一定的局限性,它并不适用于每一个人。
RAID的优点
-
传输速率高:在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这是RAID最初想要解决的问题。因为CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以RAID解决了。
可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
大容量逻辑驱动器。RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低很多。
RAID的级别介绍
-
RAID的级别很多,各级别有着各自的优缺点,用户可以根据不同的需求来选择合适的级别。
RAID-0需要至少两个硬盘,是没有任何保护的,它只是将两个或多个相同型号及容量的硬盘组合起来,而当系统提取数据时,它可以同时由所有硬盘(同一阵列里)读出数据,速度会比一个硬盘快得多。而亦因为它没有任何的数据保护,只要其中一只硬盘出事,所有数据便会被破坏。所以它通常应用在一些非重要资料上,如影像撷取。磁盘阵列的总容量为各个硬盘容量之和。 它的优点是读写性能得到很大的提升,缺点是没有冗余。
RAID-1这个级别由两个(只有两个)硬盘组成,亦可称为镜像(Mirroring)。每一个资料均会相同的写在两个硬盘上,镜像就是因为两个硬盘的内容将会一模一样,但对于系统来说都只会见到一个硬盘。当然,资料写入的时间可能会长一点,但读数据时,因为两个硬盘是可以同时读取资料的,所以性能得以提高。磁盘阵列的总容量为其中一块硬盘的容量。这种盘阵列可靠性很高,因此RAID1常用于对出错率要求极严的应用场合,如财政、金融等领域。它的优点是良好的读取性能和很好的数据冗余。它的缺点是很大的冗余附加开销和只限于两个磁盘。
RAID-3是带有一个专门的校验盘的分条技术。数据被分布在多个磁盘上以提高读/写速度,并用一个专门的校验盘来存储校验信息,当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据。它要求至少3个盘,且其中一个为专职校验盘。当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据。RAID3让整个阵列的带宽可以充分利用,在要求大块数据顺序传送时较理想,如:图形、图象、科学计算等应用。其缺点是每次读写要牵动整个组,每次只能完成一次I/O,所以作为文件服务器共享时性能不好。因为提供奇偶校验的磁盘常成为瓶颈,所以在没有相应技术的情况下,如回写高速缓存技术,不常使用。如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量为各个硬盘容量之和减去一块硬盘的容量。
RAID-5级别也是需要至少三个硬盘。数据分割跟RAID-3一样,但并不会有一个特定的硬盘将来储存校验值,所有数据及校验值都会分布在所有硬盘上。RAID-5消除了RAID-3在写数据上的瓶颈,可以提供高速数据读取并针对多用户模式(解决了争用校验盘的问题 ),所以RAID-5即适于大数据量的操作,也适于各种事务处理。它是一种快速,大容量和容错分布合理的磁盘阵列 。RAID-5常使用缓冲技术来降低性能的不对称性。与RAID-3一样,如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量也为各个硬盘容量之和减去一块硬盘的容量。RAID-5级以合理的价位提供了最佳的性能和数据安全性,因此目前它很受欢迎。
RAID-6级别至少需要四个硬盘。数据分割跟RAID-5一样,但它有两组奇偶性校验信息,而不是一组。RAID-6提供比RAID-5更高的数据容错 ,它可以同时支持两个驱动器故障,为数据提供100%的保护。但是由于用到两组奇偶性校验信息所以它比RAID-5的性能差些。同时这个级别并非被一般的控制器所支持而且成本也十分高,所以一般只在高端在应用。
RAID的操作步骤
-
标准的RAID写操作,需包括以下几个步骤:
(1)以校验盘中读取数据
(2)以目标数据盘中读取数据
(3)以旧校验数据,新数据及已存在数据,生成新的校验数据
(4)将新校验数据写入校验盘
(5)将新数据写入目标数据盘
当主机将一个待写入阵列RAID组中的数据发送到阵列时,阵列控制器将该数据保存在缓存中并立即报告主机该数据的写入工作已完成。该数据写入到阵列硬盘的工作由阵列控制器完成,该数据可继续存放在Cache中直到Cache满,而且要为新数据腾出空间而必须刷新时或阵列需停机时,控制器会及时将该数据从Cache写入阵列硬盘中。
这种缓存回写技术使得主机不必等待RAID校验计算过程的完成,即可处理下一个读写任务,这样,主机的读写效率大为增加。当主机命令将一个数据写入硬盘,则阵列控制器将该数据写入缓存最上面的位置,只有新数据才会被控制器按Write-Back Cache的方式最后写入硬盘。
RAID的应用
-
AS --direct access storage device直接访问存储设备
DAS是磁盘存储设备的术语,以前被用在大、中型机上。使用在PC机上还包括硬盘设备DAS的最新形式是RAID。“直接访问”指访问所有数据的时间是相同的。
NAS --Network Attached Storage 网络附加存储设备
一种特殊目的的服务器,它具有嵌入式的软件系统,可以通过网络对个种的系统平台提供文件共享服务
SAN --Storage Area Networks 存储区域网
一种高速的专用网络,用于建立服务器、磁盘阵列和磁带库之间的一种直接联接。它如同扩展的存储器总线,将专用的集线器、交换器以及网关或桥路互相连接在一起。 SAN 常使用光纤通道。一个 SAN 可以是本地的或者是远程的,也可以是共享的或者是专用的。SAN 打破了存储器与服务器之间的束缚,允许你独立地选择最佳的存储器或者是最佳的服务器,从而提高可扩性和灵活性。