二、基本原理

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

RAID0---RAID10(重点)的更多相关文章

  1. Raid0、Raid0+1、Raid1、Raid5四者的区别

    RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据还有一个大功能,多块盘放在一起可以有冗余(备份)RAID整合方式有很多,常用的:0 1 5 10 Raid0Raid0是所有raid ...

  2. Linux运维跳槽必备的40道面试精华题(转)

    Linux运维跳槽必备的40道面试精华题(转)   下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...

  3. Linux运维跳槽40道面试精华题

    Linux运维跳槽40道面试精华题 运维派 3天前 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护 ...

  4. Linux运维精华面试题

    1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身 ...

  5. linux运维工程师面试题收集

    面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...

  6. Linux运维40道精华题

    题目 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控 ...

  7. Linux----知识储备

    ----------------------------------------------------------------------基础---------------------------- ...

  8. Linux运维跳槽必备的40道面试精华题

    过一次年,结婚.存款.父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向,才能实现一步一个脚印的逆袭. 下面是一名资深Linux运维求职数十家公司总结 ...

  9. Linux运维命令总结

    .什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身 ...

随机推荐

  1. python 序列 倒着取元素

    当要倒着取元素时,用s[-2]只能取一个, 如果取多个时用s[-9:-1],注意,最后一个-1是不取出来的. 此时要用s[-9:] 最后一个空着就可以取出来了.

  2. P1216 [IOI1994]数字三角形

    史上最水的 dp 题,没有之一(By rxz) 确实很简单,就算是我这个 dp 萌新也一眼看出来了转移方程 首先考虑状态,设 \(f_{i,j}\) 表示选择第 \(i\) 层第 \(j\) 个数时获 ...

  3. POJ2909_Goldbach's Conjecture(线性欧拉筛)

    Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least one p ...

  4. 基于icmp的tracert路由追踪程序

    https://blog.csdn.net/u013271921/article/details/45488173 #include<winsock2.h> //#include<i ...

  5. 减轻集群负载、三种k8s 替代openstack的解决方案

    减轻集群负载.三种k8s 替代openstack的解决方案 待办 https://news.ycombinator.com/item?id=17013779 kubevirt https://host ...

  6. 概率dp poj 3071

    题目首先给出一个n,表示比赛一共进行n轮,那么队伍就有2^n只队伍输入一个2^n*2^n的矩阵,p[i][j]代表队伍i打败队伍j的概率dp[i][j]代表第i轮比赛的时候,队伍j赢的概率首先初始化时 ...

  7. JQuery中的DOM操作(转载)

    原文链接:http://www.cnblogs.com/ILYljhl/archive/2013/07/10/3182414.html jQuery封装了大量DOM操作的API,极大提高了操作DOM节 ...

  8. 动手实现CapsNet系列——2 实现(未完待续)

    执行后返回如下信息: Loading complete. Training started! [epoch 0][iter 0] loss: 0.8082, acc: 14.0000% (14/100 ...

  9. Go_栈

    1. 栈的介绍 2. 栈的应用 3. 栈入门 package main import ( "fmt" "errors" ) //使用数组来模拟一个栈的使用 ty ...

  10. i.MX RT1010之FlexIO模拟SSI外设

    恩智浦的i.MX RT1010是跨界处理器产品,作为i.MX RT跨界MCU系列的一个新的切入点,i.MX RT1010是成本最低的LQFP封装方式与i.MX RT系列产品一贯的高性能和易用性的结合产 ...