zoukankan      html  css  js  c++  java
  • 解析RAID磁盘冗余阵列(转载)

    解析RAID磁盘冗余阵列

         前言

         过去,计算机系统往往只限于向单个磁盘写入信息。这种磁盘通常价格昂贵而又极易故障。硬盘一直是计算机系统中最脆弱的环节,因为这些设备是在其它部件完全电子化的系统中唯一的机械部件。磁盘驱动器含有许多以高速运行的活动机械零件。问题不是硬盘驱动器是否会发生故障,而是何时发生故障。

      RAID(Redundant Array of Independent Drive:独立磁盘冗余阵列)旨在通过提供一个廉价和冗余的磁盘系统来彻底改变计算机管理和存取大容量存储器中数据的方式。它曾被称为廉价磁盘冗余阵列(RAID)。RAID将数据写入多个廉价磁盘,而不是写入单个大容量昂贵(SIED)。最初RAID代表廉价磁盘冗余阵列,但现在已改为独立磁盘冗余阵列。
         RAID基本原理

      RAID通过条带化存储和奇偶校验两个措施来实现其冗余和容错的目标。条带化存储意味着可以一次写入一个数据块的方式将文件写入多个磁盘。条带化存储技术将数据分开写入多个驱动器,从而提高数据传输速率并缩短磁盘处理总时间。这种系统非常适用于交易处理、但可靠性却很差,因为系统的可靠性等于最差的单个驱动器的可靠性。

      奇偶校验通过在传输后对所有数据进行冗余校验可以确保数据的有效性。利用奇偶校验,当RAID系统的一个磁盘发生故障时,其它磁盘能够重建该故障磁盘。在这两种情况中,这些功能对于操作系统都是透明的。由磁盘阵列控制器(DAC)进行条带化存储和奇偶校验控制。

      组件

      RAID的主要组件是磁盘阵列控制器(DAC)和由5个磁盘组成的队列。数据被条带化存储在全部5个磁盘上,用奇偶校验来恢复故障磁盘。RAID有多个不同的等级。某些RAID等级用来提高速度,某些用来提供保护,而RAID-5则结合了两方面的优势。我们将对它们进行逐一论述。

      条带化存储数据

      以前,计算机只将文件写入一个磁盘。条带化存储使您能够拆分文件并将不同的片段同时写入多个磁盘。如果您的文件有5个数据块,并将它们条带化存储到5个磁盘中,每个数据块将同时写入各自的磁盘。如果您有5个OLTP交易,每个小于一个数据块,您就可以同时处理5个不同的交易。

      大多数RAID等级在数据块级进行条带化存储,但RAID也可以在位或字节级进行条带化存储。数据块的大小由系统管理员决定,并被称为基带条深度。

      为了最大限度地提高磁盘阵列子系统的交易能力,数据必须同时写入多个驱动器或同时从多个驱动器读取。为实现这一点,用户数据块被条带化存储在整个驱动器阵列上。一个基带条包括一列扇区(每扇区含512个字节),这些扇区位于阵列中每个磁盘上的相同位置。基带条深度(即每一数据块中的扇区数)由子系统软件定义。

      基带条深度对性能有直接影响,因为深度太浅就需要系统执行比实际需要更多的I/O命令。如果规定深度太大,处理器的多任务能力以及多驱动器所带来的诸多益处可能会被抵销。

      在一个理想的交易环境中,来自主机的每个请求都只涉及一个驱动器,这可以实现多个驱动器的多个并发交易。 

      将数据条带化存储到阵列驱动器解决了前面所述的一个系统驱动器超负荷运行而另一个空闲的问题。数据条带化存储避免了使用专用驱动器,并确保数据处理负载在可用的驱动器间平均分配,同时通过同时写入多个数据块而提高了性能。

      奇偶校验

      人们经常混淆奇偶校验和镜像(或映像)。镜像涉及制作磁盘的拷贝。镜像是将数据同时写入两个驱动器的技术。因为两个驱动器中的任何一个都可以完成同一任务,所以这些系统具有优异的可靠性,并可获得出色的交易处理结果。但代价是必须购买两个驱动器而只得到一个驱动器的容量。镜像的开销为100%,或是双倍磁盘空间。如果一个磁盘发生故障,镜像磁盘将接替它进行运行。

      奇偶校验提供与镜像相同的一般保护,但开销较少。如果一个用户具有由5个磁盘组成的阵列,其中4个用于存储数据而1个用于奇偶校验。它的开销仅为20%,当需要考虑成本时,这是一个很大的优势。

      计算机只用0和1来表示数据。异或(XOR)是进行奇偶校验的一种方法。从每个磁盘中取出一位(0和1)并相加。如果和为偶数,则奇偶为被置为0;如果和为奇数,则奇偶位被置为1。

      根据RAID等级,奇偶校验即可保存到一个磁盘上,也可分配到所有磁盘上。当您使用5个磁盘时,每种方式的奇偶校验占磁盘空间的1/5或20%。当使用3个磁盘时,占1/3或33%。

          RAID配置等级    

          RAID指的是多个独立的硬驱合并组成一个逻辑阵列。如果在阵列上创建一个或多个 RAID 卷,操作系统将不再识别个别硬驱,而将每个卷认作单个逻辑硬驱。RAID 的主要目的是提高存储子系统的性能并支持容错。RAID 级别定义数据在包含阵列硬驱的卷中如何格式化。我再详细介绍一下常用的 RAID 级别 0(分段)、RAID 级别 1(镜像)、RAID 级别 5(含奇偶校验的分段)和 RAID 级别 10(分段和镜像)。
    RAID 0(分段)
         RAID 级别 0 将两个或更多硬驱合并,把所有数据分段为易于管理的块(称为数据块)。表 2 描述所允许的数据块大小的使用情形。这些数据块在 RAID 0 卷驻留的阵列成员中以条带形式分布。此方法通过允许同时从一个以上硬驱访问相邻数据而提高读写(尤其是顺序性读写)性能。但是,存储在 RAID 0 卷中的数据无冗余。因此,如果一个硬驱发生故障,卷中的所有数据都将丢失。
        优点:提高数据访问和存储性能;数据容量无损失。
        缺点:无数据冗余(如果一个硬驱发生故障,卷中的所有数据都将丢失)。
        应用:通常用于在台式机和工作站存储高性能、非关键数据和软件。

     
    RAID 1(镜像)
         RAID 级别 1 将两个硬驱合并,使所有数据同时写入 RAID 1 卷驻留的各阵列成员。换句话说,数据被镜像到 RAID 1 卷中的各个硬驱上。这通过将在第二个驱动器上创建第一个驱动器上所有数据的镜像,实现所有数据的实时冗余。
    优点:完全数据冗余;提高读取传输速度。
    缺点:存储容量最多只能等于最小的驱动器的容量;写入传输速度略降低。
    应用:通常用于在工作站和服务器存储关键数据。


    RAID 5(含奇偶校验的分段)
        RAID 级别 5 将三个或更多硬驱合并,把所有数据分段为易于管理的块(称为数据块)。RAID 5 使用奇偶校验。这是一种数学方法,用于将丢失的数据重建至单个驱动器,从而提高容错能力。数据和奇偶校验以轮转顺序跨阵列成员分段。由于采用奇偶校验分段,便有可能在以新驱动器替换故障硬驱后重建数据。在重建数据过程中计算丢失数据的额外工作将降低向卷写入的性能。RAID 5 处理较小 I/O 功能的性能比处理较大顺序文件时来得好。
       优点:完全的数据冗余;高效;容错;提高存储阵列性能。
       缺点:重建费时,重建正在进行时性能降低。
       应用:对文件和应用程序服务器以及因特网和局域网服务器为良好的选择。

    RAID 10(分段和镜像)
         RAID 级别 10 使用四个硬驱创建 RAID 级别 0 和 1 的组合。数据以条带形式分布于构成 RAID 0 组件的双驱动器阵列。RAID 0 阵列中的每个硬驱都由 RAID 1 阵列中的一个硬驱作为镜像。此种配置的优点是兼备 RAID 0 的性能和 RAID 1 的冗余。
       优点:提高性能及完全的数据冗余。
       缺点:需要四个硬驱(两个用于冗余),导致成本增加。
       应用:数据库服务器要求高性能和容错能力。

  • 相关阅读:
    去除测序reads中的接头:adaptor
    Python学习_13_继承和元类
    Matplotlib初体验
    Python学习_12_方法和类定制
    python+requests接口自动化测试框架实例详解教程
    typeof与instanceof运算符
    闭包与递归函数的区别
    添加SSH
    AndroidStudio常用快捷键总结
    git新建分支
  • 原文地址:https://www.cnblogs.com/sql4me/p/1519672.html
Copyright © 2011-2022 走看看