0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

存储设备那点事:什么是RAID?RAID的等级

Linux阅码场 来源:未知 作者:李倩 2018-05-10 09:54 次阅读

引子

送人玫瑰,手有余香。这个时代需要分享,有交流,有碰撞,才有进步。今天我要分享的主题的是“存储设备那点事”,这句话中需要高亮的关键词是什么?是“存储”?是“设备”?都不是,是“那点”。作为一个刚进入存储行业不到两年的小学生,能力有限水平一般,全靠房贷的压力走到今天。存储涉及方方面面,受到能力和篇幅的限制,实在难以言尽。本文主要目的是让大家对存储方面有些感性的认识,没有很深入的技术细节。读者中肯定会有行业前辈、技术大牛、开源社区达人、非洲部落的酋长,都保不齐的事,有不足之处还请多多批评指教。

说到存储设备,各位有些人可能会想起这些:磁带,软盘,硬盘,U盘,以及早期街边中年妇女兜售的光盘(都买过吧?随着互联网的发展,这个行业没落了,唉!)。今天我们要说的存储设备比这些略显高级,但终究也没有脱离它们。

我有一个1TB的移动硬盘,已经差不多装满了,最近有些担忧,万一哪次不小心摔在地上,可就报废了,多年积攒的资料和回忆将付之东流,得想个办法。那位说了,为啥不存在云盘?坦诚的讲,我不太信任云盘服务商,不仅仅是局限于技术层面的不信任,谁在乎他们是不是背锅的。又有人给建议,整个RAID吧。对,我们就从RAID说起。

什么是RAID?

RAID的洋文描述是Redundant Array of Independent Disks,国语通常翻译成:独立磁盘冗余阵列。打仗亲兄弟,上阵父子兵,一个硬盘可能出现种种问题,RAID就是将一组硬盘通过各种组合,呈现出一个逻辑上的硬盘,弥补一些单个硬盘的缺陷(如IO性能,数据保护),这个逻辑上的硬盘从用户角度看来和单个硬盘使用方式几乎一样,对用户透明。

总结起来一句话:基友一生一起走,单身的痛苦不再有。

RAID的等级

RAID的等级就是硬盘以何种形式组合在一起,比如:RAID 0、RAID 1、RAID10、RAID 01、RAID 3、RAID 5、RAID 6等等,很多,相声演员可以写个贯口上台表演了,这次就挑常见的说几个。

RAID0

最简单的RAID0由两块硬盘组成,如图1所示,当用户写入数据的时候,例如数据块A,实际上是将数块A分为两个部分,分别写入Disk1和Disk2,B、C、D是同样的操作。可以看到,RAID0并没有解决前面我遇到的问题,Disk1或Disk2任何一块盘坏了,保存的数据就会丢失,数据得不到保护。当然,优点也是显然的,数据并行的写入两块盘,花费时间缩短了,理论上节省50%的时间,IO性能好。我们也可以使用更多的盘组成RAID0,那样的话数据块就会被分为更多分,并行写入多块盘,用时会更少。组成RAID0的各个硬盘地位是平等的,有任务兄弟们一起分担,没有谁的角色是特别的。

RAID1

你有我有全都有哇,哎嗨依儿呀,这就是那RAID1,不相信就往下看那。

只要2块硬盘就可以组成一个RAID1,如图2所示。RAID1的特点是用户写入的数据块会被同时写到组成RAID1的每一个硬盘,这些硬盘保存的数据一模一样。所以,其中一块硬盘损坏了,不要害怕,另外一块硬盘仍旧保存完整的数据。有人要问了:”那要是两块硬盘都坏了呢?”,朋友,咱们好好聊天行吗?本质上RAID1是在做备份,我们不也经常将电脑的文件拷贝到U盘或移动硬盘备份嘛。只不过这个备份是实时的,用户每写一个数据就立即备份。增加更多硬盘组成RAID1,也就增加备份数量,更保险,但需要花更多的钱买硬盘,当然,阿聪这样的土豪另说。

RAID3

在说RAID3之前,先往回倒个三言两语。前面的RAID0和RAID1的插图中,每个硬盘都画了一些小格子,保存A、B或A1、A2等。划分这些小格子的行为称为磁盘的条带化(striping),又是一个新名词,没办法,新的事物诞生总归要取一个名字吧。早年间,管理william hill官网 的人叫版主,维护博客的人叫博主。现在呢,建立微信群的人叫群主,建立并维护公众号的人呢?公主?宋老师答应吗?

感受一下磁盘条带化的效果,图3所示,两个盘没有条带化,用户数据过来先写Disk1,写满Disk1之后再写Disk2,看到这样的RAID你有什么感受?既没有使得IO性能得到提升,也没有数据保护功能,然后冠冕堂皇包装成RAID。谁要是推销这个RAID,作为有素质的人,咱不能爆粗口,叫个代骂服务先骂他100块钱的。

有人问了(对,就是前面问问题的那个人):“这个例子太极端,如果我有一个很大的文件,我可以计算出6~10部分最终会保存到Disk2内,那么我就可以并行的写入1~5到Disk1,6~10到Disk2”。如果Disk1是1TB的硬盘,你的文件有多大?大于1TB,现实世界又有多少场景存在这么大的文件呢?

我们继续。图4展示了条带化之后的磁盘格式,如果说未经过条带化是以盘为单位存储的,即一个盘写满再写下一个盘。那么条带化之后,则是按照条带为单位存储的,写满一个条带之后再写下一个条带。RAID的各个盘的同样区域(偏移位置和大小确定的区域)组成了一个条带。

接着看RAID3,图5所示。Disk4是与众不同的,作为校验盘,它不保存用户数据,而是保存用户数据的校验值。Ap是A1、A2和A3的异或逻辑运算校验值。同理Bp~Dp类似。这样做的好处是:如果4块盘有一块盘坏了,我们可以从其它3块盘读出数据,再次进行异或逻辑运算,计算出损坏盘的数据,这一过程称为数据重建。

举个栗子:

假设初始A1=1,A2=0,A3=1,在存盘时候计算Ap=A1^A2^A2=1^0^1=0。

现在Disk3损坏,我们要计算A3,A3=A1^A2^Ap=1^0^0=1。得到了正确的A3!

考察一下RAID3特点,其一,可以并行的写。其二,有校验盘,允许一块盘故障。其三,特别的,如果损坏的是校验盘,不会影响此时用户的读操作。缺点也是有的,那就是用户写数据的时候,不管是向哪一个数据盘写入数据,都需要同时重写校验盘,对于写操作频繁的应用,校验盘的负载很大,成为瓶颈。

那么,对于校验数据的保存这个费时费力的工作能否均衡一下呢?不能老可一个人霍霍啊。

RAID5

RAID5没有独立的校验盘。从下图中找找Ap、Bp、Cp和Dp的位置,发现什么了吗?对,每个盘同时扮演数据盘和校验盘,校验值写入这个负载就分摊到每个盘上,前面RAID3遇到的校验盘瓶颈就不存在了。

当一块盘出现故障后,RAID将无法继续提供服务,一般情况,运维人员会更换故障盘,新盘到位后,RAID进行数据重建,借助校验算法,将丢失的数据恢复到新的盘中,然后RAID可以继续提供服务。一些系统中支持热备盘,当RAID中一块硬盘(Disk2)故障后,系统从热备盘中选择一块(Disk5),顶替故障盘角色,然后RAID立即进行数据重建,这样就最大限度的减少了RAID停止服务的时间。没错,热备盘就是备胎。

RAID5可以并行IO提升性能,数据校验起到数据保护作用,也不存在校验盘瓶颈,看起来不错。

有人问了(对,还是前面问问题的那个人):“如果同时有2块盘故障怎么把办?”

“那就用RAID6,可以容忍有2块盘故障。”

“如果同时有3块盘故障怎么把办?”

喂,代骂公司吗?我再加100块钱,马上过来骂个人。

对的,要蛋定。RAID虽然比单个硬盘有很多优势,但也不是牛逼透顶的,也有解决不了的问题,也有Hold不住的极端情况。

RAID6以及其它RAID形式就不再展开了。您可以访问这里继续深造:

https://en.wikipedia.org/wiki/Standard_RAID_levels

顺便提一下,RAID发展后期出现了RAID2.0,一个不以单个盘为RAID组成基本单位的技术。

花开两朵,各表一枝。说了这么多关于RAID的内容,对于终端用户呢?如何使用RAID呢?这是个问题。用户当然可以买几块硬盘组成一个RAID,当成“大硬盘”来使用,对于台式机还可以忍受,机箱大随便装。那么,笔记本电脑用户呢?没地方装啊。USB外接式?你很优雅的走进了星巴克,要了一杯咖啡,拿出高大上的苹果电脑,傍边的桌子上一堆硬盘,你告诉别人别碰,说是你的RAID?这是休闲呢还是摆摊呢。

这个世界上,只要有需求,哪怕变态的需求,都会有商家满足你。想强身健体,有的商家就把中药和酒混在一起,来吧,药酒,可补可补了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 硬盘
    +关注

    关注

    3

    文章

    1310

    浏览量

    57321
  • RAID
    +关注

    关注

    0

    文章

    278

    浏览量

    35099
  • 存储设备
    +关注

    关注

    0

    文章

    164

    浏览量

    18591

原文标题:EMC潘国林: 大话存储系列之磁盘娶亲(RAID)

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RAID技术全程指南

    独立的大型存储设备出现。RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。人们在开发RAID时主要是基于以下设想,即几
    发表于 03-30 11:48

    IDE-RAID芯片经验总结

    RAID系统,从而大大降低了RAID的“门槛”。  从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计
    发表于 01-07 16:19

    RAID失败

    嗨,我有一个Windows Server 2003和raid配置。我附上了英特尔存储PC的快照和系统报告的详细信息。从附件中,您将看到PC正在尝试重新构建第二个RAID驱动器。不幸的是,重建不成功
    发表于 11-19 14:16

    RAID失败

    嗨,我有一个Windows Server 2003和raid配置。我附上了英特尔存储PC的快照和系统报告的详细信息。从附件中,您将看到PC正在尝试重新构建第二个RAID驱动器。不幸的是,重建不成功
    发表于 11-20 14:09

    RAID技术的概念特征

    RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级
    发表于 07-27 07:25

    RAID技术全解图解-RAID0、RAID1、RAID5、RAID100【转载】精选资料分享

    网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概...
    发表于 07-28 08:11

    (转载)RAID技术全解图解-RAID0、RAID1、RAID5、RAID100 精选资料分享

    RAID技术全解图解-RAID0、RAID1、RAID5、RAID100一、RAID 概述二、基
    发表于 07-28 09:25

    RAID技术的基本原理是什么

    RAID技术的基本原理是什么?RAID技术有哪几个优势?
    发表于 10-14 12:01

    什么是RAIDraid 1,raid 3 ,raid 5

    什么是RAID 5 数据及数据的奇偶校验信息分散存储在组成RAID 5的各个硬盘上。 RAID 5是数据安全,性能和存储成本兼
    发表于 01-19 23:37 1681次阅读

    RAID等级

    RAID等级  RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对
    发表于 12-26 16:06 457次阅读

    RAID5,RAID5工作原理是什么?

    RAID5,RAID5工作原理是什么? RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储
    发表于 03-29 10:09 4.8w次阅读

    RAID0,RAID1和RAID5是什么意思,其原理是什么

    RAID0,RAID1和RAID5是什么意思,其原理是什么 RAID 0:无差错控制的带区组 要实现RAID0必须要有两个以上硬盘驱动器,
    发表于 03-29 10:17 1.2w次阅读

    RAID阵列卡,让影视剪辑效率翻倍

    联瑞RAID阵列卡支持RAID 0,RAID 1,RAID 10,JBOD等RAID等级,通过
    的头像 发表于 02-26 15:01 472次阅读
    <b class='flag-5'>RAID</b>阵列卡,让影视剪辑效率翻倍

    软件RAID 5的实现过程详解

    RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5可以理解为是RAID
    的头像 发表于 10-29 16:39 280次阅读
    软件<b class='flag-5'>RAID</b> 5的实现过程详解

    raid 存储方案适合哪些场景

    在现代数据存储领域,RAID技术已经成为提高数据可靠性、可用性和性能的关键技术之一。RAID通过将多个物理磁盘组合成一个逻辑单元,提供了数据冗余和性能优化。 RAID技术概述
    的头像 发表于 11-12 09:36 312次阅读