RAID 是英文 Redundant Array of Independent Disks(独立磁盘冗余阵列), 简称磁盘阵列. 下面将各个级别的 RAID 介绍如下.
一, 为什么使用 Raid?
1, 对磁盘高速存取(提速): RAID 将普通硬盘组成一个磁盘阵列, 在主机写入数据, RAID 控制器把主机要写入的数据分解为多个数据块, 然后并行写入磁盘阵列; 主机读取数据时, RAID 控制器并行读取分散在磁盘阵列中各个硬盘上的数据, 把它们重新组合后提供给主机. 由于采用并行读写操作, 从而提高了存储系统的存取速度.
2, 扩容.
3, 数据冗余.
二, 分类
RAID 可分为级别 0 到级别 6, 通常称为: RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6.
RAID0:RAID0 并不是真正的 RAID 结构, 没有数据冗余, RAID0 连续地分割数据并并行地读 / 写于多个磁盘上. 因此具有很高的数据传输率, 但 RAID0 在提高性能的同时, 并没有提供数据可靠性, 如果一个磁盘失效, 将影响整个数据. 因此 RAID0 不可应用于需要数据高可用性的关键应用.
RAID0 的优点: 最快的读写性能, 如果每块硬盘拥有独立的控制器性能将会更好.
RAID0 的缺点: 任何一块硬盘出现故障所有的数据都会丢失, 大部分的控制器都是通过软件实现的, 所以效能并不好.
-----------------------------------------------------------------------
RAID1:RAID1 通过数据镜像实现数据冗余, 在两对分离的磁盘上产生互为备份的数据. RAID1 可以提高读的性能, 当原始数据繁忙时, 可直接从镜像中读取数据. RAID1 是磁盘阵列中费用最高的, 但提供了最好的数据可用性. 当一个磁盘失效, 系统可以自动地交换到镜像磁盘上, 而不需要重组失效的数据.
RAID1 的优点: 数据高可靠性, 易于实现, 设计简单.
RAID1 的缺点: 比 RAID0 相比速度较慢, 特别是写入速度, 另外就是我们仅仅能使用一半的硬盘容量.
- -----------------------------------------------------------------------
- RAID0+1
这种 RAID 模式其实是 RAID0 和 RAID1 模式的组合, 至少需要 4 块硬盘. 其中任何两块组成一个 RAID0 磁盘阵列, 然后两个 RAID0 磁盘阵列可以看成两个容量更大, 速度更快的硬盘, 它们再组成一个 RAID1 磁盘阵列. 这样的系统保证了较高的磁盘性能和较高的数据安全性. 当然缺点也是显而易见的就是成本较高, 构造比较复杂. RAID0+1 在容错性能方面仅次于 RAID5, 一般用于文件服务器等方面.
-----------------------------------------------------------------------
RAID2: 从概念上讲, RAID2 同 RAID3 类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节. 然而 RAID2 使用称为 "加重平均纠错码" 的编码技术来提供错误检查及恢复. 这种编码技术需要多个磁盘存放检查及恢复信息, 使得 RAID2 技术实施更复杂. 因此, 在商业环境中很少使用.
RAID2 的优点: 数据安全性高, 只要存放校验码的硬盘没有故障就能恢复数据.
RAID2 的缺点: 昂贵, 需要专门的硬盘存放校验码, 效率不高, 没有商业应用的支持.
-----------------------------------------------------------------------
RAID3: 不同于 RAID2,RAID3 使用单块磁盘存放奇偶校验信息. 如果一块磁盘失效, 奇偶盘及其他数据盘可以重新产生数据. 如果奇偶盘失效, 则不影响数据使用. RAID3 对于大量的连续数据可提供很好的传输率, 但对于随机数据, 奇偶盘会成为写操作的瓶颈.
RAID3 的优点: 比较适合视频编辑等需要大数据量调用的场合.
RAID3 的缺点: 实现各个驱动器的转速同步非常困难(目前大部分的硬盘都不支持这个功能), 需要复杂的控制器.
-----------------------------------------------------------------------
RAID4:RAID4 和 RAID5 同样将数据条块化并分布于不同的磁盘上, 但条块单位为块或记录. RAID4 使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 成为写操作的瓶颈. 在商业应用中很少使用.
RAID4 的优点: 除了 RAID3 的优点之外, 它并不需要同步驱动器转速.
RAID4 的缺点: 写入性能很差, 控制器的要求较高.
-----------------------------------------------------------------------
RAID5:RAID5 没有单独指定的奇偶盘, 而是交叉地存取数据及奇偶校验信息于所有磁盘上. 在 RAID5 上, 读 / 写指针可同时对阵列设备进行操作, 提供了更高的数据流量. RAID5 更适合于小数据块, 随机读写的数据. RAID3 与 RAID5 相比, 重要的区别在于 RAID3 每进行一次数据传输, 需涉及到所有的阵列盘. 而对于 RAID5 来说, 大部分数据传输只对一块磁盘操作, 可进行并行操作. 在 RAID5 中有 "写损失", 即每一次写操作, 将产生四个实际的读 / 写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息.
RAID5 的优点: 不需要专门的校验码磁盘, 读取速度快, 而且解决了写入速度相对较慢的问题.
RAID5 的缺点: 写入性能依然不尽如人意.
-----------------------------------------------------------------------
RAID6:RAID6 与 RAID5 相比, 增加了第二个独立的奇偶校验信息块. 两个独立的奇偶系统使用不同的算法, 数据的可靠性非常高. 即使两块磁盘同时失效, 也不会影响数据的使用. 但需要分配给奇偶校验信息更大的磁盘空间, 相对于 RAID5 有更大的 "写损失".RAID6 的写性能非常差, 较差的性能和复杂的实施使得 RAID6 很少使用.
RAID6 的优点: 快速的读取性能, 更高的容错能力. RAID6 的缺点: 很慢的写入速度, RAID 控制器在设计上更加复杂, 成本更高.
详细介绍
RAID0
条带化 (Stripe) 存储. 理论上说, 有 N 个磁盘组成的 RAID0 是单个磁盘读写速度的 N 倍. RAID 0 连续以位或字节为单位分割数据, 并行读 / 写于多个磁盘上, 因此具有很高的数据传输率, 但它没有数据冗余, 因此并不能算是真正的 RAID 结构.
RAID1
镜象 (Mirror) 存储. 它是通过磁盘数据镜像实现数据冗余, 在成对的独立磁盘上产生互 为备份的数据. 当原始数据繁忙时, 可直接从镜像拷贝中读取数据, 因此 RAID 1 可以提高读取性能. RAID 1 是磁盘阵列中单位成本最高的, 但提供了很高的数据安全性和可用性. 当一个磁盘失效时, 系统可以自动切换到镜像磁盘上读写, 而不需要重组失效的数据.
RAID2
海明码 (Hamming Code) 校验条带存储. 将数据条块化地分布于不同的硬盘上, 条块单位为位或字节, 使用称为海明码来提供错误检查及恢复. 这种编码技术需要多个磁盘存放检查及恢复信息, 使得 RAID 2 技术实施更复杂, 因此在商业环境中很少使用.
RAID3
奇偶校验 (XOR) 条带存储, 共享校验盘, 数据条带存储单位为字节. 它同 RAID 2 非常类似, 都是将数据条块化分布于不同的硬盘上, 区别在于 RAID 3 使用简单的奇偶校验, 并用单块磁盘存放奇偶校验信息. 如果一块磁盘失效, 奇偶盘及其他数据盘可以重新产生数据; 如果奇偶盘失效则不影响数据使用. RAID 3 对于大量的连续数据可提供很好的传输率, 但对于随机数据来说, 奇偶盘会成为写操作的瓶颈.
RAID4
奇偶校验 (XOR) 条带存储, 共享校验盘, 数据条带存储单位为块. RAID 4 同样也将数据条块化并分布于不同的磁盘上, 但条块单位为块或记录. RAID 4 使用一块磁盘作为奇偶校验盘, 每次写操作都需要访问奇偶盘, 这时奇偶校验盘会成为写操作的瓶颈, 因此 RAID 4 在商业环境中也很少使用.
RAID5
奇偶校验 (XOR) 条带存储, 校验数据分布式存储, 数据条带存储单位为块. RAID 5 不单独指定的奇偶盘, 而是在所有磁盘上交叉地存取数据及奇偶校验信息. 在 RAID 5 上, 读 / 写指针可同时对阵列设备进行操作, 提供了更高的数据流量. RAID 5 更适合于小数据块和随机读写的数据. RAID 3 与 RAID 5 相比, 最主要的区别在于 RAID 3 每进行一次数据传输就需涉及到所有的阵列盘; 而对于 RAID 5 来说, 大部分数据传输只对一块磁盘操作, 并可进行并行操作. 在 RAID 5 中有 "写损失", 即每一次写操作将产生四个实际的读 / 写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息.
当进行恢复时, 比如我们需要需要恢复下图中的 A0, 这里就必须需要 B0,C0,D0 加 0 parity 才能计算并得出 A0, 进行数据恢复. 所以当有两块盘坏掉的时候, 整个 RAID 的数据失效.
RAID6
奇偶校验 (XOR) 条带存储, 两个分布式存储的校验数据, 数据条带存储单位为块. 与 RAID 5 相比, RAID 6 增加了第二个独立的奇偶校验信息块. 两个独立的奇偶系统使用不同的算法, 数据的可靠性非常高, 即使两块磁盘同时失效也不会影响数据的使用. 但 RAID 6 需要分配给奇偶校验信息更大的磁盘空间, 相对于 RAID 5 有更大的 "写损失", 因此 "写性能" 非常差. 较差的性能和复杂的实施方式使得 RAID 6 很少得到实际应用.
RAID7
这是一种新的 RAID 标准, 其自身带有智能化实时操作系统和用于存储管理的软件工具, 可完全独立于主机运行, 不占用主机 CPU 资源. RAID 7 可以看作是一种存储计算机(Storage Computer), 它与其他 RAID 标准有明显区别.
RAID 7 等级是至今为止, 理论上性能最高的 RAID 模式, 因为它从组建方式上就已经和以往的方式有了重大的不同. 基本成形式见图, 以往一个硬盘是一个组成阵列的 "柱子", 而在 RAID 7 中, 多个硬盘组成一个 "柱子", 它们都有各自的通道, 也正因为如此, 你可以把这个图分解成一个个硬盘连接在主通道上, 只是比以前的等级更为细分了. 这样做的好处就是在读 / 写某一区域的数据时, 可以迅速定位, 而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分, 在 RAID 7 中, 以前的单个硬盘相当于分割成多个独立的硬盘, 有自己的读写通道.
RAID10 和 RAID01 的比较
- RAID10 是先做镜象, 然后再做条带.
- RAID01 则是先做条带, 然后再做镜象.
比如以 6 个盘为例, RAID10 就是先将盘分成 3 组镜象, 然后再对这 3 个 RAID1 做条带. RAID01 则是先利用 3 块盘做 RAID0, 然后将另外 3 块盘做为 RAID0 的镜象. 下面以 4 块盘为例来介绍安全性方面的差别:
1,RAID10 的情况
这种情况中, 我们假设当 DISK0 损坏时, 在剩下的 3 块盘中, 只有当 DISK1 一个盘发生故障时, 才会导致整个 RAID 失效, 我们可简单计算故障率为 1/3.
2,RAID01 的情况
这种情况下, 我们仍然假设 DISK0 损坏, 这时左边的条带将无法读取. 在剩下的 3 块盘中, 只要 DISK2,DISK3 两个盘中任何一个损坏, 都会导致整个 RAID 失效, 我们可简单计算故障率为 2/3.
因此 RAID10 比 RAID01 在安全性方面要强.
从数据存储的逻辑位置来看, 在正常的情况下 RAID01 和 RAID10 是完全一样的, 而且每一个读写操作所产生的 IO 数量也是一样的, 所以在读写性能上两者没什么区别. 而当有磁盘出现故障时, 比如前面假设的 DISK0 损坏时, 我们也可以发现, 这两种情况下, 在读的性能上面也将不同, RAID10 的读性能将优于 RAID01.
来源: http://www.bubuko.com/infodetail-3106530.html