前言:何为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. Python学习(一) Python安装配置

    我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...

  2. 库函数 Math

    int abs( int num ); double fabs( double arg ); long labs( long num ); 函数返回num的绝对值   #include <mat ...

  3. C语言内存分配函数

    c语言标准库提供了3个内存分配的函数,都包含在头文件<stdlib.h>中 1.malloc 函数原型: void *malloc( size_t size ); 参数:要分配内存大小的字 ...

  4. zip格式压缩、解压缩(C#)

    压缩方法 #region 压缩 /// <summary> /// 压缩 /// </summary> /// <param name="bytes" ...

  5. Oracle 10g RAC启动与关闭命令

    一. 检查共享设备 一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的. 如果他们没有启动,RAC 肯定是启动不了的. 1.1 如果使用ocfs2的,检查o ...

  6. zoj 3772 Calculate the Function

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5235 这道题需要构造矩阵:F(X)=F(X-1)+F(X-2)*A(X)转化为 ...

  7. Codeforces 582B Once Again

    http://codeforces.com/contest/582/problem/B 题目大意:给出一个序列,是由一个长度为n的序列复制T次得到的,问最长非下降子序列的长度. 思路:我们建立一个n* ...

  8. dubbo初体验

    最近需要开发部门中某个大数据量的提取的功能,加到了一个ElasticSearch的群.在群里听说到一个框架叫dubbo,阿里系开源软件.听到群友谈的神乎其神的,什么什么功能切分多协议栈,高并发等等等. ...

  9. C++函数后面加const修饰

    声明一个成员函数的时候用const关键字是用来说明这个函数是 "只读(read-only)"函数,也就是说明这个函数不会修改任何数据成员(object). 为了声明一个const成 ...

  10. MBI 跨国网络传销 金字塔诈骗 解密

    马来西亚  反传销博客地址http://combatingillegalpyramidscheme.blogspot.jp/search/label/Mface 需要FQ访问  闽渝警方协作抓获一名公 ...