深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?


深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?

文章插图
对于磁盘阵列很多不知道它是干什么的,有时候会听别人说把硬件组成一个Raid,这个Raid又是个啥?它和磁盘阵列是一回事吗?部分似懂非懂朋友可能又会问磁盘阵列常用到的是哪里几种呢?为了给大家讲的清楚我就从磁盘阵列的工作原理来给大家详细的了解这个磁盘阵列 。
一、什么是JBOD
假设我们有多块磁盘如果我不组建磁盘阵列的话磁盘与磁盘之间是没有任何关系的,我们把文件放进磁盘A里那么跟磁盘B一点关系没有,同样的把文件放进磁盘B里它跟磁盘A也是没有什么关系的,两块磁盘是完全独立存在的,这种传统的没有任何联系的磁盘关系用英文来讲就是Just a bunch of disk,简称JBOD结构(意思是说只是一堆磁盘) 。这种结构有很大的弊端,我们调取磁盘A里的数据时只是磁盘A在工作而磁盘B是空间的,调取磁盘B里的数据时只是磁盘B在工作而磁盘A是空闲的;除非我们同时获取两块磁盘的数据,不然总有一块磁盘是空闲的,这无形当中浪费了部分磁盘性能,所以为了让多块磁盘协调工作一块运转发挥它的全部性能就有了磁盘阵列这个东西 。
深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?

文章插图
二、磁盘阵列是什么
磁盘阵列在电脑当中我们通常称之为Raid,给多块磁盘组建Raid后我们电脑内就只会看到一个Raid的阵列盘,它的子磁盘我们是看不到的,我们就跟使用普通磁盘一样去使用这个由多块磁盘组合起来的Raid磁盘,Raid有很多的等级,目前行业公认的Raid等级为0-7,不同的Raid等级之间并没有优劣之分,它们仅仅是不同功能的阵列,只是在我们实际使用的时候需要根据不同的情况和不同的需求去灵活的决定用哪个等级的Raid,下面给大家讲解一个不同等级的Raid之间的区别、工作原理和优劣 。
深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?

文章插图
 
三、磁盘阵列有几种
(一)Raid0:
它的工作原理类似于内存的双通道,它至少要用两块磁盘,工作原理就是将一个完整的数据拆分后分别放到两块磁盘中,写入时两块磁盘同时写入,读取时两块磁盘同时读取,和内存双通道一个道理,带宽翻倍速度翻倍的效果,比之更强的地方在于我有多少块磁盘就是可以翻多少倍的性能,不像内存那样有IMC的限制,甚至可以把南桥芯片的带宽跑到上限 。但这里翻倍的速度只是连续读写的速度,Raid是无法提高随机读写性能的,因为随机读写主要考验的是硬盘的寻道和寻址能力,所以我们组建了Raid仍然改变不了硬盘随机读写性能低下的问题 。硬盘还是要花大量的时间去寻道和寻址,所以组Raid随机读写性能的提高相对于单块磁盘来说提升的幅度是微弱的,也有可能是某一块磁盘拖了后腿导致木桶短板效应,以至于组Raid0后反而随机读写性能居然会弱于单块磁盘的现象,Raid0是所有阵列里速度最快的同样也是最不安全的,因为我们的数据被拆分到了多块磁盘当中,比如我们组了6块磁盘的Raid0,数据就会被拆分成6块分散在6个磁盘中,万一其中一块磁盘出了故障我们只有其他5块磁盘的数据是无法正常读取的,这就导致了整个数据全部报废,由此可见Raid0的优缺点都很极端,加的磁盘越多速度就是越快,同样的磁盘越多数据就越危险 。
深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?

文章插图
(二)Raid1:
又被叫做镜像,他也至少需要2块磁盘才能实现,其工作原理是把一份完整的数据复制到其它的磁盘当中,假设我们把2块磁盘组成Raid1,在往这个Raid1里存放数据时2块磁盘内部都会存入完全一模一样的数据,所以说Raid1就是我们平时说的自动备份 。当然我们也可以手动的去复制手动备份,但手动操作是需要时间的,而我们组建好了Raid1后,就可以实现全自动实时备份了,而且组建完了Raid1以后我们在系统里只会看见1块磁盘的,这种阵列和Raid0一样也是一种极端,是所有阵列当中最安全的,但是相应的空间利用率和速度是最低的 。因为,如有2块磁盘组成了Raid1,我们在系统内只能看到1块容量的磁盘,同样速度也是1块磁盘的速度 。
深入解析什么是磁盘阵列技术?常用的磁盘阵列有哪几种?

文章插图
(三)Raid2:
一种利用海明码校验的一种阵列,其主要目的是在Raid0的基础上增加了数据纠错能力,注意这里是纠错而非容灾 。Raid2其数据的第2的n次方为校验文件,如1、2、4、8、16、32位就是用来纠错的校验码,其他的位置才是原始数据 。假设我们有一个四位编码的数据需要存储,那就需要7块磁盘,其1、2、4存放校验码,只有3、5、6、7是存放数据的 。如果有一个八位编码的数据,需要存储那么1、2、4、8是校验码,而3、5、6、7、9、10、11、12是存储数据的 。所以我们发现Raid2当中编码数据位数越少磁盘利用率就越低 。由于一次写入数据可以往多块磁盘写入所以他具有和Raid0比较相似的并发性能,但是由于写入还需要计算校验码,读取时也需要读取校验码用于纠错,所以实际上其性能开销还是比较大的,因此使用Raid2的人还是很少的 。


推荐阅读