392天 倾丞

心随我意 路行千里

磁盘阵列用不好?珍贵数据打水漂

倾丞 / 8个月前 / 501 次围观 / 5 条评论 / 技术分析 / [百度未收录(点击提交收录)] / 返回
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
 

简介

独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。 
由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,谈到了RAID这个词汇,而且定义了RAID的5层级。伯克利大学研究目的是反映当时CPU快速的性能。CPU效能每年大约成长30~50%,而硬磁机只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升效能来平衡计算机的运算能力。在当时,柏克莱研究小组的主要研究目的是效能与成本。 
另外,研究小组也设计出容错(fault-tolerance),逻辑数据备份(logical data redundancy),而产生了RAID理论。研究初期,便宜(Inexpensive)的磁盘也是主要的重点,但后来发现,大量便宜磁盘组合并不能适用于现实的生产环境,后来Inexpensive被改为independent,许多独立的磁盘组。

功能

RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。 
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

分类

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。 
内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。
利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。

原理

磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。

优缺点

优点

提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。
通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。 

缺点

RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。 
RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。
RAID0+1以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。
 

正文

由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年,发表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,谈到了RAID这个词汇,而且定义了RAID的5层级。伯克利大学研究目的是反映当时CPU快速的性能。CPU效能每年大约成长30~50%,而硬磁机只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升效能来平衡计算机的运算能力。在当时,柏克莱研究小组的主要研究目的是效能与成本。
    另外,研究小组也设计出容错(fault-tolerance),逻辑数据备份(logical data redundancy),而产生了RAID理论。研究初期,便宜(Inexpensive)的磁盘也是主要的重点,但后来发现,大量便宜磁盘组合并不能适用于现实的生产环境,后来Inexpensive被改为independent,许多独立的磁盘组。
    独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

RAID0

【电脑知识】关于Raid0,Raid1,Raid5,Raid10的总结

定义:
    RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

工作原理:
    系统向三个磁盘组成的逻辑硬盘(RAID0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。

优缺点:
    读写性能是所有RAID级别中最高的。
    RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。RAID0运行时只要其中任一块硬盘出    现问题就会导致整个数据的故障。一般不建议企业用户单独使用。

总结:
    磁盘空间使用率:100%,故成本最低。
    读性能:N*单块磁盘的读性能
    写性能:N*单块磁盘的写性能
    冗余:无,任何一块磁盘损坏都将导致数据不可用。

RAID1

【电脑知识】关于Raid0,Raid1,Raid5,Raid10的总结

定义:
    RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

工作原理:
    RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有RAID0磁盘阵列那样好,但其数据读取确实较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。RAID1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。RAID1磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。RAID1磁盘阵列是十分安全的,不过也是较贵一种RAID磁盘阵列解决方案,因为两块硬盘仅能提供一块硬盘的容量。RAID1磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合。
    在这里,需要注意的是,读只能在一块磁盘上进行,并不会进行并行读取,性能取决于硬盘中较快的一块。写的话通常比单块磁盘要慢,虽然是并行写,即对两块磁盘的写入是同时进行的,但因为要比较两块硬盘中的数据,所以性能比单块磁盘慢。

优缺点:
    RAID1通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜    像备份中读取数据,因此RAID1可以提供读取性能。
    RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。


总结:
    磁盘空间使用率:50%,故成本最高。
    读性能:只能在一个磁盘上读取,取决于磁盘中较快的那块盘
    写性能:两块磁盘都要写入,虽然是并行写入,但因为要比对,故性能单块磁盘慢。
    冗余:只要系统中任何一对镜像盘中有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。

RAID 5

【电脑知识】关于Raid0,Raid1,Raid5,Raid10的总结

定义:
    RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。


工作原理:
    RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。
    做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。

总结:
    磁盘空间利用率:(N-1)/N,即只浪费一块磁盘用于奇偶校验。
    读性能:(n-1)*单块磁盘的读性能,接近RAID0的读性能。
    写性能:比单块磁盘的写性能要差(这点不是很明白,不是可以并行写入么?)
    冗余:只允许一块磁盘损坏。

RAID10

【电脑知识】关于Raid0,Raid1,Raid5,Raid10的总结

定义:
    RAID10也被称为镜象阵列条带。象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0+1。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。


实现原理:
    Raid10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。
    虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。假如磁盘中的某一块盘坏了,整个逻辑磁盘仍能正常工作的。
    当我们需要恢复RAID10中损坏的磁盘时,只需要更换新的硬盘,按照RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。原先的数据会同步恢复到更换的硬盘中。

 

总结:

磁盘空间利用率:50%。

读性能:N/2*单块硬盘的读性能

写性能:N/2*单块硬盘的写性能

冗余:只要一对镜像盘中有一块磁盘可以使用就没问题。

(延伸阅读)组建RAID 0磁盘阵列详细过程

无论是Intel芯片组还是AMD芯片组,基本上都可以支持搭建各种磁盘阵列模式,所以在组建RAID0磁盘阵列上十分简单。首先准备好两块硬盘,同时把主板上原本有操作系统的硬盘先拔开,以免设定时混淆,把之前的硬盘资料毁掉就可惜了。

2、启动计算机,在进入启动屏幕后按Delete键以输入Intel芯片组主板BIOS设置,按←→↑↓查找“存储配置”选项。

3、然后按Enter键进入“存储配置”选项,在“配置”部分中打开RAID选项,然后按F10键保存设置并重新启动计算机。

4、系统重新启动后,请特别注意引导屏幕。系统会提示您按Ctrl+I进入RAID设置界面。如果您没有及时按Ctrl+I,则需要再次重新启动计算机。

5、进入操作界面部分,共有4个选项:1个选项是创建RAID磁盘阵列,2个选项是删除RAID磁盘阵列,3个选项是将硬盘恢复到非RAID状态,4个选项是备份音量选项。以下是系统的硬盘驱动器信息以及有关RAID阵列的信息。

6、选择1选项,将出现以上屏幕。您可以在名称区域中指定团队名称,然后按[tab]或[enter]键进入下一个区域。在团队等级区域中,选择团队等级。

7、接下来,为raid布局选择字符串可选值。可选值范围从4kb到128kb。不同的模式对应不同的范围:raid0–128kb,raid10–64kb和raid5–64kb。最后,在容量区域中选择卷的容量,初始最小值是被替换磁盘的最大容量。全部展开后,按Y保存。

 

8、从图可以看出,设置了RAID0磁盘的目标信息和内容,然后按5选项或ESC退出此设置界面。

9、用于RAID0磁盘阵列的AMD:AMD芯片组也是一个简单的RAID0磁盘阵列,但与Intel不同。同样在引导屏幕之后,按Delete键进入BIOS设置程序,按←→↑↓键找到存储配置选项。

 

10、然后按Enter键进入StorageConfiguratlon选项,在SATAPort1-Port4和SATAPort5-Port6上打开RAID选项,然后按F10保存设置并重新启动计算机。

 

11、系统重启后,请特别注意启动屏幕,并注意与英特尔主板略有不同的地方。在这里,按Ctrl+F进入RAID设置界面。如果没有及时按,则需要重新启动计算机。

 

12、从上至下划分4个选项,从上至下划分4个选项,进入,进入RAID设置界面,可以看到与英特尔主板的接口。磁盘阵列接口,其中4个是查看SATA控制器的布局,选择2个选项进入。

 

 

13、输入2选项后,按Ctrl+C创建RAID,它将进入上述界面。按向上和向下箭头跳到不同的选项,按空格键更改值。在这里,我们设置与以前相同,选择RAID0选项,可选大小为128kb,并在此处分配两个硬盘时注意Y选项。

 

 

14、然后按Ctrl+Y保存,将出现上图的界面,您可以指定自己喜欢的团队名称。然后按Ctrl+Y确认,硬盘将初始化并删除两个硬盘驱动器中内置的数据。

 

15、再次确认后,将显示形成的RAID0磁盘阵列信息界面,最后将重新启动计算机。设置了AMD芯片组的硬盘RAID0磁盘阵列

 

素材来自

https://blog.csdn.net/llwy1428/article/details/89331684

https://jingyan.baidu.com/article/20095761e3e568cb0721b401.html

https://zhidao.baidu.com/question/1045908033021860179.html

https://www.toutiao.com/i6674364589204832775/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1555337530&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&req_id=20190415221210010015019072200C173&group_id=6674364589204832775

http://qiuxiaodu.cn/index.php/archives/47/

 

未显示?请点击刷新
  1. 8个月前 (03-31)
    @

    吼啊,资辞

  2. 8个月前 (03-29)
    @
    你猜

    嘿嘿嘿

    • 8个月前 (03-29)
      @ NO

      @你猜:

  3. 8个月前 (03-29)
    @
    冷瞳

    给我60元

    • 8个月前 (03-29)
      @ NO

      @冷瞳: