一、什么是RAID

从上个世纪80年代起,主流的硬盘接口主要有两类:

A.IDE:用于桌面系统

B.SCSI:用于工业系统(因为转速高,平均巡道时间短,性能较IDE好)

SCSI的性能虽然优于IDE,但其成本约是IDE的五倍以上,故无法广泛应用。人们为了节省成本的同时保持性能,于是设计出了一种方案,即将很多廉价的IDE设备联合起来,当做一块硬盘使用。这种将多块廉价IDE设备并行联合使用的模式就是RAID——廉价冗余磁盘阵列(Redundent Array ofInexpensive Disk)。

RAID能够让多块廉价的硬盘并行工作,在一定程度上提供了高效、可靠的特点。但它需要在IDE控制器之上再提供一种逻辑更高的控制器,这种控制器即为RAID控制器。IDE设备虽然廉价,但是RAID控制器本身非常昂贵,且RAID模式所提供的可靠性不足以满足人们的需要,所以后来在工业级别的应用上,人们将SCSI联合起来组成了RAID,这种RAID得到了更广泛的应用。此时RAID廉价的特性已经不明显了,于是其含义变成了:RedundentArray of Independent Disk——独立冗余磁盘阵列。当让无论RAID的名称如何变化,它体现的思想都是一致的,即将底层的物理磁盘在更高层次的架构上组织起来,使它们能像一块完整的物理设备那样工作。

在没有RADI之前,每一个单独的设备,其控制器是直接连接到主板的总线上的,这个控制器可以和CPU及其他设备进行通信;而有了RAID级别的概念之后,需要在原有控制器之上附加一个更高级别的总控制器,该控制器会对其他低级别的控制器进行集中控制,然后再连接到内存、CPU或其他设备的总线上。

在没有使用RAID之前,CUP会将每一个设备识别为一个单独的个体,而有了RAID之后,CPU会认为这几个设备是一个整体,即由RAID控制器抽象出来的设备。对RAID的管理,就是对总控制器(RAID的芯片)的管理,这个芯片可能是内嵌在主板上的,也可能是个独立的卡片——适配器,通过PCI-E的插槽连接到一个存储设备上,该存储设备称为DAS设备(直接附加存储设备)。

二、RAID的级别

RAID的目的主要有两个方面:

A、高性能:所谓高性能指的是读写性能,有的场景要求读性能高,有的场景要求写性能高,还有一些场景需要同时兼顾读写的性能

B、可靠性(冗余):频繁的读写操作容易损坏磁盘,可靠性就意味着即使某一块磁盘坏掉了,也不会影响数据的使用(有备份硬盘),这种概念即为冗余。

为了满足不同高性能和可靠性的需求,RAID提供了不同的级别,而区分不同RAID级别的方式,就是在RAID后面加上不同的数字,即从Raid0,Raid1,...Raid7这8种;而后来随着RAID的进一步发展,产生了不同的RAID级别的组合方式,即Raid10,Raid50等等。

RAID的级别本身没有高低上下之分,也就意味着Raid1并不会优于Raid0,它们只是用来描述多块磁盘的组合方式。下面来逐一介绍不同RAID级别的组合方式:

(1)Raid0

Raid0也称为条带设备,即将多块设备并联起来提供高性能的方式。RAID0以条带的形式将数据均匀分布在阵列的各个磁盘上,D0、D1...个数据块并不是指的Block,数据块要大得多。每个数据块会按照顺序分别存储到对应的硬盘数据块上,故在RAID0上存储数据,是将数据平均分布到磁盘上,从而实现了并行存取,因此(读写)性能得到了极大的提升。

RAID0的特性

(2)Raid1

Raid1也称为镜像,镜像顾名思义就是将一份数据存储多份,以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上。如果一块物理磁盘坏了,另一块还能继续提供服务。对于Raid1来说,它仍然需要将数据切割为数据块。对于镜像设备来说,两个或多个磁盘上的位(扇区),都是一一对应的。

如果其中一块磁盘坏掉了,将由另一块磁盘继续提供服务;为了防止备份磁盘也坏掉,就需要马上将已经坏掉的磁盘用一块好的新盘替换掉,而当新磁盘替换上来后,它会马上和正在工作的磁盘做一次同步(Sync),即和原有磁盘建立对应关系,并将原有磁盘上的数据按位复制过来。所以做镜像服务的磁盘,需要时时监控。现在有很多RAID1提供热备份,即在镜像磁盘之外还有一块热备份磁盘,时时监控正在工作的镜像磁盘,一旦发现其中任何一块磁盘坏了,就自动顶替上来,从而保证可靠性。

RAID1的特性

(3)Raid2

Raid0性能高,但没有可靠性;Raid1提供了可靠性,但是牺牲了部分性能,因此为了兼顾性能和可靠,出现了Raid2。Raid2采用校验冗余:

1. 把数据分散为位或块,加入汉明码,间隔写入到磁盘阵列的每个磁盘中。它采用异或运算(两者相同为假,不同为真,可以用来还原数据),假设一个磁盘块上存的是1,另一个磁盘块上存的是0,那么其中一块坏了,可以根据好磁盘上的数据,和异或结果推断出坏磁盘上的数据。Raid2就是通过3块硬盘来实现校验冗余。

2. 在成员磁盘上的地址都一样

3. 采用了并行存取方式

4. 花费大,成本昂贵

Raid2在实际中使用不多。

(4)Raid3

在RAID3中,数据块再次分割为更小的块并行传输到各个成员磁盘上,同时计算异或校验数据,存放到专用的校验磁盘上,它和RAID2差距并不大,其存储方式比较复杂,使用也不多。

RAID3的特性


(5)Raid4

在Raid4中,数据被分为更大的块,并行传输到各个成员磁盘上,同时计算异或校验数据,存放到专用的校验磁盘上。RAID4采用独立存取方式,将条带由RAID3的小数据块改为更大的数据块,这是RAID4和RAID3最大的不同。

RAID4的校验较为迅速,可以获得相对于RAID3更高的读取速度,但写入速度极差,控制器的设计更加复杂,故也不常用。

(6)Raid5

RAID5采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上,没有哪一块磁盘是专门用来存放校验信息的,所以单个校验数据不会成为吞吐量的瓶颈。因此RAID5融合了RAID4的优点,同时避免了RAID4的缺陷,使用较为广泛。

RAID5的特性

(7)Raid6

RAID6是指带有两种分布存储的检验信息的磁盘阵列,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验方法,需要N+2个磁盘。

常用的RAID6技术:

A. RAID6 P+Q:根据公式计算出P和Q的值,当有两个数据同时丢失时,仍可以计算出原数据

            B. RAID6 DP:DP中的DP指Double Parity,它在RAID4的基础上不仅有行的校验,还增加了一个用来存放斜向校验信息的磁盘

(8)Raid7

RAID7是一种新的RAID标准,它与以前见到的RAID级别有明显的区别,可以理解成一个独立的“存储计算机”。RAID7自身带有智能化实时操作系统和用于存储管理的软件工具,可以完全独立与主机运行,不占用主机CPU资源。

转载于:https://blog.51cto.com/wuyelan/1537647

12.文件系统——磁盘管理之RAID概述相关推荐

  1. 文件系统磁盘管理(七)--RAID

    RAID 磁盘阵列: Redundant Arrays of Inexpensive Disks,将对个较小的磁盘整合成一个较大的磁盘,这个较大的磁盘功能既能存储更多的数据,也具有保护数据的功能. R ...

  2. 原有磁盘上创建lvm_Linux 系统管理及服务配置实战-第12章 磁盘管理3(连载)

    存储管理Ⅱ 1.逻辑卷LVM 1.1.LVM管理 在线扩容 online 数据迁移 online 创建LVM VG扩展/缩小 LV扩容 文件系统扩容 基本分区(MBR|GPT) ----> Fi ...

  3. 【操作系统/OS笔记20】打开文件、文件数据块分配、空闲空间管理、多磁盘管理(RAID)、磁盘调度算法概述

    本次笔记内容: 12.12 打开文件的数据结构 12.13 文件的分配 12.14 空闲空间列表 12.15 多磁盘管理-RAID 12.16 磁盘调度 文章目录 打开文件 何谓"打开文件& ...

  4. Linux磁盘管理工具RAID、Parted

    一.RAID:磁盘冗余阵列 [RAID详解]  https://blog.csdn.net/qq_41475058/article/details/89382997  1.核心关注点 RAID ( R ...

  5. Windows磁盘管理(Raid)

    磁盘管理 题目 一.添加磁盘 二.创建RAID 三.RAID磁盘修复 四.禁用写入缓存 提示:若需要问题欢迎私聊' 题目 磁盘管理 安装及配置软 RAID5. 在安装好的AppSrv虚拟机中添加三块1 ...

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

    第1章 RAID 磁盘阵列 1.1 使用raid的目的 1)获得更大的容量 2)让数据更安全 3)读写速度更快 1.2 raid0.raid1.raid5.raid10对比 raid类型 数量 优点 ...

  7. Linux 磁盘管理(RAID)--第五章

    目录 一.磁盘结构 1.1硬盘的物理结构 1.2硬盘的数据结构 1.3硬盘存储容量 1.4硬盘接口的类型 二.MBR与磁盘分区 2.1分什么分区 2.2 MBR分区 2.3GPT分区 三.文件系统 3 ...

  8. 文件系统磁盘管理(一)--文件系统

    MBR: 主引导记录(512bytes) Master Boot Record Main Boot Record446bytes: BootLoader, 程序64bytes:16bytes: 标识以 ...

  9. Linux - 磁盘基础知识、磁盘管理(类型、引导、分区、挂载、raid、LVM、loop、overlayfs)

    相关链接: lvm ⭐️使用LVM方式安装Ubuntu 16.04 - https://www.cnblogs.com/xiaogan/p/6071892.html Ubuntu LVM 分区实战 h ...

最新文章

  1. php7 curl_init(),php7.3-curl_init获取301、302跳转后的数据
  2. IP管理提高业务网络安全性的3种方式——Vecloud
  3. 神策数据王灼洲:如何进行有效的数据治理,提升数据价值?
  4. CCNA试验-1标准acl
  5. 点歌软件测试自学,实际歌唱对比测试
  6. 数据卡片_VISA消息:关于VCPS 2.1卡片产品的性能和交叉测试的卡片个性化数据的更新...
  7. 北京大学2016年高等代数与解析几何考研试题
  8. pcb钻孔披锋改善报告_铜基板的小孔加工改善研究
  9. java web应用开发渐进教程_Java Web应用开发渐进教程
  10. 【 Hibernate3-摘要 】 【 第1节 】:JPA常用注解
  11. java quartz实例_一个非常简单的quartz例子
  12. 关于基因差异化的那些事 edger Deseq2和limma的使用及一些总结
  13. Linux虚拟机扩容
  14. 一听不是双休,连面试都免了
  15. Windows数字签名 数字签名(代码签名)流程
  16. (附源码)php柘城农产品销售系统 毕业设计020832
  17. 二阶边值问题的数值解matlab,二阶线性微分方程边值问题的MATLAB求解
  18. GBK,UTF8是什么?
  19. Django框架笔记(一)
  20. Latex写个人简历---程序员的简历

热门文章

  1. uva1025城市里的间谍
  2. P2056 [ZJOI2007]捉迷藏
  3. 邓俊辉数据结构学习-3-栈
  4. Box-Cox(python实现)
  5. JavaScript 的简单学习2
  6. Word论文写作如何实现公式居中、编号右对齐
  7. Linux下glibc内存管理
  8. 解决了,短视频APP开发者最头疼的苹果上架相关问题
  9. PHP生成CSV之内部换行
  10. 企业移动化诉求与开发者之间的矛盾