raid卡缓存对硬盘性能_【科普】令硬盘速度翻倍还更安全:Raid 到底是啥?

b26df6af79049ba8088fb0858ccabdc8.gif

今天我们来聊一聊 Raid,做一期轻科普,跟大家一起了解下各种 Raid 是怎么回事、有什么作用、有哪些优缺点、如何实现等等。

225435b11485e84f0d05b5d2f1fc0fcc.gif

何为Raid
我们首先来认识一下这个概念,Raid 全称为 Redundant Arrays of Independent Drives,中文名称为磁盘阵列,直译为 “冗余独立驱动器阵列”。简单来说就是多个硬盘组成的逻辑阵列。组 Raid 就是将多块独立的硬盘组合行成单一的逻辑阵列,当做一个整体来使用,用以实现提高传输速度、安全性等功能,多用于文件服务器或 NAS。

Raid 的种类

下面我们依次介绍较常见的 Raid0/1/10/5/6 和更高级一些的 Raidz/z2,并分别介绍它们的工作原理和优缺点。不常见的 Raid2/3/4 和各种奇奇怪怪的组合如 Raid100/30/50/60 等就不多说了,理解了基础的,组合自然就明白了。如果没有标注,默认不同硬盘的容量相同。

1、Raid0

Raid0 需要最少两块。

以两块硬盘为例,组 Raid 后容量为两者之和,读写数据时,同时对两块硬盘进行读写。

优点是带宽翻倍,理论上读写速度也翻倍。但缺点也是致命的,由于是将整体数据同时分别写在两块硬盘上,读取时也要同时读出才能得到完整的数据,所以只要阵列中一块硬盘损坏,整个阵列中的所以数据全部丢失,所以才有了著名的 “Raid0 一时爽,一直 Raid0 一直爽”,啊,不好意思拿错稿子了,是 “Raid0 一时爽,数据火葬场”。

总结来讲,速度 ×N,风险 ×N,利用率 100%。

0302d99165cd33a9594f0ea9bc9a514d.gif

2、Raid1

Raid1 最少也需要两块硬盘。

同样以两块硬盘为例,容量相当于最小的一块,多块同理。写入数据时,同时在所有硬盘上写入相同的数据,相当于做了镜像或备份,读取时如果一块硬盘损坏,还可以从阵列中其他的硬盘中读出完整数据。

优点是冗余性和安全性翻倍,缺点是利用率低。

总结,速度 ×1,风险 ×1/N,利用率 1/N。

dbf1fdb5fb264d052af7f23f40fd0a61.gif

3、Raid10

顾名思义,就是 Raid1+0,是 Raid1 和 Raid0 的结合,让两者取长补短。最少需要四块硬盘,或者 m×n 块的灵活组合都可,正是因为其是两种 Raid 模式的结合。

以四块硬盘为例,其中两块用作备份盘,两块用作增速盘。

先提一下 Raid10 的特殊实现方式,叫 Raid10 而不叫 Raid01 是有道理的,需要先把四块硬盘分为两组,组内先进行类似 Raid1 的组合,互为镜像,称作 “做镜像”,再对两个 “Raid1 阵列”进行类似 Raid0 的组合,称为 “做条带”。所以在读写时,同时对四块硬盘进行读写,其中每组写入不同数据(原数据中不同位置的数据,有可能相同,如 1101 中的前两个 1,下同),每组中两块硬盘写入相同的数据。

优点是兼顾传输速度与安全性,缺点是性能开销大,而且…… 额…… 贵,权且当作方案的缺点吧。

总结,以四块硬盘为例,速度 ×2,风险 ×½,利用率 50%。

60757a76245693702e9c64274a4c5bea.gif

同理,Raid01 的原理大家可以反过来理解,先做条带,再做镜像。

4、Raid5

Raid5 最少需要三块硬盘,其中需要拿出相当于一块硬盘的容量来存校验码,校验码采用奇偶校验方式算出,校验码不可全部在一块硬盘,其余用来存数据。用来存校验码的容量由从所有硬盘中不同位置取出相同的容量组成,加起来等于一块硬盘的容量,以三块硬盘为例,三块硬盘中各取出 ⅓ 的容量,被取出的容量在三块硬盘中不全在同一位置。

写入数据时,同时在两块硬盘上分别写入不同数据,最后一块硬盘写入算出的校验码,下一次写入的校验码不可与上一次的校验码存于同一块硬盘。如果某一块硬盘损坏,则只需要替换掉损坏的硬盘,通过均匀分布在各硬盘中的数据和校验码,就可以恢复重建损坏硬盘中的数据。

优点是一定程度上兼顾了传输速度和安全性。缺点是现实中数据恢复速度和成功率并不十分理想。还有不得不提的局限性,不管阵列中有多少块硬盘,同时损坏两块都是无法恢复的,整个阵列中的数据全部丢失。

总结,速度 ×(N-1),风险不会算,改天去请教一下理学院的学长…… 可以肯定的是风险比 Raid1 大,利用率为 (N-1)/N。

cf8f5213455ece8d59e7b43b98ff38cb.gif

另外,如果硬盘容量不同,Raid5 会在每块硬盘中都取容量最小的硬盘的容量来使用,其余的都不用,但群辉的 SHR 技术可以将浪费的容量利用起来,感兴趣的朋友可以去了解一下。

5、Raid6

Raid6 可以说是 Raid5 的升级版,最少需要四块硬盘,其中两块硬盘的容量用以存储两位奇偶校验码,校验码分配方式与 Raid5 类似。

同理,同时损坏三块硬盘,整个阵列无法恢复。

总结,速度 ×(N-2),风险不会算但比 Raid5 小比 Raid1 大,利用率为 (N-2)/N。

6、Raidz/Raidz2

这两种 “Raid 模式”分别可以看做 Raid5 和 Raid6 的改进,虽然名叫 “Raid”但并不是同一回事。

Raidz/z2 基于更先进的 ZFS 文件系统,拥有更加先进的冗余机制,解决了 Raid5/6“全盘重写”的问题。这个不是一时半会可以讲完的,为了篇幅和不喧宾夺主的考虑,暂且留个坑吧。

实现方式

Raid 阵列的实现分为硬实现和软实现,组成的阵列分别称为硬 Raid 和软 Raid。

我们分别来看:

1、硬实现 / 硬 Raid

硬实现是通过硬件(Raid 卡)来实现 Raid 阵列的方式。对磁盘的数据读写由 Raid 卡主控完成,系统会将整个阵列识别为单一硬盘。

优点是对 CPU 的依赖非常小,性能较好,有缓存的 Raid 卡还可以提高随机读写性能。

缺点是不够灵活,用 Raid 卡组 Raid 后,如果不解除 / 撤销 / 取消,阵列中的硬盘直接挂载到别的电脑上是无法使用的。以及需要额外的硬件,成本较高。

2、软实现 / 软 Raid

软 Raid 就是通过软件方式实现的 Raid,包括从 BIOS 中设置。磁盘数据的读写由 CPU 完成,系统可以识别出阵列中所有的硬盘。

优点是使用灵活,拆下后可直接在其他电脑上使用,成本较低,操作简单。

缺点是对 CPU 依赖较大,性能较差。

了解了上述内容,想要组 Raid 的小伙伴们心中应该是有底了,可以按需选择自己想要的方式。最后IT之家还要提醒一句,数据千万条,安全第一条。Raid 不规范,自己两行泪。

如果小伙伴们有什么问题,欢迎给我们留言!我们会及时进行回复

78795e70e70f73ea8427f43156519ef2.gif

a5606ba58fb813059cff7fe36f733a91.png

扫描这里,关注我们

faf3cb28cb03f3b08bd4022feb63188e.png

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值