raid浅析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了raid浅析相关的知识,希望对你有一定的参考价值。


一、什么是raid  

     磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意 

     磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上

   

 二、raid的分类

    raid在企业中的使用主要有三种:

    1、外接式 

    外接式最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵

    2、内接式  

    内接式价格相对便宜,并且能够***能、数据保护、可靠性、可用性和可管理性的解决方案,它的实现是主要是依靠机器内的raid卡。也是目前使用最广泛的一种方式

  3、利用软件来仿真

    利用软件仿真的方式,是指通过操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。linux中提供的磁盘管理工具为mdadm,可以用此来实现软raid。


三、raid的分级

  目前企业中使用最广泛的raid主要有:raid 0,raid 1,raid 4,raid 5,raid10,接下来对其进行详细的说明。

  1、raid 0

  raid 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。raid 0没有提供冗余或错误修复能力,但实现成本是最低的。实现的原理如下图:

 技术分享

   性能:读、写性能提升;无容错能力


  2、raid1

 raid 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力,工作模式如下图:

  技术分享

    性能:读性能提升、写性能略有下降;有冗余能力

 

  3、raid 4

  创建RAID 4需要三块或更多的磁盘,并以RAID 0方式将数据写入其它磁盘,而它专门有一个磁盘里面存放校验(XOR:奇偶校验)信息。

技术分享

 性能:校验较为迅速,但写入速度极差,控制器的设计更加复杂,有冗余功能,但是如果校验盘损坏就无法恢复。


  4、raid 5

  也是运用校验功能实现冗余功能的,但它与raid 4最大的不同是,他的校验信息不是集中存放在一张磁盘中的,而是分布存放在阵列中的所有磁盘中。

  技术分享 

 性能:读、写性能提升,有容错能力,可能允许整列中任意一个硬盘损坏,而对数据没有影响。


      5.raid 10

      是有raid1和raid0组合而成的,即先做镜像raid1,再做条带raid0。技术分享

     性能:读、写提升,有冗余能力.


四、linux中软raid的实现

       linux中有一个磁盘管理工具可以实现软raid,工具名为:mdadm

      命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>   

           [mode]模式:

            -C:创建模式

            -A:装配模式

            -F:监控模式

            -f,-r,-a:管理模式

           <raiddevice>设备:/dev/md#

           <component-devices>: 任意块设备

 

     

  -C: 创建模式

  -n #: 使用#个块设备来创建此RAID;

  -l #:指明要创建的RAID的级别;

  -a {yes|no}:自动创建目标RAID设备的设备文件;

  -c CHUNK_SIZE: 指明块大小;

  -x #: 指明空闲盘的个数;

    

   -D:显示raid的详细信息;

     

   管理模式:

   -f: 标记指定磁盘为损坏

   -a: 添加磁盘         
   -r: 移除磁盘

以上是关于raid浅析的主要内容,如果未能解决你的问题,请参考以下文章

RAID(独立冗余磁盘阵列)技术浅析

flinkFlink 1.12.2 源码浅析 : StreamTask 浅析

flinkFlink 1.12.2 源码浅析 : Task 浅析

浅析微信支付:如何使用沙箱环境测试

busybox浅析

浅析微信支付:支付结果通知