常见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

相关推荐

  • 如何监控Linux文件系统事件:inotify使用指南

    如何监控Linux文件系统事件:inotify使用指南 §·inotify初识 Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具。 §·inoti…

    Linux干货 2016-10-30
  • httpd2.2基础安装

    编译安装前,首先要确认开发包组已经装上。 开发包组: Developments tools server platform development(centos 7) 并且将apr 与 apr-unil 装上。这是httpd 可移植运行所必须用到的组件.这里举例说明的是httpd2.2版本。 若是安装httpd2.4以上版本的话,还要安装pcre库。pcre…

    2017-04-24
  • day7作业练习

    1、显示当前系统root、mage或wang用户的UID和默认shell  2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包 括下划线)后面跟一个小括号的行  3、使用egrep取出/etc/rc.d/init.d/functions中其基名     v …

    系统运维 2016-08-08
  • N22-第十二周作业

    1、请描述一次完整的http请求处理过程; (1)建立或处理连接:接受请求或拒绝请求 (2)接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程 (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文 (6)发送响应报文 (7)记录日志:访问日志和错误日志 …

    Linux干货 2016-11-04
  • linux终端类型

    人机交互界面:GUI、CLI GUI: gnome:c,gtk kde:c++,qt CLI: bash,zsh,sh,csh,ksh 不同CLI间跳转:alt+f1\f2\f3\f4   终端类型: 物理终端、控制台终端:/dev/console,控制台console 计算机显示器通常被称为控制台终端(Console) 虚拟终端:/dev/tty…

    Linux干货 2016-10-14
  • 【】

         

    Linux干货 2016-10-30

评论列表(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哦哦,呵呵。。。