首页 > 系统服务 > 详细

linux学习之路之磁盘阵列RAID及硬件RAID和软件RAID的区别

时间:2014-07-08 08:22:15      阅读:552      评论:0      收藏:0      [点我收藏+]

    我们知道单个磁盘存储数据的容量是有限的,为了让磁盘的容量增大,我们可以将多个较小的磁盘组合在一起,形成一个较大的磁盘装置,这就是RAID(独立式磁盘阵列),RAID不仅可以提高数据的存储容量,也可以提高数据保护功能,不同级别的RAID,所提供的的功能各不一样。

RAID常见的级别有RAID0,RAID1,RAID5,RAID10,RAID01,RAID5,RAID50

下面逐个介绍这些级别的工作原理。

RAID0:首先将磁盘分成等量的数据块(CHUNK),然后在将存储的数据切分成符合CHUNK大小的块,依次放在每一个磁盘上。以条带的形式均匀的存储在阵列中的每一个磁盘上。

存储方式如图所示:

bubuko.com,布布扣

所谓条带的大小就是通过CHUNK的大小除以block的大小得到的。默认CHUNK为64k。

RAID0具有以下特性:

    1、至少有2块磁盘才能组合成RAID,最好相同的磁盘

    2、数据被均匀的存储在每一个磁盘上,因此读写性能提升

    3、这样存储的数据不具有冗余性,因此其中任意一个磁盘损坏,数据就坏了。

    4、磁盘的利用率为100%


RAID1:由于RAID0没有提供数据的冗余机制,因此当其中一个磁盘损坏了,数据就恢复不了了。而RAID1的存储机制与RAID不同,RAID1则是通过镜像冗余的方式,将一份数据同时存储在两个磁盘上。这样当其中一块磁盘损坏了,还可以通过另一个磁盘来工作。

存储方式如下:

bubuko.com,布布扣

RAID1将具有以下特性:

    1、至少有2块磁盘组合成RAID1,最好磁盘相同

    2、由于数据时保存在每一个磁盘上的,因此磁盘的写性能下降,读性能提升

    3、这种存储方式具有冗余性

    4、磁盘的空间利用率为50%



从上面知道,RAID0不具有冗余性,当一个磁盘损坏,所有数据也就损坏了。而RAID1虽然具有冗余性,但是磁盘的利用率下降了,磁盘的写性能也下降了。那么可不可以将RAID0和RAID1组合起来使用,同时具有RAID0和RAID1的特性呢?

将RAID0和RAID1组合起来的整列有2中RAID10和RAID01

RAID10:就是先将磁盘组合成RAID1,再讲RAID0组合成RAID0。

存储方式如下:

bubuko.com,布布扣

RAID10具有以下的特性:

    1、至少4颗磁盘才能组成。,因为RAID1和RAID0至少要两个磁盘才能组成。

    2、因为RAID1的原因,因此性能下降,读性能提升

    3、由于RAID1的原因,因此这样组合具有冗余性

    4、磁盘利用率为50%


RAID01:现将磁盘组合成RAID0,再将RAID0组合成RAID1

存储方式如下:

bubuko.com,布布扣


RAID5:将至少需要三个磁盘才能组合成RAID5,其中一个磁盘用来存放同位检查码的,且以轮循的方式存放在每一个磁盘上。而数据则是均匀等量的依次存放在其他磁盘上。

当其中某一个磁盘损坏了,可以利用同位检查码来恢复另一个磁盘的数据。

存储方式为如下:

bubuko.com,布布扣

RAID5具有以下特性:

    1、由于其中一个磁盘要存放同位检查码,因此至少需要三个磁盘才能形成RADI5

    2、由于同位检查码的存在,因此磁盘的写性能下降,读性能提升

    3、由于可以用同位检查码来恢复磁盘的数据,因此具有冗余性

    4、磁盘的空间利用率为(n-1)/n


RAID50:将磁盘先组合成RAID5,再将组合成的RAID5组合成RAID0

bubuko.com,布布扣

RAID50将具有以下特性:

    1、由于RAID5的原因,因此需要至少6颗磁盘才能组合成RAID50

    2、由于有同位检查码,因此磁盘写性能下降,读性能提升

    3、具有冗余功能

    4、磁盘利用率为(n-2)/n


另外还有一种磁盘组合机制jobd技术

jbod:就是将多个磁盘堆叠形成一个大的逻辑磁盘,且当第一个磁盘容量用完时,才使用第二个磁盘。

因此jbod具有以下特性:

    1、至少需要2颗磁盘才可以组合成jbod

    2、数据是从第一个磁盘依次存储的,因此读写性能没有提升

    3、没有提供冗余机制,当其中一块磁盘损坏时,数据就会损坏

    4、磁盘利用率为100%



上面主要介绍了几种常见级别的RAID原理,RAID可以通过硬件和软件来组合成,那么硬件RAID和软件RAID有什么区别呢?




本文出自 “linux学习之路” 博客,谢绝转载!

linux学习之路之磁盘阵列RAID及硬件RAID和软件RAID的区别,布布扣,bubuko.com

linux学习之路之磁盘阵列RAID及硬件RAID和软件RAID的区别

原文:http://xslwahaha.blog.51cto.com/4738972/1434987

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!