器 | 快速入门RAID


theme: jzman

「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

对于现代大多数人,文件都是存储在一块硬盘上的,一旦硬盘出现问题,我们存储的东西便会付之一炬。对于一个公司来说,必须要尽可能的避免出现这样情况,轻则损失客户的信任,重则关乎公司生死存亡。这篇文章我们来快速入门一下提高容错性并提升存储安全性的RAID技术。

一、RAID介绍

为了防止数据丢失(硬盘故障时),提升存储性能。我们可以把两块或者两块以上的硬盘组合到一起,这就是一个磁盘组。对于使用电脑的人来说,这个磁盘组就是一个硬盘。也就是我们说的RAID,一旦硬盘出现问题,我们可以通过这个磁盘组阵列恢复或重建文件。

RAID英文全称为Redundant Array of Independent Disks,中文标准的说法是独立冗余磁盘阵列。独立磁盘冗余阵列是一种将多个磁盘驱动器组件(通常是多块硬盘或多个分区)组合为一个逻辑单元的存储技术,从而提供比单个硬盘更高的存储性能和更可靠的数据备份技术。

二、常用RAID Levels介绍

组成磁盘阵列的不同方式称为RAID Levels,即RAID 等级,不同等级也有不同的特性。如下图所示,常用的RAID Levels包含RAID0、RAID1、RAID5、RAID10等。

raid.jpg

2.1 RAID0

我们先来了解RAID0,如图上介绍,我们要把A,B两个文件存储在RAID0磁盘组,RAID0模式会把文件拆分开,比如把文件A拆分成A1,A2,然后分别同时存储在既有的两个硬盘中。理想的情况下,如果完整的存储一个文件A到磁盘需要时间T,那么图上这种RAID0磁盘组,完成存储A的时间最优为T/2。

所以RAID0磁盘组提升的是存储的性能,它也是RAID Levels 中读写性能级别最高的。但如果其中组中一个硬盘坏掉,那么数据就真正的遗失掉了,无法进行恢复和重建,即不提供数据冗余的能力。因为这样的特性,大多数情况,我们不会在正式生产环境中单独使用到它

2.2 RAID1

所以为了提供数据冗余能力,保障数据存储安全,就有了RAID1。如图上介绍,在RAID1磁盘组下,在我们存储文件时,除了会写入其中的一个磁盘以外,还会完整地复制一份文件到另一块磁盘,即我们存储文件A的时候,磁盘组所有的磁盘都会有一份文件A。

所以如果我们总共拥有磁盘容量为N,磁盘组有两个磁盘,那我们实际能用到的容量为N/2。RAID1通过提供数据镜像的冗余,提升了数据存储的安全性,但这种安全性是以大幅度地牺牲容量的代价换来的,这种成本是相当高的。

2.3 RAID5

RAID0和RAID1,分别兼顾了存储性能和数据冗余的能力,那是否有一个既能保障数据存储安全性、存储性能、存储容量的方案呢?那么就是RAID5。

RAID5磁盘组至少需要三块硬盘,同时它像RAID0一样,会把数据分开,保存在不同的硬盘,区别于RAID0无法在发生故障时恢复和重建数据,RAID5会给每个分开的数据加上对应的校验信息。如果我们某一块硬盘发生了故障,我们可以通过校验信息来恢复数据,所以也有人称RAID5为分布式磁盘组。

如图上所示,形象地说,A1+A2+A3=Ap,假如当A1发生故障后,可以通过Ap-A2-A3恢复重建A1的数据。这种磁盘组只能一块硬盘出现故障,如果故障盘大于1,那么也是不能恢复数据的。

RAID5没有独立的奇偶校验磁盘,所有的校验信息分散在磁盘组中每个盘上,只是占有一个磁盘的容量。所以对于RAID5组,磁盘容量的使用率为(N-1)/N。

2.4 RAID10

RAID10名字取的就很有意思,就是RAID1+RAID0的组合,所以更加形象地说,RAID10是RAID1+0。官方称呼其为镜象阵列条带,它要4 + 2*N 个磁盘驱动器(N >=0),最理想情况下,只能使用磁盘组一半的容量。

它的劣势很明显,就是会造成至少50%容量的损失。优势那也是相当的明显,它能提供两倍于单磁盘存储的速度,以及单磁盘故障恢复过程中,整个磁盘组仍然能正常工作,并且原先的数据会同步恢复到更换后的硬盘中。

三、总结

除了以上讲到的RAID Levels,还有RAID3、RAID6等等方案等级,有兴趣的同学可以去wiki上了解一下。

总的来说RAID技术在一定程度上满足了操作系统使用磁盘I/O的四大要求。

  • 增加存储速度
  • 提供冗余能力,提升存储安全性
  • 有效地提高磁盘利用率
  • 尽可能平衡CPU、主存、磁盘读写的差异,提高主机的综合性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值