RAID磁盘阵列(Redundant Arrays of Inexpensive Disks)

一个基本思想:将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。

两个关键目标:高 I/O 性能(多磁盘并发读写)和高数据可靠性(数据校验和镜像)。

三个关键技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity ) [3][4][5] 。

七个标准等级:SNIA 、 Berkeley 等组织机构按照磁盘组织在一起的工作方式不同,把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七个等级定为标准的 RAID 等级,这也被业界和学术界所公认。

多个组合等级:标准 RAID 可以组合,即 RAID 组合等级,满足对性能、安全性、可靠性要求更高的存储应用需求,常用的有R01、R10。

1.RAID0模式:一块硬盘或者以上就可做raid0

RAID0 是一种简单的、无数据校验的数据条带化技术,不提供任何形式的冗余策略。将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于并发执行磁盘 I/O 操作,且不需要进行数据校验,总线带宽可得到充分利用。

优势:理论上N块磁盘组成的RAID0,硬盘容量提高N倍,读写速率为单块硬盘的N倍,读写性能在所有 RAID 等级中是最高的。

缺点:无冗余容错能力,一块硬盘损坏,数据全无。

建议:做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用,如视频、音频存储、临时数据缓存空间等。

 2.RAID1模式:至少2块硬盘可做raid1

RAID1 称为镜像,它将是数据完全一致地分别写到工作磁盘和镜像磁盘,两块硬盘互为镜像。

优势:镜像,数据安全强,2快硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。

缺点:磁盘空间利用率50%;读取时可并发I/O操作,读性能大大提升;但写入时一份数据写入两块磁盘,写性能略有下降。

建议:对数据安全性比较看重,写性能没有太高要求的场景使用,如对邮件系统的数据保护。

3.RAID 3模式:至少3块硬盘可做raid3

RAID3是使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据以位为单位来分割并交叉存储到各个数据盘中。

RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验(奇偶校验),校验值写入校验盘中。 某一磁盘出现故障,可以借助校验数据和其他完好数据来重建数据。

重建原理主要是知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。XOR的校验原理如下表:

假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

优点:RAID3 完好时读性能与 RAID0 完全一致;只要一个校验盘,存储空间利用率高。

缺点:需要计算和写入校验值,系统开销非常大。校验盘仅有一个,很容易成为系统瓶颈,尤其是出现坏盘性能会大幅下降。

建议:适用于大容量数据的顺序访问场景,如影像处理、流媒体服务等。

 4.RAID 5模式:至少需要3块硬盘做raid5

RAID5 应该是目前最常见的 RAID 等级,基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

RAID5与 RAID3 的原理大致相同,区别在于条带化的方式不同,RAID3是按照位的方式来组织数据,RAID5按照块的方式组织数据。

RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

优势:RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。任意N-1快硬盘都有完整的数据。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10。

 5.RAID 6模式:至少需要4块硬盘做raid6

raid6是再raid5的基础上为了加强数据保护而设计的,引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。

可用容量 = ( 磁盘数量 - 2 ) × 单个磁盘容量,例如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T

优势:可允许损坏2块硬盘。

缺点:性能提升方面不明显

建议: RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。

6、RAID 10模式:至少需要4快硬盘做raid10或raid01

RAID10 是磁盘分段及镜像的结合,把2块硬盘组成一个RAID1,然后两组RAID1组成一个RAID0。虽然RAID10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性。

优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的。

缺点:对盘的数量要求稍高,磁盘使用率为一半。

建议:硬盘数量足够的情况,建议riad10.

 (1)raid10 VS raid01

RAID01 与RAID10类似,采用2组RAID0的磁盘阵列互为镜像,它们之间又成为一个RAID1的阵列。

RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。

(2) raid10 VS raid 5

只看盘的数量的话,raid5的写性能不逊于raid10。

看容量4块硬盘的情况下,raid10提供2盘的写性能,raid5提供3盘。但raid5的校检本质,导致额外的I0和CPU使用。

7.应用选择

RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。 目前,在实际应用中常见的主流 RAID 等级是 RAID0 , RAID1 , RAID3 , RAID5 , RAID6 和 RAID10 ,它们之间的技术对比情况如下表所示:

如果不要求可用性,选择 RAID0 以获得高性能。

如果可用性和性能是重要的,而成本不是一个主要因素,则根据磁盘数量选择 RAID1 。

如果可用性,成本和性能都同样重要,则根据一般的数据传输和磁盘数量选择 RAID3 或 RAID5 。

在实际应用中,应当根据用户的数据应用特点和具体情况,综合考虑可用性、性能和成本来选择合适的 RAID 等级。

参考文档:

图文并茂 RAID 技术全解

RAID原理及软RAID的实现方式

RAID优缺点和做各自raid需要几块硬盘

【存储】RAID磁盘阵列选择的更多相关文章

  1. 存储之磁盘阵列RAID

         存储之磁盘阵列RAID RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的.RAID名为独立冗余磁盘阵列(RedundantArray of Indepe ...

  2. 快速理解几种常用的RAID磁盘阵列级别

    我发现周围不少人在学习和理解RAID磁盘阵列的原理时,找了很多专业的资料来看,但是因为动手的机会比较少,因此看完以后还是似懂非懂,真正遇到实际的方案设计的时候,还是拿不定主意. 因此,我结合自己在过去 ...

  3. RAID磁盘阵列学习笔记

    RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列.简单地解释,就是将N台硬盘通过RAID Controller(分Hardware ...

  4. RAID磁盘阵列及CentOS7系统启动流程

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意,,数据读取无影响.将数据切割成许多区段,分别存放在各个硬盘 ...

  5. 末学者笔记--Linux中RAID磁盘阵列及centos7启动过程

    <一>RAID概念 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便 ...

  6. 1-15-1 RAID磁盘阵列的原理和搭建

    大纲: 1.1-1-企业级RAID磁盘阵列 RAID磁盘阵列的原理 RAID0,1,5,10的搭建 硬件RAID卡 1.2-1-使用廉价的磁盘搭建RAID磁盘阵列 实战-配置RAID0带区卷 ==== ...

  7. RAID磁盘阵列及CentOS7启动流程

    1. 磁盘阵列 1.1 RAID,磁盘阵列磁盘通过硬件和软件的形式组合成一个容量巨大的磁盘组,提升整个磁盘的系统效能:RAID常见类型: RAID类型 最低磁盘个数 空间利用率 各自的优缺点 级别 说 ...

  8. RAID磁盘阵列介绍

    磁盘阵列 RAID介绍 一.简介: 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 最初是由加利福尼亚 ...

  9. Linux中raid磁盘阵列

    一.磁盘阵列(Redundant Arrays of Independent Disks,RAID) 有“独立磁盘构成的具有冗余能力的阵列”之意. 磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID卡 ...

随机推荐

  1. Dapper批量更新

    本次示例项目使用Dappe1.50.5和Dapper.Contrib1.50.5 数据库执行的脚本检测工具是SQL Server Prifiler 1.使用Where In 实现批量更新 1.1代码如 ...

  2. asp.net-服务器控件-Label-20180329

    主要用于展示静态文本.可使用代码改变Label控件属性. Label常用属性 ID:控件名称 Text:显示的文本 Width:宽度设置 BackColor:背景颜色 BorderColor:边框颜色 ...

  3. 1. volatale 关键字 -内存可见性

    package com.gf.demo01; /** * 一.volatile 关键字:但多个线程进行操作共享数据时,可以保证内存中数据可见性. * */ public class TestVolat ...

  4. 2018最新iOS端界面UI设计规范整理

    在iPhone 6还没出的时候,都是用640×1136 px来做设计稿的,自从6的发布,所有的设计稿尺寸以750×1334 px来做设计稿尺寸 以750x1334px作为设计稿标准尺寸的原由: 从中间 ...

  5. Java并发编程-ReentrantReadWriteLock

    基于AQS的前世今生,来学习并发工具类ReentrantReadWriteLock.本文将从ReentrantReadWriteLock的产生背景.源码原理解析和应用来学习这个并发工具类. 1. 产生 ...

  6. JavaScript函数重载

    译者按: jQuery之父John Resig巧妙地利用了闭包,实现了JavaScript函数重载. 原文: JavaScript Method Overloading 译者: Fundebug 为了 ...

  7. 我为什么推荐Prettier来统一代码风格

    译者按: 关于代码风格,不同的人有不同的偏好,其实并没有什么绝对的对错.但是,有2条原则应该是对的: 少数服从多数:用工具统一风格. 原文: Why robots should format our ...

  8. 微信小程序 JS 获取View 和 屏幕相关属性(高度、宽度等等)

    wx.getSystemInfo({success: function (res) {thisWidth = res.windowWidth;}}); that.setData({view_Width ...

  9. windows生成当前目录树

    tree /f > list.txt 需要以管理员运行cmd

  10. BZOJ2783: [JLOI2012]树(树上前缀和+set)

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1215  Solved: 768[Submit][Status][Discuss] Descriptio ...