RAID技术基础知识(1)
RAID 技术介绍 是利用若干台小型硬磁盘驱动器加上控制器按一定的组合条件,而组成的一个大容量、快速响应、高可靠的存储子系统。由于可有多台驱动器并行工作,大大提高了存储容量和数据传输率,而且由于采用了纠错技术,提高了可靠性。硬盘阵列是视频网络系统中非常重要的一个环节,硬盘阵列的容量、速度、稳定性往往决定整个网络的性能。RAID通常是由在硬盘阵列塔中的RAID控制器或电脑中的RAID卡来实现的。在通常情况下,RAID有如下几种分类: RAID0:由多个硬盘并发协同工作完成数据的读写,数据被均匀分布在各个硬盘上,一般情况下,使用的硬盘越多,读写的速度越快。RAID0的特点是读写速度快,并且价格便宜;缺点是安全性相对较差,因为在RAID0中的一个硬盘出现故障时,整个阵列的数据将会丢失。RAID0是最快和最有效的磁盘阵列类型,但没有容错功能。RAID1:称为磁盘镜像。原理是在两个硬盘之间建立完全的镜像,即所有数据会被同时存放到两个物理硬盘上,当一个磁盘出故障时,仍可从另一个硬盘中读取数据,因此安全性得到保障。但系统的成本大大提高,因为系统的实际有效硬盘空间仅为所有硬盘空间的一半。RAID 0+1:为RAID0和RAID1的组合,即由两个完全相同配置的RAID0形成镜像关系,既提高了阵列的读取速度,又保障了阵列数据的安全性,当然,为此付出的代价同样是价格昂贵。 RAID3:是把数据分成多个"块",按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据,这样,仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障率的几率很小,所以一般情况下,使用RAID3,安全性是可以得到保障的。与RAID0相比,RAID3在读写速度方面相对较慢。 RAID5:RAID5 和RAID3的原理非常类似,硬盘的有效使用空间也是一样的,只是其算法以及数据分块方式有所不同。使用的容错算法和分块大小决定RAID使用的应用场合,在通常情况下,RAID3比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等;而RAID5适合较小文件的应用,如文字、图片、小型数据库等。RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。
RAID技术基础知识(2)
磁盘阵列(RAID)基础知识 RAID是通过磁盘阵列与数据条块化方法相结合, 以提高数据可用率的一种结构.RAID 可分为RAID级别1到RAID级别6, 通常称为: RAID 0, RAID 1, RAID 2, RAID 3,RAID 4, RAID 5,RAID6.每一个RAID级别都有自己的强项和弱项. "奇偶校验"定义为用户数据的冗余信息, 当硬盘失效时, 可以重新产生数据. RAID 0: RAID 0 并不是真正的RAID结构, 没有数据冗余. RAID 0 连续地分割数据并并行地读/写于多个磁盘上. 因此具有很高的数据传输率. 但RAID 0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效, 将影响整个数据.因此RAID 0 不可应用于需要数据高可用性的关键应用.RAID 1: RAID 1通过数据镜像实现数据冗余, 在两对分离的磁盘上产生互为备份的数据. RAID 1可以提高读的性能, 当原始数据繁忙时, 可直接从镜像拷贝中读取数据.RAID 1是磁盘阵列中费用最高的, 但提供了最高的数据可用率. 当一个磁盘失效, 系统可以自动地交换到镜像磁盘上, 而不需要重组失效的数据.RAID 2: 从概念上讲, RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节. 然而RAID 2 使用称为"加重平均纠错码"的编码技术来提供错误检查及恢复. 这种编码技术需要多个磁盘存放检查及恢复信息, 使得RAID 2技术实施更复杂. 因此,在商业环境中很少使用. RAID 3: 不同于RAID 2, RAID 3使用单块磁盘存放奇偶校验信息. 如果一块磁盘失效, 奇偶盘及其他数据盘可以重新产生数据. 如果奇偶盘失效,则不影响数据使用.RAID 3对于大量的连续数据可提供很好的传输率, 但对于随机数据, 奇偶盘会成为写操作的瓶颈.RAID 4: 同RAID 2, RAID 3一样, RAID 4, RAID 5也同样将数据条块化并分布于不同的磁盘上, 但条块单位为块或记录. RAID 4使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 成为写操作的瓶颈. 在商业应用中很少使用.RAID 5: RAID 5没有单独指定的奇偶盘, 而是交叉地存取数据及奇偶校验信息于所有磁盘上. 在RAID5 上, 读/写指针可同时对阵列设备进行操作, 提供了更高的数据流量. RAID 5更适合于小数据块, 随机读写的数据.RAID 3 与RAID 5相比, 重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘.而对于RAID 5来说, 大部分数据传输只对一块磁盘操作, 可进行并行操作.在RAID 5中有"写损失", 即每一次写操作,将产生四个实际的读/写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息.RAID 6: RAID 6与RAID 5相比,增加了第二个独立的奇偶校验信息块. 两个独立的奇偶系统使用不同的算法, 数据的可靠性非常高. 即使两块磁盘同时失效,也不会影响数据的使用. 但需要分配给奇偶校验信息更大的磁盘空间, 相对于RAID 5有更大的"写损失". RAID 6 的写性能非常差, 较差的性能和复杂的实施使得RAID 6很少使用.
RAID技术基础知识(3)
RAID技术起源 1987年,有一群研究者在美国University of California - Berkeley 发表了一篇文章: A Case for Redundant Arrays of Inexpensive Disks",而IBM 是此一项目研究的主要协助者.这篇文章,介绍了一个新的 "头字语" - R A I D. 同时并定义了五种RAID代号- RAID level. 这篇文章的主要论题,是针对当时的硬盘科技,在容量及速度上,无法追上CPU及内存的发展的现象,提出多种改善方法.因为长期来看,这种脚步的差距,会造成硬盘无法实时供应对资料的急迫需要. 所以,它利用了各式技巧,将许多较小容量的硬盘,以RAID 技术,规划为一座大的硬盘机.同时,在实际储存资料时,透过这项技术,将资料切割成多区段并分别同时存放于各个硬盘机上.在实际读取资料时,也是同时自此多颗硬盘机读出资料.由此可见,这项技术 RAID, 着实提高了大型硬盘的效率. 值得一提,它的观念,也提供了一套思考及开发的方向:资料容错.藉由"同位检核" Parity 的概念及方法,能在该群数组硬盘中任一颗硬盘故障时,仍能读出资料,并可于数据重构时,将原故障硬盘内之应有资料,经计算后置回替代的新硬盘中,使回复成原貌. 这篇文章也指出了许多在各不同代号型式的RAID,其开发上的问题,大多相关于强调"速度"及"成本"上的改善.这和今日的数组供货商所多强调的"可靠性" Reliability 及"资料可供应性" Data Availability, 似乎有些不同.当然这也是因为时代背景的差异.不过,这也使得各磁盘阵列供货商,各自有较大的发挥空间,针对容错性,成本,及效率,有不同的处理方式及结果.
RAID的优点及实际应用
RAID 的优点及应用1. 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。 2. 可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。 3. RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。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机真正的“出头之日”。