常见RAID磁盘阵列组合简介

常见RAID磁盘阵列组合简介

   RAID,是Redundant Arrays of Inexpensive Disks的简写,磁盘阵列。现今的计算机世界,最值钱的是什么?软件、硬件?都不对,应该是承托在其之上的数据。对于我们来说,数据是无价的,硬件损坏了,可以重新购置。软件损坏了,也可以重新安装,但数据一旦丢失,就有可能再也找不回来了。硬盘作为存放数据的重要介质,其重要性不言而喻。但作为设备,就会有损坏的机会,如何避免因硬盘损坏而造成数据丢失呢? RAID就是一个很好的解决方案。

    RAID将一组硬盘连结成来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失,同时亦提供了比单个硬盘高的可用性及容错性。

  

常见的组合方式有:RAID0、RAID1、RAID5、RAID6、RAID01、RAID10(其它RAID3RAID4等只是在实验室上存在,基本上没什么人用于生产环境,所以不作过多的介绍),它们分别的特性见下描述:

RAID0:

 RAID0.png

RAID0俗称“条带”,它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和,因为是多个硬盘组合成一个,故可并行写操作,写入速度提高,但此方式硬盘数据没有冗余,没有容错,一旦一个物理硬盘损坏,则所有数据均丢失。因而,RAID0适合于对数据量大,但安全性要求不高的场景,比如音像、视频文件的存储等。

RAID1:

RAID1.png

 

RAID1俗称“镜像”,它最少由两个硬盘组成,且两个硬盘上存储的数据均相同,以实现数据冗余。RAID1读操作速度有所提高,写操作理论上与单硬盘速度一样,但由于数据需要同时写入所有硬盘,实际上稍为下降。容错性是所有组合方式里最好的,只要有一块硬盘正常,则能保持正常工作。但它对硬盘容量的利用率则是最低,只有50%,因而成本也是最高。RAID1适合对数据安全性要求非常高的场景,比如存储数据库数据文件之类。

RAID5:

RAID5.JPG

 

RAID5最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原。因而RAID5最多能允许一个硬盘损坏,有容错性。RAID5相对于其它的组合方式,在容错与成本方面有一个平衡,因而受到大多数使用者的欢迎。一般的磁盘阵列,最常使用的就是RAID5这种方式。

RAID6:

RAID 6.jpg

 

RAID6是在RAID5的基础上改良而成的,RAID6再将数据校验位增加一位,所以允许损坏的硬盘数量也由RAID5的一个增加到二个。由于同一阵列中两个硬盘同时损坏的概率非常少,所以,RAID6用增加一块硬盘的代价,换来了比RAID5更高的数据安全性。

另外,还有一些组合方式是上述方式的混合,以获取更高的可用性与容错性,比如:

RAID01:

RAID01.png

RAID01是RAID0与RAID1的组合,先将数据分成两组,然后再对两组数据进行镜像。

 

RAID10:

RAID10.png

RAID10与RAID01相反,它是先将数据进行镜像操作,然后再对数据进行分组。

附表:各级RAID比较 

RAID级别

RAID0

RAID1

RAID5

RAID6

RAID01

RAID10

容错

冗余

镜像

奇偶校验

奇偶校验

镜像

镜像

读性能

有所提高

有所提高

有所提高

有所提高

有所提高

有所提高

写性能

有所提高

稍降

有所提高

有所提高

有所提高

有所提高

至少磁盘数量

2

2

3

4

4

4

允许磁盘最多损坏数量

0

1

1

2

每组各1

每组各1

可用容量

100%

50%

n-1/n

n-2/n

50%

50%

  以上是当前主流的RAID组合方式,至于如何选择,则是结合到使用者对数据安全性、数据冗余、数据可用性、投入成本等各方面的综合衡量。最终选择那一种方案,如何决策?其实还是一句话:适合自己的就是最好的。

(注:本文图片均来自网络,但本人未能确知作者,故无法注明出处,敬请见谅!)

  以上是我对RAID磁盘阵列的理解!作为初学者,我对linux的认识还是很肤浅,上述可能有不正确的地方,如有错漏,希望各位能及时指正,共同进步。

  我的QQ:153975050

在此感谢马哥及马哥团队,在linux的道路上引领我一直前进!

                                                            2016-05-31

原创文章,作者:马哥Net19_小斌斌,如若转载,请注明出处:http://www.178linux.com/17124

(3)
马哥Net19_小斌斌马哥Net19_小斌斌
上一篇 2016-06-01 14:06
下一篇 2016-06-01 15:29

相关推荐

  • MHA+keepalived 高可用MYSQL集群

    一、MHA简介 二、试验环境及要求 三、部署MHA 四、测试MHA集群功能 一、MHA简介     MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案。在MySQL故障切换过程中,MHA能做到在0~30秒之内手动或自动(结合脚本)完成数据库的故障切换操作,并且在…

    2017-02-25
  • Linux下LVM

    LVM(Logic Volume Management,逻辑卷管理         由多个块设备(pv,卷)组成一个逻辑卷组(vg),接着在逻辑组上创建逻辑卷(lv),实现在线缩减逻辑卷与逻辑卷组。 实验:     1、VM虚拟机添加硬盘:…

    Linux干货 2016-06-09
  • n25第二周

    linux文件管理类命令     mkdir,rmdir,cp,mv,rm,chwon,chmod     1.mkdir->make directories(创建目录)     用法:    &nbsp…

    Linux干货 2016-12-11
  • TCP常见问题总结

    TCP协议和UDP协议的区别是什么 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的 TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。 TCP协议…

    Linux干货 2017-09-02
  • 初入Linux世界 —马哥教育网络班N22_第二周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。        Linux上的文件管理有三个:cp, mv, rm     1、cp命令:copy             源文件;目标文件;   &nb…

    Linux干货 2016-08-22
  • Tomcat相关知识整理

    初识Servlet SUN公司制定了一系列Web应用与Web服务器进行协作的标准Java接口,统称为Java Servlet API,还对Web服务器发布及运行Web应用的一些细节做了规约。SUN公司把这一系列标准Java接口和规约统称为Servlet规范。Servlet就是Web服务器与Web应用进行协作的标准接口。 Servlet规范把能够发布和运行Ja…

    Linux干货 2016-12-05

评论列表(4条)

  • stanley
    stanley 2016-06-01 15:27

    标题都不写了?~

    • 马哥Net19_小斌斌
      马哥Net19_小斌斌 2016-06-02 00:56

      @stanley? 不是有标题吗?

    • stanley
      stanley 2016-06-03 12:47

      @马哥Net19_小斌斌这是我给你加上去的

    • 马哥Net19_小斌斌
      马哥Net19_小斌斌 2016-06-03 21:40

      @stanley哦哦,呵呵。。。