若转载请于明显处标明出处:http://www.cnblogs.com/kelamoyujuzhen/p/5561809.html

为啥子引入RAID?

  存储最现实的两个问题:速度、容量

  001——计算机发展历史

  回顾计算机发展历史,以我们最常用的minicomputer为例,一个tower或cabinet也就装几块硬盘,虽然现在SATA单块盘都做到3T了,但是对于企业而言还是远远不够。这是容量问题。

  速度问题:

  1、无论单碟盘 还是 多碟盘,单位时间只能有一个磁头在读写,多磁头并发读写的产品目前还没有。

  2、影响磁盘速度的主要原因在于换道,如何有效减少换道时间

  针对 速度+容量 这2个问题,RAID问世了。将多块磁盘组成RAID,既提高了容量,又提高了速度(一块磁盘在换道,其他磁盘不一定啊,因此大大提高效率)。

RAID类型

软RAID

1、占用内存空间

2、占用CPU资源

3、软件RAID程序无法将安装有OS的那个Disk 分区做成RAID模式

硬RAID(RAID卡)

  种类:

    0通道RAID

    无驱RAID

    RAID on chip (ROC技术)

RAID卡的初始化和配置过程

所谓初始化就是说在系统加电之后, CPU 执行系统总线特定地址上的第一句指令,这个地址便是主板 BIOS 芯片的地址。BIOS 芯片中包含着让 CPU 执行的第一条指令, CPU将逐条执行这些指令, 执行到一定阶段的时候, 有一条指令会让 CPU 寻址总线上其他设备的 ROM 地址(如果有)。 也就是说,系统加电之后, CPU 总会执行 SCSI 卡这个设备上 ROM 中的程序代码来初 始化这块卡。 初始化的内容包括检测卡型号 、 生产商以及扫描卡上的所有 SCSI 总线以找出每个设备并显示在显示器上。在初始化的过程中, 可以像进入主板 BIOS 样, 进入 SCSI 卡自身的BIOS中进行设置,设置的内容包括查看各个连接到SCSI总线上的设备的容量、生产商、状态、SCSI ID和LUN ID等。

其余RAID介绍见:004——最最常用的RAID

RAID 2

  RAID0激进,RAID1太保守。RAID2是 RAID0 1的折中。引入校验盘,校验算法为汉明码。在写数据的时候写校验数据。

RAID 3

  与RAID2 一样,只不过校验方式由汉明码改为逻辑校验。

RAID 4

  拉个大弓,放个小屁。虚张声势而已

  考虑到RAID2、3 他们的并发都是单次IO对多块磁盘之间的并发,那RAID4能不能做到多个IO的并发呢?当然可以,为此需要磁盘做出相应修改

  要想多IO并发,就要保证有磁盘未被IO占用,为此可以增大Stripe深度。这样就将IO限制在数量很少的磁盘上面。同时避免不要连续读写一块磁盘,增大数据分布随机性。RAID4做到了这几点,但是忽略了一个问题——校验盘

  每次IO,都是数据盘+校验盘一起写,校验盘成为了热点盘。即使某块盘上面的IO写完了,但是校验盘还在忙活,其他的IO看着这块空闲的磁盘也用不了,必须等待校验盘空闲下来才能上位。相当于面对大海却渴死了,因此,RAID4并没有实现并发IO。

RAID5E

RAID5 相比较RAID4 实现了并发IO(通过打散校验盘),看起来很美好,但是也有可靠性问题。试想,一旦一块磁盘跪了,针对这块故障盘的读IO,实际上其他磁盘+校验盘 算出来返回的。写IO是被RAID卡从定向到正常磁盘+校验盘的。外界感觉不到有磁盘故障。如果有一块盘故障,系统IO负担无疑加大,如置之不理,很有可能再坏一块盘,继而故障雪崩。RAID5的做法是在发现故障盘后,赶紧插上一块好的磁盘,其他磁盘+校验盘 计算出损坏的数据写到新插入的此磁盘上面。但是这有个前提,就是在恢复故障盘的时候不能再有其他磁盘损坏,否则玉石俱焚!为此引入热备盘,热备盘也跟校验盘一样被打散分布在各个磁盘上面。按照校验盘是否像数据盘一样条带化,又分为RAID5E、RAID5EE

软硬RAID 和 不常见的RAID的更多相关文章

  1. 什么是RAID?RAID有什么用?RAID原理

    什么是RAID 硬盘是个很脆弱的东西,它经常会坏掉.所以,为了保证服务器可靠耐用,硬盘必须时时刻刻保持可用.所以有了RAID这个东西.它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个 ...

  2. MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态

    MegaCli 监控raid状态 转载weixin_30344131 最后发布于2015-10-16 13:05:00 阅读数    简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了 ...

  3. 服务器中常见的RAID

    Standalone 最普遍的单磁盘储存方式. Cluster 集群储存是通过将数据分布到集群中各节点的存储方式,提供单一的使用接口与界面,使用户可以方便地对所有数据进行统一使用与管理. Hot sw ...

  4. Raid 5数据恢复原理以及raid 5数据恢复实际操作案例

    Raid 5数据恢复算法原理 要理解 raid 5数据恢复原理首先要先认识raid5,"分布式奇偶校验的独立磁盘结构"也就是我们称之为的raid 5数据恢复有一个概念需要理解,也就 ...

  5. 模拟示例raid 5(5块磁盘 3块做raid 2块做备份 ) raid 10(5块磁盘) 修改版

    RAID5:需要至少三块(含)硬盘,兼顾存储性能.数据安全和储存成本. RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高. raid 10(5块磁盘) 1.添加硬盘设备(添加5块) ...

  6. 硬RAID和软RAID

    RAID简介: RAID是 Redundant Array of Independent Disks的简写,意为独立磁盘冗余阵列,简称磁盘阵列.基本思想是把多个相对便宜的硬盘结合起来,称为一个磁盘阵列 ...

  7. 影响MySQL的性能(一)磁盘的选择

    一.磁盘的选择也是影响MySQL的性能的重大因素之一 1.使用传统的机器硬盘读取数据的过程 2.如何选择传统机器硬盘的因素 二.使用RAID增加传统机器硬盘的性能 1.什么是RAID技术 2.常见的R ...

  8. 手动创建分区以及软硬raid的问题

    本文章旨在介绍安装centos7时手动分区问题,及其所对应的软硬raid问题.在新建centos7系统时,需要手动分区时,提供给我们三个选项: 在上图中,默认选项为“Standard Partitio ...

  9. 《linux就该这么学》课堂笔记10 SWAP、磁盘容量配额、软硬链接、RAID

    1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备 ...

随机推荐

  1. MVC4笔记 RedirectResult,RedirectToRoute

    RedirectResult:运行重新导向到其他网址,在RedirectResult的内部,基本上还是以Response.Redirect方法响应HTTP 302暂时导向. eg: public Ac ...

  2. 【转载】我为什么放弃了 Linux 内核学习?

    最近学习内核很是心累,碰巧看到这篇文章,有点意思~ 转自http://happypeter.github.io/index.html,以下为原文内容: 我在国内的技术类网站 / 博客上, 时常会看到分 ...

  3. 网络I/O模型

    事件驱动模型 与传统编程模式不同,事件驱动程序在启动之后,就在那等待,等待什么呢?等待被事件触发.传统编程下也有“等待”的时候,比如在代码块D中,你定义了一个input(),需要用户输入数据.但这与下 ...

  4. 查看Mysql是否开启binlog

    show variables like 'log_bin';

  5. QT 头文件之间相互包含会报错:类名不存在

    "希望是一个美好的东西! 希望, 这能自己给自己,否则只有无尽的痛苦和迷茫!"---Frank 假设你写了两个类A和B,如果在A.h中有 #include<B.h>;  ...

  6. [转帖]MyCat教程【简单介绍】

    MyCat教程[简单介绍] 2019-10-15 10:27:23 波波烤鸭 阅读数 618 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  7. matplotlib笔记3

    关于matplotlib的绘制图形的基本代码,我们可以参照下面的连接 https://matplotlib.org/gallery/index.html https://matplotlib.org/ ...

  8. idea .gitignore模板

    IDEA 创建的项目,需要搞个.gitignore文件,文件内容可以参考插件的. # Created by .ignore support plugin (hsz.mobi) ### JetBrain ...

  9. 音视频入门-08-RGB&YUV

    * 音视频入门文章目录 * YUV & RGB 相互转换公式 YCbCr 的 Y 与 YUV 中的 Y 含义一致,Cb 和 Cr 与 UV 同样都指色彩,Cb 指蓝色色度,Cr 指红色色度,在 ...

  10. shell 学习笔记7-shell-函数

    一.函数 1.什么是shell函数 把相同程序段定义成函数,可以减少整个程序的代码量,提升开发效率 增加程序的可读性,易读性,提升管理效率 可以失效程序功能模块化,使程序具备可移植性 其实linux系 ...