RAID简介

RAID是什么?

RAID英文名字叫Redundant Arrays of Independent Disks,也叫磁盘阵列?阵列有是什么意思?通俗的理解就是把很多的硬盘组织在一起来使用。

      RAID可以根据性能来划分为两种:有无冗余(容错)能力

      RAID可以有很多种实现方式,本文只对硬件实现方式来做介绍。

     RAID存在的目有两个:

            1.提高IO能力:

                主要表现在:磁盘并行读写能力的提高

            2.提高耐用性/安全性:

                主要变现在:磁盘冗余(容错)能力的提高

      然而我们再真正的生产环境会根据自身的实际要求,来选择不同的阵列组合。就相当于我们在战场上,会根据实际的敌对形势定制不同的作战阵型一样。考虑的因素有多种,比如最为经济,性能优先,安全第一,等等。所以在RAID的选用级别中,并没有哪种好哪种不好之分,只有根据自身当前的情况来判断适不适合而已。废话不多说 ,现在来对一些RAID级别做一些介绍。

      在正式对级别介绍之前,要先理清几个概念;

      RAID控制器:RAID系统的核心,组织管理各个磁盘设备按照设定的模式运行的基础。在其之下有个概念Chunk Size :块大小,其意就是把数据块切分的大小。

      条带卷:平分处理

      镜向卷:副本

* RAID0条带卷):

      1.png   

当产生数据流的时候,数据块会根据Chunk Size的大小,切分成两份数据,分别存在到两个磁盘当中;

特点:

数据并行,读写能力提升,但是没有容错的能力,硬盘损坏会导致数据丢失。可用空间:N*min(s1,s2…)取决于容量最小的那个;

 * RAID1镜像卷):

2.png 

当产生数据流的时候,原数据会被RAID控制器复制成两份,分别存储在两个磁盘当中,其中一个作为镜像(副本)盘存在。

特点:

       如果有磁盘损坏能够快速恢复数据既有容错能力,另外读出数据的性能大大提高了,因为可以从两个磁盘中读取出一份原数据。但是写的性能降低了,因为存储一份原数据还要写到镜像盘上,另外镜像盘的使用费用也比较高。可用空间:1*min(s1,s2…)

*RAID43.png

在RAID0的基础思想上引入了校验码的概念,也就是拿出一块磁盘来存放校验码,以备磁盘损坏的时候,能通过校验盘来找回数据。

特点:

有容错能力,缺点是校验盘的IO压力大。               

*RAID5:在RADI4基础上的进行了改良,让所有盘都能用来存放校验码。

混合类型级别:

*RAID01:先 RAID0后RAID1(先平分,后复制)

4.png

在RAID 01技术中,当一块物理磁盘出现故障将导致整个虚拟磁盘损失,因此相当于四块物理磁盘的有效故障。如果其它四块物理磁盘有一块丢失,数据将发生丢失。虽然从原理上可以从剩余磁盘数据中重建,但目前市场上的RAID控制器都不能做到数据完全恢复。           

*RAID10:先RAID1后RAID0(先复制,后平分

       5.gif

在RAID 10的情况下,当一块独立的物理磁盘故障后,由于有一块对应镜像磁盘保护数据(除非对应的特定镜像硬盘也同时发生故障),因此不会对性能带来影响,从而显著高于RAID 0+1的容错性。此外,磁盘故障后的恢复成本RAID 10技术也远低于RAID 01。在RAID 10技术中只需要重建一块物理磁盘,而RAID 01技术必须重建由四块物理磁盘组成的虚拟磁盘,从这点也能够体现出RAID 10相对RAID 01的优势。

      RAID 10和RAID 01兼顾了RAID 0和RAID 1的优点,它们在提供RAID 1一样的数据安全保证的同时,也提供了与RAID 0近似的存储性能。虽然RAID 10和RAID 01基本原理相近,都是RAID0和RAID1的结合,但是RAID 10在整体容错能力和恢复代价上比RAID 01更有优势,所以更为常用。  

 

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

(0)
上一篇 2016-02-14 10:18
下一篇 2016-02-14 10:22

相关推荐

  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登陆shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash while read line; do     if [[ $line&n…

    Linux干货 2016-09-01
  • N23_第五周

    1.显示/boot/grub/grub.conf中以至少一个空白字符开头的行 egrep “^[[:space:]]{1,}” /boot/grub/grub.conf 2.显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行 egrep “^#[[:space:]]{1,}.*[^[:space…

    Linux干货 2017-02-27
  • 软件包管理详解

      软件包管理器 1、功能: (1)将软件包打包成一个文件,其中包括: ①二进制程序 ②库文件 ③配置文件 ④帮助文件 (2)生成数据库,追中所安装的每一个文件。 2、软件包管理器的核心功能: (1)制作软件包 (2)安装、卸载、升级、查询、校验 3、不同发行版的不同的…

    2017-08-11
  • 权限管理

    1、创建组sales,gid 3000,passwd:centos,sales admins:user2 将用户user1,user2,user3加入到sales辅助组 希望user1 创建新文件 默认的所属组为sales user2将用户user3从sales组移除 # groupadd -g 3000 sales  # gpasswd sale…

    Linux干货 2016-08-03
  • Linux 的shell脚本编程

    shell脚本编程 程序:指令+数据 程序编辑风格:             过程式:以指令为中心,数据服务于指令             对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指…

    Linux干货 2016-08-15

评论列表(1条)

  • stanley
    stanley 2016-02-14 10:20

    好的画图工具让文章添色不少