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
下一篇 2016-12-24

相关推荐

  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • 20171123 Shell编程

    Shell编程的基本知识点

    2017-11-23
  • iptables

    一、前言 什么是iptables?当我们启动iptables时,使用service命令可以启动iptables。但是并非使用service启动的iptables就能说明其是一个服务。Iptables是一个便以我们写规则的工具,真正起作用的是内核中的netfilter一个框架。Netfilter内置了5个hook函数,当一个数据包交由此机器时,经过这5个hoo…

    Linux干货 2015-10-27
  • 磁盘管理及文件系统

    磁盘及文件系统管理初步与进阶(重点内容) 磁盘分区及文件系统 linux系统管理 磁盘分区及文件系统管理:分区工具 linux磁盘及文件系统管理 整个操作系统的硬件组成部分,最底层是硬件设备,计算能力得以运行的最根本的基础。 计算机的五大基本部件:cpu,运算器,控制器被整合到一起,由一个硬件部件来提供。 存储器(主存rom可编址的存储单元)。主板上有cpu…

    Linux干货 2016-08-30
  • linux入门及基本命令

    Linux的入门及基本命令     一.   磁盘分区 1.       分区类型 主分区:1-4,一个硬盘最多四个,最少可以没有,前提有别的硬盘存在,启动系统或存数据,不要再分小区,只有个活动状态。 2.    &nb…

    Linux干货 2017-07-15
  • RAID详解

    1、什么是RAID RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RA…

    Linux干货 2017-01-03