前言:何为raid

raid是利用多个磁盘组成一个可提升效能、可包含冗余的磁盘阵列组。常用于数据吞吐量大(视频),冗余要求高的场景

当前raid包含了raid0-7,以及组合方式raid10,raid01,raid50等。

下面说下各个raid的特点:

1、raid0 称之为条带

  -1  所有raid中读写速度最快,采用独立存取(数据分块),依次写入各个磁盘,写略有降低,读巨量提升

  -2  所有raid中最不安全,因为他没有冗余备份能力

  -3  磁盘数量n>=2,使用效率100%

  -4  只要有一块盘损坏,则数据就会丢失

2、raid1 称之为镜像(数据冗余度要求高)  常用

  -1  读写速度中等,独立存取,依次写入一个磁盘组的各个磁盘,同时再次写入另一个镜像磁盘组的各个磁盘,写中等下降,读性能提升100%,两个组同时读

  -2  允许2个磁盘组中任意一个组损坏,但不能同时损坏,但是一个组一旦发生问题,还原同步将消耗大量带宽

  -3  磁盘数量2的倍数,使用效率50%

3、raid2-3 专用奇偶校验阵列(不常用)

  -1  采用并行存取(数据块再次分块),同时对数据进行异或运算,将运算结果存入校验盘,写性能最低,读无影响,但整体性能由校验盘决定,因为校验盘速度慢,则整       体性能就不行

  -2  采用异或运算方式恢复数据,异或运算原理:相同为假0,不同为真1例如:

     原数据(异或运算) 1 0 = 1

     损坏后  1 ?= 1

     再次异或运算

     恢复后 ?=0

     因此,可允许一个盘损坏,但是损坏后,需尽快换盘(因为丢失数据均需异或运算得出,大大增加剩余盘的压力,更有可能在新盘加入后,还需要进行恢复,此过程指不     定剩余盘也因为压力过大也坏掉了,那就彻底完了) 

  -3  磁盘数量n>=3,使用效率(n-1)/n

4、raid4   校验盘(不常用)

  -1  采用独立存取,其他与raid3相同

5、raid5 奇偶校验盘(web/mail/一定量的mysql场景)  常用

  -1  独立存取,写效率中等,读效率高,速度不如raid0

  -2  将校验信息不在存放到单一盘上,而是分散到各个磁盘中,可允许一块盘损坏,但是新盘重建很复杂,速度很慢,安全不如raid1

  -3  磁盘数量n>=3,使用效率(n-1)/n

  -4  各方面处于raid0和raid1之间

6、raid6
  -1  p+q方式,将两个校验码分散到所有盘上
  -2  DP方式,专属两个校验盘

7、raid7 新型存储,自身管理(有ram,cpu,操作系统),不消耗主机资源

8、raid10 镜像阵列条带  常用

  -1  先raid1,将磁盘分成多个组(每个组内磁盘为2的倍数),每个组按照raid1的方式再次重组,即  a|b && c|d && e|f && g|h 关系,a与b数据相同,cd相同,ef相同,gh相同,然后四个raid1小组组成raid0

  -2  允许每个raid1组损坏其中的一个子磁盘组,但是不能整个raid1组损坏

9、raid01

  -1  先raid0,将磁盘分为两组(后建立raid1,致使必须分成两组),之后按照raid1方式建立 即abcd|efgh关系,abcd与efgh数据相同,两个大组组成raid0

  -2  冗余和raid1相同,两个磁盘组,只能损毁一个

  -3  各方面均不如raid10

10、raid50(构建不易,性能佳)

  -1  将磁盘分为多个raid5组(组内磁盘n>=3),各个组按照raid0的方式构建,读性能好,写性能略好,冗余能力好,重建时间低于raid5

  -2  每一个raid5组有一个冗余盘,故冗余盘(可损坏的盘)=raid5组的数量,但是每一个raid5子组只能损坏一个盘

  -3  raid5组越多,并行读取能力越低(组越多,冗余盘越多,可用盘越少,读取性能下降),冗余能力越强,反之,亦然

附:

raid存储器相关:

raid存储器芯片速度快,硬盘速度慢,如何解决,靠存储器上的内存,存储器将数据放于内存,之后内存转至硬盘,但是如果内存转至硬盘的过程中,

发生意外停电,如何解决,靠存储器上的电池,因此,raid是否包含内存和电池,也是需要考虑的。

磁盘管理三-raid的更多相关文章

  1. 磁盘管理之 raid 文件系统 分区

    第1章 RAID 磁盘阵列 1.1 使用raid的目的 1)获得更大的容量 2)让数据更安全 3)读写速度更快 1.2 raid0.raid1.raid5.raid10对比 磁头 0磁道 1扇区 前4 ...

  2. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

  3. linux磁盘管理系列三:LVM的使用

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  4. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  5. 每天进步一点点——Linux磁盘管理LVM与RAID

    转载请注明出处:http://blog.csdn.net/cywosp/article/details/38965799 1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,仅仅能通过加入硬盘. ...

  6. RAID5的创建(5块磁盘,三块做raid,两块做备份)

    RAID5的创建(5块磁盘,三块做raid,两块做备份) 第一步:参考我的上一篇博客,用同样的方法添加5块硬盘.地址如下: https://www.cnblogs.com/Feng-L/p/11735 ...

  7. Linux RAID 磁盘管理

    Linux RAID 磁盘管理 RAID工作模式介绍:https://www.cnblogs.com/xiangsikai/p/8441440.html 本章主要讲解 Linux下 RAID5 与 R ...

  8. liunx 磁盘管理命令记录

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  9. LVM磁盘管理

    http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html Linux LVM硬盘管理及LVM扩容 LVM磁盘管理 一.LVM简介... ...

随机推荐

  1. 制作 leanote docker 镜像

    leanote 使用 mongodb 存储数据,如果把 mongodb 单独做成一个镜像,初始化数据时比较麻烦,所以最后还是决定把 mongodb 和 leanote 放到同一个镜像里边. docke ...

  2. 最短路--hdu2544

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. hdu 4302 Holedox Eating

    http://acm.hdu.edu.cn/showproblem.php?pid=4302 #include <cstdio> #include <cstring> #inc ...

  4. XJOI网上同步训练DAY1 T3

    思路:一开始看到这题的时候想DP,可是发现貌似不行..因为有前缀也有后缀,而且有的后缀会覆盖到现在的前缀,这就不满足无后效性了啊! 但是有个很巧妙的思路:如果我们知道a[i]的最大值,那么p的数量和q ...

  5. tp28xx port pin (open-drain )and (push-pull) 和open collector)

    具有开漏(OD)输出的器件是指内部输出和地之间有个N沟道的MOSFET(T1),这些器件可以用于电平转换的应用.输出电压由Vcc'决定.Vcc'可以大于输入高电平电压VCC(up-translate) ...

  6. 发送cookie

  7. Compound class names are not supported. Consider searching for one class name and filtering the results

    原文地址:http://stackoverflow.com/questions/20361643/compound-class-names-are-not-supported-consider-sea ...

  8. EBS R12 查询EBS用户相关SQL

    --R12查询EBS在线用户SQL  SELECT U.USER_NAME,        APP.APPLICATION_SHORT_NAME,        FAT.APPLICATION_NAM ...

  9. c++ 14

    一.堆栈(stack) stack -> vector/deque/list push  -> push_back pop   -> pop_back top   -> bac ...

  10. unix c 03

    C程序员的错误处理   errno/perror/strerror 都是系统设计好的   自定义函数中的错误处理    1 可以返回-1 代表错误    2 指针类型可以用 NULL 代表错误    ...