zoukankan      html  css  js  c++  java
  • RAID0---RAID10(重点)

     

    二、基本原理

    RAID ( Redundant Array of Independent Disks )又叫独立磁盘冗余阵列,通常简称为磁盘阵列。

    RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。

    软raid和硬raid区别:

    要实现RAID可以分为硬件实现和软件实现两种。所谓硬RAID就是指通过硬件实现,同理软件实现就作为软RAID.

    硬RAID
    就是用专门的RAID控制器将硬盘和电脑连接起来,RAID控制器负责将所有的RAID成员磁盘配置成一个虚拟的RAID磁盘卷。对于操作系统而言,他只能识别到由RAID控制器配置后的虚拟磁盘,而无法识别组成RAID的各个成员盘。
    软RAID
    就是不使用RAID控制器,而是直接通过软件层实现的RAID。软RAID的各个成员盘对操作系统来说是可见的,但操作系统并不把各个成员盘呈现给用户,而只是通过软件层配置好的虚拟RAID卷呈现给用户,使用户可以像使用一个普通磁盘一样使用RAID卷。
     
    总结:
    软raid依存于OS,硬raid独立于OS。

    冗余(备份)从好到坏:RAID1 RAID10 RAID 5 RAID0
    性能从好到坏:RAID0 RAID10 RAID5 RAID1
    成本从低到高:RAID0 RAID5 RAID1 RAID10

    从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。

    Raid 0:最少要两块硬盘才能实现。

    优势:数据读取写入最快,硬盘硬盘使用率100%
    缺点:无冗余能力,无备用硬盘,一块硬盘损坏,整个阵列的数据都会消失。
    建议:做raid0 可以提供更好的容量以及性能,读写速度在RAID中最快,推荐对数据安全性要求不高的使用。

    公式:[root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd硬盘

    Raid 1:最少要两块硬盘才能实现
    优势:具有冗余能力,安全性强。具有一块备用硬盘,速度快
    缺点:硬盘使用率为50%
    建议:主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。

    公式:[root@localhost ~]# mdadm -Cv /dev/md1 -l1 -n2 /dev/sd硬盘

    ****倘若只有两块硬盘推荐做raid1,如果是要求速度快就做raid0

    Raid 2:
    优势:RAID2对大数据量的输入输出有很高的性能
    缺点:在少量数据的输入输出时性能不好
    建议:主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。

    公式:[root@localhost ~]# mdadm -Cv /dev/md2 -l2 -n3 /dev/sd硬盘

    Raid3:至少需要3块硬盘raid3
    优势:以上优势,raid5兼顾。任意N-1快硬盘都有完整的数据。
    缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
    建议:盘不多,对数据安全性和性能都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10

    公式:[root@localhost ~]# mdadm -Cv /dev/md3 -l3 -n3 /dev/sd硬盘


    Raid5:至少需要3块硬盘raid5
    优势:可以保证速度为两个盘的速度,容量为两个盘的容量,安全性也和raid差不多。但是毕竟是3个盘,的出来的容量和速度都只等于两个盘之和。
    缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
    建议:盘不多,对数据安全性和性能都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10

    公式:[root@localhost ~]# mdadm -Cv /dev/md5 -l5 -n3 /dev/sd硬盘

    Raid6:至少需要4块硬盘做raid6
    优势:raid6是在raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。
                可用容量:C=(N-2)×D             C=可用容量 N=磁盘数量 D=单个磁盘容量。
               比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T
    缺点:性能提升方面不明显
    建议:对数据安全性要求高,性能要求不高的可选择。

    公式:[root@localhost ~]# mdadm -Cv /dev/md6 -l6 -n4 /dev/sd硬盘

    Raid10:至少需要4快硬盘。raid10是2快硬盘组成raid1,2组raid1组成raid0,所以必须需要4块硬盘。
    优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的。
    缺点:速度和容量也只有2个盘之和。却需要4个盘
    建议:硬盘数量足够的情况,建议riad10.

    公式:[root@localhost ~]# mdadm -Cv /dev/md10 -l10 -n4 /dev/sd硬盘

    题外话:raid5 VS raid10
    只看盘的数量的话,raid5的写性能不逊于raid10.
    4盘的情况下,raid10提供2盘的写性能,raid5提供3盘
    但,raid5的校检体质,导致额外的I0和CPU使用。

    不过raid最重要的指标是可靠性:
    4盘的raid5,只允许单盘故障,
    raid10,允许对柜盘2块故障,可靠性高于raid5,且raid10 可随盘量上升提高容错,raid5就不行,而且IO和CPU的额外开销还涂增,从可靠性和冗余角度,达到同样的可靠性,raid10写能力高于raid5.

    特殊情况下:有坏盘,无热备
    radi5 CPU和IO性能狂跌。因为数据不完整,在某特殊软件下,可以实现即时重构数据进驻内存,保障业务运行,但此时raid5的性能已经烂到无以复加。
    raid10 是条带化+镜像,坏盘影响读性能,不影响写性能,而且无需重构。此时的raid10完爆raid5

  • 相关阅读:
    PHP IDE NetBeans代码主题和除掉竖线解决方案
    初识Python
    从LazyPhp说起
    从Pycharm说起
    准备系统地研究一下"高性能网站开发",挑战很大,希望能坚持到底!
    IIS日志分析[资源]
    见一好东西:Threaded WebDownload class with Progress Callbacks
    ASP.net Application 中使用域用户登录
    看图找错
    汉字转拼音缩写的函数(C#)
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11351390.html
Copyright © 2011-2022 走看看