对于RAID,一直都知道个概念,但是对于细节没有去仔细的研究过。正好昨天Training的时候, 老师讲解了RAID的内容,所以顺便就整理一下。很多内容都是参考了ISMv2这本书。

RAID中用到的技术主要有

1. Striping

2. Mirroring

3. Parity

Striping(条带化): 就是将一块连续的数据分成很多小部分并把他们并行的存储到不同磁盘上去。其中涉及到几个术语 Strip,Stripe,Strip size,Stripe size。Strip就是在每个磁盘上预先定义好的一定数量的连续的Block。在RAID中所有磁盘上的Strip一起叫做一个Stripe。Strip size (Stripe depth)指的是一个strip中的最大数据大小即block number* block size。Stripe size指的就是stripe的大小即disk number * strip size。

Mirroring (镜像):就是将同一数据存储在两块不同的硬盘上,从而产生该数据的两个copy。当其中一块faulted,替换了新disk之后,Controller会自动将好的磁盘中的数据copy到新的磁盘中。

Parity(奇偶校验):主要是来为Striped RAID提供数据保护功能。利用位异或(XOR)的算法,将产生的校验值额外进行保存在磁盘上。可以是额外的一块磁盘,也可以分布在所有磁盘上。注意在ISM书中P56的例子是错误的。异或并非例子中的加减操作。关于Parity的计算可以参考:RAID 5 Parity. What is it, and how does it work? 。 写的很好理解。

对于这Striping,Mirroring,Parity有了基本的理解之后。下面就是RAID类型的介绍。RAID主要有这几种类型RAID 0, 1, 3, 5, 6, 10, 01。

RAID 0

直接采用Striping的技术,过程如下图所示。

读:对于每一个文件的读操作,RAID controller会去读取这个文件所有的strip,是一个并发的I/O,所以读性能比较好的。Disk数量越多,读性能越好。

写:和读操作类似,RAID Controller会分成多个strip写到各个disk中,所以写的性能比较好。

性能:读写性能比较好。适合高I/O的情景。

优点:I/O性能好。

缺点:没有数据保护。

RAID 1

采用mirroring技术,能够提够数据容错能力(fault tolerance)。这个也很好理解。过程如下图所示。

RAID 10

也叫做striped mirror。Disk 先做mirror,然后对这三个RAID1做striping。

RAID 01

是先将其中一半disk做RAID 0, 然后再做mirroring。

两者之间的性能和可用空间是一样的,在容错方面RAID 10 要优于RAID 01,在数据rebuild时候RAID 10 也是有优势的,所以RAID 01 很少见到。

1. 容错方面:由于RAID 10 是先做mirror.是多组RAID,可以允许最多一半的disk损害,前提是不在一个RAID1中。而RAID 01中,如果一块disk fault,那么这个RAID 0就fault。另外的一个RAID 0 无法容忍disk fault的情况,否则就是DL。

2. Rebuild过程: RAID 01 中,假设其中一块disk fault,如果要recovery。那么需要另外一个RAID 0 来做Mirror,将整个stripe的数据copy到对应的disk中,而对于RAID 10 来说,只需要去copy一个disk就可以了。

RAID 3

RAID 3 和RAID 5 类似,只是Parity 信息都写到一个disk中,由于每个写操作,会产生2 Reading+ 2 Writing的操作。并且其中的一个R ,W都是在这个Parity 的disk上,所以很容易造成这个disk的fault。实际中用的也不多。

RAID 5

RAID 5的Parity信息是写在各个disk中的,所以没有RAID 3 的单个disk瓶颈。

RAID 6

RAID 6中有两个Parity的信息,是写在各个disk中的,可以容忍两块disk的fault。具体算法牵扯到线性代数中的矩阵,大学的学的基本忘干净了。可以参考 这篇文章:RAID6算法解析

关于不同RAID Level的比较可以参考下图:

References:

1. RAID 5 Parity. What is it, and how does it work?

2. Data_striping

3. RAID-5 Volumes

4. 存储入门必读-存储基础知识

https://tonglol.wordpress.com/2014/01/16/%E5%AD%98%E5%82%A8%E5%85%A5%E9%97%A8-raid%E6%8A%80%E6%9C%AF/

存储入门 – RAID技术(大图解释)的更多相关文章

  1. 1 RAID技术入门

    序   RAID一页通整理所有RAID技术.原理并配合相应RAID图解,给所有存储新人提供一个迅速学习.理解RAID技术的网上资源库,本文将持续更新,欢迎大家补充及投稿.中国存储网一如既往为广大存储界 ...

  2. 大话存储 3 - 七种磁盘RAID技术

    RAID技术 Redundant Array of Independent Disks 由独立的磁盘组成的具有冗余特性的阵列. 有两个特性: 阵列:需要很多磁盘来组成 冗余:允许某块磁盘损坏之后,数据 ...

  3. 存储系列之 RAID技术原理简介

    引言:RAID技术是现代大规模存储的基础,“基础(技术)是拿来革命的”.我查raid相关资料时,查布尔运算,竟然一路查到“香农原理”,这不是有个视频中HW的任总提到的吗,多基础的东西,任总却毫不含糊, ...

  4. 【转】RAID 技术发展综述

    原文地址:https://blog.csdn.net/liuaigui/article/details/4581970   摘要 :现代企业信息化水平不断提高,数据已经取代计算成为了信息计算的中心.这 ...

  5. RAID技术介绍

    RAID技术介绍 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAI ...

  6. 双机相关知识(原理、LVM、Raid技术)

    1        双机知识 1.1         预备知识 1.1.1     基本概念 双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个 ...

  7. [转]RAID技术介绍和总结

    以下内容转自伯乐在线:http://blog.jobbole.com/83808/ 原文出处: 涯余(@若东临于沧海) ---------------------------------------- ...

  8. RAID技术介绍和总结

    简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念. RAID全称为独立磁盘冗 ...

  9. 高速掌握sinox2014激动人心的ZFS和RAID技术

    Sinox2014引入激动人心的zfs系统以及其支持的RAID,让用户高速打造便宜的高可靠性文件server. ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统( ...

随机推荐

  1. [vsftp服务]——ftp虚拟用户、权限设置等的实验

    搭建ftp服务器,满足以下要求: 1.允许匿名用户登录服务器并下载文件,下载速度设置为最高2MB/s 2.不允许本地用户登录ftp服务器 3.在服务器添加虚拟用户vuser01.vuser02.vus ...

  2. opencv颜色识别代码分享

    android 平台 opencv 实现颜色识别代码:http://www.eyesourcecode.com/thread-40682-1-1.htmlopencv的颜色识别简单实现的代码:http ...

  3. 宣讲ppt的技巧

    这是一个L运营商的项目,项目规模比较大,中兴的客户群体定位主要是电信运营商,运营商的项目做起来非常累,不是一般的小公司能玩的,一般项目要经过这几个过程,前期信息获得——技术交流引导——实验局测试——投 ...

  4. Codeforces Beta Round #80 (Div. 1 Only) D. Time to Raid Cowavans 离线+分块

    题目链接: http://codeforces.com/contest/103/problem/D D. Time to Raid Cowavans time limit per test:4 sec ...

  5. 06.Hibernate实体类生命周期

        前言:Session接口是Hibernate向应用程序提供的操作数据库的主要接口,它提供了基本的增删查改方法,而且Session具有一个缓存它是Hibernate的一级缓存.站在持久化层的角度 ...

  6. Eclipse支持Jquery代码提示(JqeuryWTP)

    问题描述:        Eclipse支持Jquery代码提示   问题解决: 下载 JqueryWTP.jar文件         文件替换        在Eclipse/plugin 路径下, ...

  7. BZOJ 1001: [BeiJing2006]狼抓兔子 最小割

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓 ...

  8. 【BZOJ】【2038】小Z的袜子

    填个坑吧,学习了莫队算法.我也忘记是看的哪位大牛的博客&代码学习的了T_T,如果您发现了的话请私信我,我会注明学自您的代码. 另外感谢@PoPoQQQ大神 好,进入正文,莫队算法,也算是一种暴 ...

  9. wrap device

    刚刚看见了,wrap device && reference device 区别在这里 https://msdn.microsoft.com/en-us/library/windows ...

  10. 用Time Machine做更换电脑工具

    简介: Time Machine这个工具,是直接备份硬盘上的内容.所以,它是直接有备份系统的. 准备: 1.准备一个移动硬盘,存贮空间大于你需要备份系统空间 操作流程: 1. 用Disk Utilit ...