RAID概述

1、引言

RAID全称Redundant Arrays of Inexpensive Disks / Redundant Arrays of Independent Disks,即独立冗余磁盘阵列。RAID可以通过相关技术(软件/硬件),将多个较小的磁盘整合成为一个较大的磁盘整体,而且能从某些方面提高数据的读写及数据保护。RAID分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的RAID方案。

2、RAID特性简述

  • ①提高IO能力:磁盘并行读写;

  • ②提高耐用性:磁盘冗余来实现;

3、RAID实现方式

  • ①外接式RAID:通过扩展卡提供适配能力;

  • ②内接式RAID:主板集成RAID控制器;

  • ③Software RAID:软件方式所实现的RAID,软件磁盘阵列; 

    【注】硬件式raid是在BIOS中实现,无需安装操作系统;

4、RAID级别

①RAID-0

RAID0称为条带化(Striping)存储,将数据分段存储于各个磁盘中,读写均可以并行处理。因此其读写速率为单个磁盘的N倍(N为组成RAID0的磁盘个数),但是却没有数据冗余,单个磁盘的损坏会导致数据的不可修复。

图片1.png

如上图所示,在组成RAID0时,磁盘DiskA/B都会被先切成小区块(chunck)。当有数据写入RAID时,数据data会被切成符合小区块的大小,然后在依次一个一个地放置到DiskA和DiskB中去。由于data已经被切割且放置在不同的磁盘上面,因此每颗磁盘所负责的数据量都降低了。无论是写入操作,还是今后调用数据时候的读操作,RAID-0机制都是得读、写性能提升。

②RAID-1

镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,可想而知,写入速度会比较慢,但读取速度会比较快。读取速度可以接近所有磁盘吞吐量的总和,写入速度受限于最慢的磁盘。RAID1也是磁盘利用率最低的一个。如果用两个不同大小的磁盘建立RAID1,可以用空间较小的那一个,较大的磁盘多出来的部分可以作他用,不会浪费。

图片2.png

如上图所示,一份数据传送到RAID-1之后,会被复制,然后分别写入各个磁盘里面。由于两个磁盘的数据一模一样,所以任何一个磁盘损坏,资料都是可以保存下来的。RAID-1写的效能不佳,但是数据有冗余作用,而且将来在读取这部分数据的时候,因为数据在不同的磁盘上,可以有多个进程,读取同一个数据,读性能大大提升。

③RAID-5

RAID-5至少需要三颗硬盘才能组成这种类型的磁盘阵列。这种磁盘阵列的数据写入有点类似RAID-0,不过每个循环的写入过程中,在每颗磁盘还加入一个同位检查数据Parity,这个数据会记录其他磁盘的备份数据,用于当磁盘损坏时候,用于计算生成还原数据的。

图片3.png

如图所示,每个循环写入时,都有部分的同位检查码parity生成,并且记录在不同的硬盘上,因此任何一个磁盘损坏的时候,都能依靠另外两个磁盘恢复数据。

④RAID-6

RAID-6至少需要4块磁盘。在RAID-5的基础上,RAID-6校验盘有两块,存两份,再一次提升了冗余能力。总的可用空间:(总的磁盘数N-2)*min(S1, S2, ...)。其中min(S1, S2, ...)指磁盘S1,S2等所有磁盘中,最小的容量;

⑤RAID-10和RAID-01

RAID-0的效能佳但是没有冗余能力,RAID-1数据安全但是效能欠佳,为了综合RAID-0和RAID-1的优势,就有了RAID-10和RAID-01两种方案。RAID-10是:先让两颗磁盘组成RAID-1,并且这样设定两组,再让这两组RAID-1再组成一组RAID-0。RAID-01是:先让两颗磁盘组成RAID-0,并且这样设定两组,再让这两组RAID-0再组成一组RAID-1。

RAID概述

RAID概述

原创文章,作者:N24_VC,如若转载,请注明出处:http://www.178linux.com/64606

赞 (0)
N24_VCN24_VC
上一篇 2016-12-24 13:16
下一篇 2016-12-24 13:26

相关推荐

  • Btrfs文件系统

    一:概述     1.1简介         Btrfs被称为是下一代Linux文件系统。通常念成 Butter FS,Better FS 或B-tree FS。它采用了很多先进的文件系统设计,不仅解决了 ext2/3的扩展性问题,支持写时…

    Linux干货 2016-04-19
  • 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集…

    Linux干货 2015-07-19
  • linux 简单命令

    前面介绍一些基本基础篇 后面主要介绍screen命令的用法。

    2017-11-19
  • 文本编辑器:vim 基础篇

       VI:Visual Interface,是一种文本编辑器,还是全屏编辑器。   VIM:Vi IMproved,vi的增强版,vim是模式化的编辑。 VIM的三种模式:        编辑模式(命令模式,默认模式)       插入模…

    Linux干货 2016-08-18
  • apache工作模式及虚拟主机的配置

    apache的工作模式 MPM 名词解释MPM   Multipath Process Module 多道处理模块。Linux中常使用prefork worker event三种MPM 即apache常用的三种工作模式。 prefork prefork为多进程模型,每个进程响应一个请求。其工作过程简单说来就是一个主进程:负责生成n个 子进程(子进程…

    Linux干货 2016-07-02
  • N21沉舟第六周作业

    N21沉舟第六周作业 1、  复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit %s/^[[:space:]]\+/#&…

    Linux干货 2016-08-08