想把好多硬盘组在一起使用的基本方式为:连接所有硬盘,先向第一个硬盘中写数据,满了之后,再向第二个硬盘上写数据,如此只是简单的连通了多个硬盘。
再此基础上发展了RAID技术:由独立磁盘组成的具有冗余特性的阵列

1.RAID0技术

假设有4块硬盘,把每块硬盘根据硬盘中的扇区来分割成同样大小的块,因为硬盘中的扇区是真实存在的,块是我们抽象出来的,如此每个硬盘都被分为好几个块
此时存储方式是并行的将数据存入所有磁盘,即将数据同时写入所有磁盘的第一块。然后再同时写入所有磁盘的第二块

方法:数据被分成多块,同时并行的写入多个磁盘,而不是顺序写入
优点:并发IO操作。大大提供的IO速度,阵列的容量是整个磁盘的总和
缺点:只要有一块磁盘坏掉,整个数据就全部丢失

2.RAID1技术

RAID0是并行IO操作,但是有个问题,当整个阵列中有一个硬盘出现了问题,整个阵列就不行再使用了。为了解决这个问题,就有了RDIA1,增加镜像盘

方法:每次写数据,将同样一份数据写入两个硬盘里。其中一个做备份,每次写入都要写成功两块盘才算成功,数据块以位为单位打散在多块磁盘上存储
优点:提供了备份功能,当一个数据出现损坏,可以读取第二份
缺点:短板效应,速度取决于最慢的盘,容量取决于最小的盘,总容量是所有磁盘的1/2

3.RAID2技术

RAID1虽然有了备份,但是写入太慢,以及极大的浪费了硬盘容量。在此基础上通过设置校验盘,以减少冗余盘就有了RAID2

方法:采用汉明码进行数据校验,具有一位校验能力,每次读写之前先进行校验。每次IO的数据被以位为单位平均打散在所有数据盘上。
缺点:校验盘数量太多,开销太大,成本昂贵,比较初期的一种校验方式,现在已经不用了

4.RAID3技术

RAID2使用汉明码校验,造成很大的校验盘浪费,对校验方法进行改进,使用逻辑运算XOR,只需要一块校验盘,就有了RAID3,RAID2是用位计算写入,RAID3使用固定大小IO

方法:使用逻辑运算“亦或XOPR“来进行计算校验。每次IO的大小是4kb,而一个扇区固定大小是512B,这样根据多少盘就可以算出每次IO时对每个硬盘写入多少。一次IO尽量让每块磁盘的都参与
优点:校验效率较高,成本减少
缺点:不支持IO并发,一次IO是4KB,在同次IO下要操作所有的硬盘。对随机小块读写时,一个很小的IO(小于4KB)会占用所有盘

5.RAID4技术

RAID3的原理是每次写4KB,分散到每次磁盘。但是实际应用中的读写数据都要远远小于4KB,这样即使数据很小,但是还是每个磁盘都参与了,一次都能有一个IO操作,就会有很多磁盘闲置了。针对RAID3中IO不能并行的问题进行改善,就有了RAID4

方法:通过增大“条带深度”,如果一次IO操作,这个IO块小于条带深度,那么这次IO就被完全禁锢在一个磁盘上了,此时其他磁盘空闲就可以共存一个IO对空闲的磁盘进行操作
缺点:校验盘是瓶颈,每个IO不管目标在哪个数据盘,但是一定要读写校验盘。此时,虽然数据IO是并发,但是操作校验盘的时候依旧是一个一个来。所以在RAID3的基础上性能并没有提升

6.RAID5技术

RAID4只实现了数据盘上的并行IO操作,但是忘记了每次校验的时候IO都会霸占所有的校验盘。针对校验盘不能实现并行IO的问题,推出了RAID5

方法:把校验盘分割,打散在数据盘上。这样每次磁盘保存的有数据部分和校验部分
优点:实现了并发IO,随机读性能高。
缺点:写的性能差,因为每写一扇区的数据就要产生其校验扇区,一并写入校验盘。这个是有校验功能的通病。连续性不如RAID3

RAID5EE:RAID5使用的校验方法是逻辑XOR运算,只有一个硬盘损坏时,如果是读可以逆运算得到,但是却没办法写入了。此时可以在每个磁盘中分出一部分空间,如果有磁盘损坏,就把损坏磁盘上的数据分开保存在每次磁盘上。提供一个备份盘的作用。

7.RAID6技术

RAID5中还有一个问题就是:当只有一个校验盘时,如果是损坏一块盘还可以算出之前存的数据,但是如果损坏了两块盘就无法得到之前写入的数据了,为了解决这个问题,就有了RAID6

方法:增加校验码,通过组成方程组求解多个未知数
缺点:因为要多读写一个校验数据,写性能更差了

七种RAID技术的更多相关文章

  1. 几种RAID技术比较

    http://book.51cto.com/art/201310/412862.htm RAID(廉价磁盘冗余阵列)技术主要是为了改善磁盘的访问延迟,增强磁盘的可用性和容错能力.目前服务器级别的计算机 ...

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

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

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

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

  4. 1 RAID技术入门

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

  5. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID10

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

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

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

  7. 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征.基本原理.关键技术.各种等级和发展现状进 ...

  8. RAID技术全解图解-RAID0、RAID1、RAID5、RAID100【转】

    图文并茂 RAID 技术全解 – RAID0.RAID1.RAID5.RAID100…… RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆.这篇文章为网络转 ...

  9. RAID技术超详细讲解

    RAID 技术是一种多磁盘技术,面对数据的各方面有着两面性的影响,整体来说优点大于缺点的,下面我将详细介绍一下 RAID ,简称磁盘阵列技术. 一.RAID 概述 1988 年美国加州大学伯克利分校的 ...

随机推荐

  1. SpringMVC -- 梗概--源码--贰--上传

    1.配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=&qu ...

  2. php 自定义 分页函数

    <?php /** * 分页函数 * @param type $num 数据总数 * @param type $perpage 每页总数 * @param type $curpage 当前分页 ...

  3. java中的编码和编码格式问题

    看来问的人和回答的人都不一定清楚什么是“编码和编码格式”,以及如何理解“java中字符串的编码”;首先明确几点: unicode是一种“编码”,所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅 ...

  4. yarn基础架构

    Yarn的基本架构 Yarn是Hadoop2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成两个独立的服务:一个全局的资源管理器ResourceManager和每个应用 ...

  5. 正则表达式(overall)

    令自己想爱但深爱不上的正则表达式~ 阅读网站:http://c.biancheng.net/cpp/html/1402.html 为什么使用正则表达式? ①防止SQL注入:尤其对于网站,安全是至关重要 ...

  6. struts.xml文件中配置tiles.xml

    Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以为某一类页面定义一个通用的模板,该模板定义了页面的整体布局.布局由可以复用的多个块组成,每个页面可以 ...

  7. Delphi Code Editor 之 基本操作

    Delphi Code Editor 之 基本操作 毫无疑问,Delphi是高度可视化的.这是使用Delphi进行编程的最大好处之一.当然,任何一个有用的程序中都有大量手工编写的代码.当读者开始编写应 ...

  8. 云计算设计模式(二十一)——Sharding分片模式

    云计算设计模式(二十一)——Sharding分片模式 将一个数据存储到一组水平分区或碎片.存储和访问大量数据时,这个模式可以提高可扩展性. 背景和问题 由一个单一的服务器托管的数据存储区可能会受到以下 ...

  9. 一起脱去小程序的外套和内衣 - 微信小程序架构解析

    版权声明:本文由渠宏伟  原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/760767001484042227 来源:腾云阁 ...

  10. Makefile Demo案例

    # Comments can be written like this. # File should be named Makefile and then can be run as `make &l ...