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

相关推荐

  • date命令常见用法。

    date是一个非常实用的小工具,可以查看时间,并且也可以添加选项去完成自己想完成的东西。

    Linux干货 2017-11-13
  • Linux发展史

    适用对象:本文适合希望开始学习以及想了解Linux的朋友阅读。本文中所有内容仅供参考,不作为科学依据。 一、      Linux的起源 最初的计算机其实是具有单一功能的大型计算器,只能完成指定或者设定好的工作。多数情况下计算机资源是处于空闲状态的,为了不使资源浪费,就需要使计算机能够或者可以进行多种工作。或…

    Linux干货 2016-10-14
  • 了解sed

    本博客分为四个部分:sed介绍、sed用法、sed高级用法(简略带过)、相关例题。通过本文可以大致了解sed命令。深度可以当成是课前预习吧。 1、sed介绍Stream EDitor, 行编辑器 sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中…

    Linux干货 2017-04-25
  • 软件包管理之yum

    本节主要是对linux软件包管理中的yum的浅解 1、冒泡法对数组内数据排序 2、博客:        yum命令浅解    yum [options] [command] [package …]      …

    Linux干货 2016-08-25
  • sed与vim浅析

    sed与vim sed Stream EDitor, 行编辑器,sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。…

    Linux干货 2016-08-10
  • LVS的四种模型

    相关术语: vs:Virtual Server,Director,Dispatcher,Balancer rs:Real Server,upstream server,backend server lvs集群的类型: lvs-nat:修改请求报文的目标IP lvs-dr:操作封装新的MAC地址; lvs-tun:在原请求IP报文之外新加一个IP首部; lvs…

    Linux干货 2016-10-30