若转载请于明显处标明出处: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. Swift4.0复习闭包

    1.闭包的定义和调用: _ = { (param1: Int, param2: Float, param3: Void) -> return_type in // 闭包执行代码 /* ... * ...

  2. Django 之redis的应用

    redis概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string,l ...

  3. 【Luogu P1345】[USACO5.4]奶牛的电信Telecowmunication

    Luogu P1345 很容易发现这题要求的是网络流中的最小割. 关于最小割,我们有最大流最小割定理:最小割的容量一定等于最大流的流量 但是这个定理是用于求最小割边,而题目要求我们求的是最小割点. 那 ...

  4. php实现文件与16进制相互转换

    php实现文件与16进制相互转换 <pre><?php/** * php 文件与16进制相互转换 * Date: 2017-01-14 * Author: fdipzone * Ve ...

  5. mysql 事物控制语言

    事务控制语言(DTL)    什么是事务        通常,在此之前,我们说,一条语句使用一个分号(;)来结束,并得到执行.        那么我们说,这个“一次性执行”的过程,可以称为“一个事务” ...

  6. TypeScript(二)使用Webpack搭建环境

    今天继续来更新,本篇文章我们讲环境搭建,主要分享一些环境搭建的学习资源及安装步骤,解决一些安装时可能会出现的问题.下面就让我们一起进入学习第一步,搭建TypeScript环境:一. 环境搭建1.1. ...

  7. CSS3 实现别样图型

    1.爱心 利用 div 的正方形和伪类的圆型组合而成 <!DOCTYPE html> <html> <head> <meta charset="UT ...

  8. 介绍几款常用的在线API管理工具

    在项目开发过程中,总会涉及到接口文档的设计编写,之前使用的都是ms office工具,不够漂亮也不直观,变更频繁的话维护成本也更高,及时性也是大问题.基于这个背景,下面介绍几个常用的API管理工具,方 ...

  9. MATLAB 单元数组 cell 和结构体 struct 的用法以及区别

    1. 前言 Matlab单元数组cell和结构体struct都可以将不同类型的相关数据集成到一个单一的变量中,使得大量的相关数据的处理变得非常简单而且方便.但是,需要注意的是,单元数组和结构体只是承载 ...

  10. fpga基础

    1.FPGA 的分类: 根据 FPGA 基本结构,可将其分为基于乘积项(Product-Term)技术的 FPGA 和基于查找表(Look-Up-Table)技术的 FPGA 两种. (1)基于乘积项 ...