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

相关推荐

  • Linux基础 文件权限

    概述 从接触linux第一天开始,Linux一切皆文件的哲学思想就深植于每个linuxer的心中,因此,实现Linux的系统安全必然绕不开文件权限。文件的权限是建立在用户的基础上的,脱离了用户,文件权限也就变得毫无意义了。用户、组和文件权限一起铸就了linux的系统安全模型。本文主要从文件权限方面了解Linux的安全模型。 文中主要讲解了: 1. 文件权限r…

    Linux干货 2016-08-05
  • Linux网络属性配置,计算机基础

    Linux网络属性配置,计算机基础 Linux网络属性配置(1): 计算机网络通信:TCP/IP 通过流式化数据相互通信,通过双方一致的时钟频率来完成信号传输; 有两种方式传输:同步传输,异步传输; 借助于介质传输:同轴电缆、网线、无线等; 要想相互通信,也要必须遵循一种(复杂)组织机制,就产生了协议; 通过把协议分层,来分别解决传输过程中各种复杂的操作; …

    Linux干货 2016-09-05
  • LVM2 ( Blog4 )

    LV基本应用,扩展及缩减实现

    Linux干货 2017-11-27
  • Nginx及Nginx模块——更加轻量级的HTTP server

    Nginx engine X = Nginx      NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known f…

    Linux干货 2016-10-25
  • 设计模式(十)享元模式Flyweight(结构型)

    相对于其它模式,Flyweight模式在PHP实现似乎没有太大的意义,因为PHP的生命周期就在一个请求,请求执行完了,php占用的资源都被释放。我们只是为了学习而简单做了介绍。 1. 概述 面向对象技术可以很好地解决系统一些灵活性或可扩展性或抽象性的问题,但在很多情况下需要在系统中增加类和对象的个数。当对象数量太多时,将导致运行代价过高,带来性能下降等问题。…

    Linux干货 2015-07-08
  • Tomcat公猫

    官方站点:http://tomcat.apache.org/ Tomcat是一个能够运行java页面(jsp)的java’web服务器程序;安装使用之前需要先安装jdk包 jdk是JAVA的开发工具包,已随base收录进来,安装jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虚拟机的运行程序就叫j…

    2017-05-23