RAID术语及原理详解
raid知识点
raid知识点
RAID是Redundant Array of Inexpensive 的缩成,称为廉价冗余磁盘阵列。
原理是利用数组方式来做磁盘组,配合数据分散排列的设计,提升数据的安全性。
其中磁盘阵列是有很多便宜、容量较小、稳定性较高、速度较慢的磁盘组合成一个大型的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能
目前RAID技术大致分为两种:基于硬件的RAID技术的硬RAID和基于软件RAID技术的软RAID.
软件RAID:是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成raid阵列。
硬件RAID:是在服务器的bos界面进行RAID级别的配置,然后内核通过RAID适配器把RAID识别为sd接口的硬盘。
Raid及技术术语-磁盘阵列
RAIDRAID是英文Redundant Array of IndependentDisks的缩写,中文简称为独立磁盘冗余阵列。
RAID就是一种由多块硬盘构成的冗余阵列。
虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。
利用RAID技术于存储系统的好处主要有以下三种:1.通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;2.通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;3.通过镜像或校验操作提供容错能力。
最初开发RAID的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。
目前来看RAID在节省成本方面的作用并不明显,但是RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。
除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。
根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。
常用的RAID级别有以下几种:NRAID,JBOD,RAID 0,RAID 1,RAID0+1,RAID 3,RAID 5等。
目前经常使用的是RAID 5和RAID(0+1)。
RAID 0简介RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。
RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立磁盘冗余阵列。
RAID就是一种由多块硬盘构成的冗余阵列。
RAID简介与基本原理.pptx
RAID 简介
RAID是Redundant Arrays of Independent Disks的缩写,意思是“独立冗 余磁盘阵列”,也可以被简称为“磁盘阵列”;
为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费 用;
同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受 损失,并且能适当的提升数据传输速度;
三、故障恢复
当将故障硬盘更换,RAID磁盘阵列就会通过其他正常磁盘中的数据计算出故 障硬盘上原有的数据,并把这些数据写入更换的正常的硬盘中。
四、知识小结
RAID磁盘 阵列
多个磁盘 组成
提供数据 冗余
条带化技 术
提高读写 速度
故障恢复
谢谢
通过其他磁盘进行恢复; 提高了数据安全性与可靠性;
二、提高磁盘阵列容量
未使用RAID
使用RAID
二、提高磁读写速度
使用RAID技术可以使得读取和写入文件的操作在多个磁盘上同时操作,从而 提高了数据的读写速度;
未使用RAID
使用RAID
三、条带化存储
针对大量数据在被写入或被读取的时候,RAID技术会将其分成多个小的数据 块,进行并行处理。这些被划分成的小数据块就被成为条带;
二、磁盘阵列的特点
提高磁盘 提升读写
存储空间
速度
提高数据 可靠性
RAID
提高磁盘 空间利用
率
二、提高数据可靠性
将数据存储在单个磁盘当中; 当磁盘出现故障,则数据完全
丢失; 没有任何数据可靠性可言;
硬盘一旦损坏,数据将全部丢失
二、提高数据可靠性
将数据存储在磁盘阵列中; 当部分磁盘出现故障,则可以
磁盘阵列各种RAID原理磁盘使用率
磁盘阵列各种RAID原理磁盘使用率RAID(Redundant Array of Inexpensive Disks)是一种磁盘阵列,可以将多块普通的磁盘拼接在一起形成更高效、可靠的数据存储系统。
它可以通过将存储空间划分成若干块虚拟磁盘来提高磁盘访问性能。
存储空间划分的方式共分为9种,分别是RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6,RAID7和RAID10,其中RAID 0、RAID 1、RAID 5和RAID 10是最常用的四种RAID级别。
RAID0是把多块磁盘组合成一个虚拟磁盘,通过分割、重组来提升数据的存取速度,这种RAID把多块磁盘拼接在一起形成一个虚拟磁盘,不提供数据冗余,磁盘使用率比较高,但是其可靠性较低。
RAID1是把多块相同容量的磁盘拼接在一起形成一个虚拟磁盘,不同的是,这种RAID方式采用镜像技术,每个磁盘上的数据都会与另一块磁盘上的数据完全相同,提供了更好的可靠性,磁盘使用率较低,只有一半的磁盘空间可以使用。
RAID5是一种磁盘阵列中比较常用的RAID级别,它将磁盘阵列中的磁盘分成两种,一般磁盘和校验磁盘,这样就可以在一个虚拟磁盘上存储大量数据,任一块磁盘出现问题时,系统可以通过校验磁盘上的冗余数据来恢复受损的数据,并且RAID5提供了比RAID1更高的数据存储空间,磁盘使用率也比RAID1更高。
raid技术详解
raid技术详解(raid大全)一、RAID 概述1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文“A Case of Redundant Array of Inexpensive Disks”中提出了 RAID 概念[1] ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。
由于当时大容量磁盘比较昂贵, RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。
随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘,“廉价”已经毫无意义。
因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用“独立”替代“廉价”,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks )。
但这仅仅是名称的变化,实质内容没有改变。
RAID 这种设计思想很快被业界接纳, RAID 技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。
RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。
D. A. Patterson 等的论文中定义了 RAID1-RAID5 原始 RAID 等级, 1988 年以来又扩展了 RAID0 和 RAID6 。
近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。
目前业界公认的标准是 RAID0-RAID5 ,除 RAID2外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。
磁盘阵列原理
磁盘阵列原理磁盘阵列(RAID)是一种通过将多个磁盘驱动器合并成一个逻辑单元来提供数据冗余和性能提升的技术。
磁盘阵列利用磁盘级别的冗余来提供数据的备份和恢复能力,并通过将数据分布在多个磁盘上来提高数据访问速度。
在本文中,我们将探讨磁盘阵列的原理以及它是如何工作的。
1. 磁盘阵列的概念和分类磁盘阵列是一种将多个独立的磁盘驱动器组合在一起,形成一个逻辑单元的技术。
根据不同的需求,磁盘阵列可以被划分为多个级别,常见的包括RAID 0、RAID 1、RAID 5、RAID 6等级别。
每个级别都有其特定的数据保护和性能特性。
2. RAID 0RAID 0将数据分块并分布到多个磁盘上,以提高数据的读写性能。
它通过在多个磁盘上同时读取和写入数据来实现并行访问。
然而,RAID 0没有冗余机制,一旦其中一个磁盘损坏,所有数据将会丢失。
3. RAID 1RAID 1通过将数据复制到多个磁盘上来提供冗余能力。
每个数据块都会被复制到两个或更多的磁盘上,以确保数据的完整性。
当其中一个磁盘发生故障时,系统可以从其他磁盘中恢复数据。
4. RAID 5RAID 5采用分布式奇偶校验的方式来提供冗余能力。
它将数据分块并分布到多个磁盘上,同时计算奇偶校验信息并存储在不同的磁盘上。
当其中一个磁盘损坏时,系统可以通过计算奇偶校验信息来恢复数据。
5. RAID 6RAID 6在RAID 5的基础上增加了第二个奇偶校验信息。
这意味着RAID 6可以容忍两个磁盘的故障,提供更高的数据可靠性。
6. 磁盘阵列的工作原理磁盘阵列通过控制器来管理和操作多个磁盘驱动器。
控制器负责将数据分块并分布到多个磁盘上,同时监测磁盘的状态。
当磁盘发生故障时,控制器可以根据不同的级别(如RAID 1、RAID 5等)来执行数据的恢复操作。
7. 磁盘阵列的优势和应用磁盘阵列提供了数据的冗余和性能提升能力,可以提高数据的可靠性和访问速度。
它广泛应用于服务器、存储系统、数据库等需要高可靠性和高性能的场景。
常用RAID原理解析
RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。
目前比较常用的有RAID0, RAID1, RAID5和RAID10RAID 0:无差错控制的带区组要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。
因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。
如果刚好所需要的数据在不同的驱动器上效率最好。
它不需要计算校验码,实现容易。
它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。
不应该将它用于对数据稳定性要求高的场合。
如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。
同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。
那么原来读取同样文件的时间被缩短为1/2。
在所有的级别中,RAID 0的速度是最快的。
但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
如图1:RAID 1:镜象结构对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。
通过下面的结构图您也可以看到必须有两个驱动器。
因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。
它比较容易设计和实现。
每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。
因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。
RAID术语
1.1.5 RAID专业术语详解在RAID数据恢复中,会经常用到一些概念,为了便于对后面内容的学习,有必要先把这些概念理解清楚。
1.物理盘物理盘是指创建RAID所用的每块独立的物理硬盘,创建为RAID之后,它们就称为RAID的成员盘。
2.逻辑盘多块物理盘经RAID卡或者软RAID程序配置为RAID之后,多块物理盘就组成了一块新的硬盘,这个硬盘是由RAID控制器或RAID程序虚拟出来的,称为逻辑盘,也称作虚拟盘或容器。
3.逻辑卷RAID中的逻辑卷是由逻辑盘形成的虚拟空间,也称为逻辑分区。
4.热备盘热备盘是指RAID中空闲、加电并待机的硬盘,当RAID中某个成员盘发生故障后,RAID控制器能够自动用热备盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备盘上,保证RAID的完整性。
另外,系统管理员可以更换发生故障的硬盘,并把更换后的硬盘指定为新的热备盘。
5.去RAID化RAID出现故障后,逻辑盘就无法被系统识别,这个时候物理盘可能部分有故障,也可能完全没有故障,为了恢复RAID中的数据,需要把物理盘从服务器的槽位上取下来进行检测和分析,物理盘离开了服务器的槽位,也就离开了RAID控制器,这些物理盘就被"去RAID化"了。
6.盘序多块物理盘在创建RAID时,配置程序会为这些物理盘安排一个先后顺序,RAID创建完成之后,这个顺序就被确定下来,不会再改变,这就是RAID的盘序。
有一点请注意,RAID的盘序并不一定跟物理盘插在服务器上的硬盘槽位顺序相符。
为了对应关系的明确,在后面内容的讲解中,把RAID的盘序从0开始编排,RAID中盘序排在第一位的物理盘称为"0号盘",依次往后就是"1号盘"、"2号盘"等。
在恢复RAID数据前需要将物理盘"去RAID化",把这些RAID中的成员盘抽离服务器槽位时,应该按照它们的槽位顺序编上号码,并标明在物理盘上,一般是用硬盘0、硬盘1这种名称进行标示,但请注意,物理盘的这种顺序并不是RAID的"盘序",因为硬盘0并不一定是"0号盘",硬盘1也并不一定是"1号盘"。
RAID基础知识总结
RAID基础知识总结a1.数据条带 (Data Stripping)原理:将数据分⽚保存到多个磁盘,多个数据分⽚共同组成⼀个完整的数据副本。
数据安全性:不提供数据安全保护。
任何⼀个数据条带损坏都会导致整个数据不可⽤,增加了数据发⽣丢失的概率。
故障修复:⼀旦数据损坏将⽆法恢复。
读写I/O:具有更⾼的I/O并发粒度,当访问数据时,可以同时对位于不同磁盘上的数据进⾏读写操作。
成本:要根据数据特征和需求选择合适的分块⼤⼩,在数据存取随机性(块寻址时间)和并发处理能⼒之间进⾏平衡,以争取尽可能⾼的整体性能。
a2.镜像 (Mirroring)原理:将数据复制到多个磁盘。
数据安全性:提供完全的数据冗余能⼒,当⼀个数据副本不可⽤时,外部系统仍可正常访问另⼀副本。
故障修复:不需要额外的计算和校验,故障修复⾮常快。
读写I/O:可以从多个副本并发读取数据,提供更⾼的读I/O性能;但不能并⾏写数据,写多个副本会导致⼀定的I/O性能降低。
成本:备份时间⼏乎为零;但⾄少需要双倍的存储空间。
a3.数据校验 (Data Parity)原理:利⽤冗余数据进⾏数据错误检测和修复,要在写⼊数据同时进⾏校验计算,并将得到的校验数据存储在RAID成员磁盘中。
数据安全性:可以检测数据错误,当其中⼀部分数据出错时,可以对剩余数据和校验数据进⾏反校验计算,重建丢失的数据。
故障修复:⽐镜像技术复杂得多且慢得多。
读写I/O:数据校验需要从多处读取数据并进⾏计算和对⽐,会影响系统性能。
成本:节省⼤量冗余开销;但由于每次数据读写都要进⾏⼤量的校验运算,对计算机的运算速度要求很⾼,必须使⽤硬件RAID控制器。
a4.缓存 (Cache)原理:作为写,⼀般存储阵列只要求写到cache就算完成了写操作,所以,阵列的写是⾮常快速的,在写cache的数据积累到⼀定程度,阵列才把数据刷到磁盘,可以实现批量的写⼊,⾄于cache数据的保护,⼀般都依赖于镜像与电池(或者是UPS)。
raid(独立冗余磁盘阵列)基础知识
raid(独立冗余磁盘阵列)基础知识RAID(独立冗余磁盘阵列)基础知识一. 什么是RAID?RAID是独立冗余磁盘阵列(Redundant Array of Independent Disks)的缩写,是一种通过将多个磁盘组合在一起来提供高数据性能和冗余存储的技术。
RAID技术通过将数据分散存储在多个磁盘上,实现数据的冗余备份和提高系统性能。
二. RAID的基本原理RAID通过将数据切分成多个块,并将这些块分别存储在不同的磁盘上,以实现数据的冗余备份和提高读写性能。
常见的RAID级别包括RAID 0、RAID 1、RAID 5、RAID 6等。
1. RAID 0:条带化(Striping)RAID 0将数据切分成固定大小的块,并将这些块依次存储在多个磁盘上,提高了数据的读写性能。
然而,RAID 0没有冗余备份功能,一旦其中一个磁盘损坏,所有数据都将丢失。
2. RAID 1:镜像化(Mirroring)RAID 1将数据同时写入两个磁盘,实现了数据的冗余备份。
当其中一个磁盘损坏时,另一个磁盘仍然可以正常工作,保证数据的可靠性。
然而,RAID 1并没有提高数据的读写性能。
3. RAID 5:条带化加分布式奇偶校验(Striping with Distributed Parity)RAID 5将数据切分成固定大小的块,并在多个磁盘上存储数据和奇偶校验位。
奇偶校验位用于恢复损坏的数据。
RAID 5的读写性能较高,并且具有冗余备份功能。
然而,当多个磁盘损坏时,数据恢复的时间和复杂度较高。
4. RAID 6:双分布式奇偶校验(Double Distributed Parity)RAID 6是在RAID 5的基础上增加了第二个奇偶校验位,提高了数据的冗余备份能力。
RAID 6可以同时容忍两个磁盘的损坏,提供了更高的数据可靠性。
三. RAID的优缺点RAID技术具有以下优点:1. 提高数据的读写性能:通过条带化技术,数据可以同时从多个磁盘读取或写入,提高了系统的读写性能。
raid技术原理
raid技术原理RAID(Redundant Array of Independent Disks)是一种存储技术,它将多个独立的硬盘驱动器组合在一起,形成一个逻辑上的单个存储单元。
RAID技术有不同的级别(RAID 0、RAID 1、RAID 5 等),每种级别都有其独特的特性和原理。
以下是一些常见的RAID 级别及其原理:1. RAID 0(条带化):-原理:将数据分成多个块,依次写入不同的硬盘上。
这样,读写操作可以并行进行,提高性能。
-特点:提高性能,但没有冗余,一个硬盘故障会导致数据不可用。
2. RAID 1(镜像):-原理:将相同的数据同时写入两个硬盘,形成镜像。
数据冗余,读操作可以并行进行,写操作会稍慢。
-特点:提供冗余,任何一个硬盘故障都不会导致数据丢失。
3. RAID 5:-原理:将数据和校验信息交错存储在不同硬盘上,通过对数据进行异或运算生成校验信息。
提供读取和写入性能,并提供一定程度的冗余。
-特点:提高性能,允许一个硬盘故障,通过校验信息进行数据恢复。
4. RAID 6:-原理:类似RAID 5,但使用两个校验信息块,通常是对数据块的两次异或运算,提供更高级别的冗余,可以容忍两个硬盘故障。
-特点:冗余性更高,但写入性能相对较低。
5. RAID 10:-原理:将多个硬盘分为两组,每组内采用RAID 1 的镜像方式,然后采用RAID 0 的条带化方式跨组。
-特点:提供了高性能和冗余,但需要更多的硬盘。
RAID 技术的目标通常是提高存储系统的性能、可用性和容错性。
选择哪种RAID 级别取决于应用的要求和对性能与冗余的权衡。
raid原理
raid原理
RAID(冗余磁盘阵列)是一种使用多个磁盘驱动器组合成一个逻辑单元的技术,旨在提高数据存储的性能和可靠性。
RAID采用不同的技术级别,每个级别有其独特的原理。
下面将简要介绍几种常见的RAID级别的原理:
1. RAID 0:RAID 0采用数据条带化的方式将数据均匀地分布在多个磁盘驱动器上。
数据被分为多个块,并在驱动器之间交替写入。
这种条带化方式提高了数据的读写速度,但没有容错能力,因为当一个驱动器出现问题时,整个数组的数据都会受到影响。
2. RAID 1:RAID 1采用镜像方式存储数据,将相同的数据同时写入到至少两个磁盘驱动器中。
这种方式提供了数据的冗余备份,当一个驱动器发生故障时,系统可以从另一个驱动器中读取数据。
RAID 1的优点是容错能力强,但写入速度相对较慢。
3. RAID 5:RAID 5通过将数据和奇偶校验信息交错地分布在多个磁盘驱动器上,实现数据的冗余和读写性能的提升。
奇偶校验信息用于恢复数据,在某个驱动器发生故障时,系统可以通过奇偶校验信息计算出丢失的数据。
RAID 5至少需要三个驱动器,写入速度相对较慢,但具有较好的性能和容错能力。
4. RAID 10:RAID 10是RAID 0和RAID 1的结合,采用条带化和镜像的方式存储数据。
RAID 10至少需要四个驱动器,通过将数据分为多个块并同时在镜像组中存储,提供了较高的读
写性能和容错能力。
这些是常见的RAID级别,每个级别都具有不同的原理和应用场景。
通过选择适当的RAID级别,可以根据实际需求提高数据存储的性能和可靠性。
什么是RAID如何使用RAID提升数据安全性和读写速度
什么是RAID如何使用RAID提升数据安全性和读写速度RAID (Redundant Array of Independent Disks) 是一种通过将多个硬盘驱动器组合在一起来提升数据存储性能和可靠性的技术。
通过将数据分布在多个硬盘上,RAID可以实现数据的冗余备份和并行读写,从而提高数据安全性和读写速度。
RAID技术的原理是将多个硬盘组织成一个逻辑上的存储单元,通过不同的RAID级别或配置方式来实现对数据的备份、分布和读写操作。
下面将介绍几种常见的RAID级别和它们的工作原理。
1. RAID 0:RAID 0通过将数据分散在多个硬盘上来提高读写速度。
它将数据划分成块,并将每个块分配到不同的硬盘上,实现并行读写操作。
由于数据被分散存储,当其中一个硬盘故障时,整个数据也会丢失,因此RAID 0并不提供冗余备份功能。
2. RAID 1:RAID 1通过将数据完全复制到多个硬盘上来提供数据冗余备份。
每个硬盘上存储的数据完全相同,当其中一个硬盘故障时,其他硬盘上的数据可以继续访问。
RAID 1具有很高的可靠性,但相对于RAID 0来说读写速度较慢。
3. RAID 5:RAID 5通过将数据和奇偶校验信息分散存储在多个硬盘上来提供数据冗余备份和读取速度的平衡。
当其中一个硬盘故障时,根据奇偶校验信息可以恢复数据。
RAID 5至少需要三个硬盘来实现,其中一个用于存储奇偶校验信息。
它既提供了高读取性能,又具备数据冗余备份的功能。
4. RAID 10:RAID 10是RAID 1和RAID 0的组合,它将多个硬盘分为两组,每组内部使用RAID 1的镜像备份方式,然后通过RAID 0的方式将两组硬盘进行条带化存储。
RAID 10既有较高的读写速度,又具备了数据的冗余备份。
使用RAID技术可以提升数据的安全性和读写速度。
首先,通过数据的冗余备份,即使其中一个硬盘发生故障,也能确保数据的完整性。
其次,通过并行读写操作,RAID可以提高读写速度,从而加快数据的传输速度和访问响应时间。
磁盘阵列基本原理
磁盘阵列基本原理磁盘阵列(RAID)是一种通过将多个磁盘驱动器组合在一起来提供更高性能、更大存储容量和更高容错能力的技术。
它通过将数据分散存储在多个磁盘上,以实现更快的数据读写速度和更好的数据冗余保护。
RAID技术有多种级别,每种级别都有其独特的数据分布和冗余机制。
下面将介绍几种常见的RAID级别及其基本原理。
1. RAID 0:RAID 0是一种条带化(striping)技术,它将数据分散存储在多个磁盘上,从而提高数据读写速度。
数据被分成块,并按顺序写入不同的磁盘。
当读取数据时,多个磁盘可以同时工作,从而提供更高的吞吐量。
然而,RAID 0没有冗余机制,如果其中一个磁盘故障,所有数据都将丢失。
2. RAID 1:RAID 1是一种镜像(mirroring)技术,它将数据同时写入两个磁盘,从而实现数据的冗余备份。
当其中一个磁盘故障时,另一个磁盘仍然可以提供数据访问。
RAID 1提供了很高的数据可靠性,但存储容量利用率较低,因为每一个数据都需要在两个磁盘上存储一份。
3. RAID 5:RAID 5是一种条带化和分布式奇偶校验(distributed parity)技术的组合。
它将数据和奇偶校验信息分别存储在多个磁盘上,以提供更高的数据读写速度和冗余保护。
奇偶校验信息用于恢复故障磁盘上的数据。
RAID 5至少需要三个磁盘,其中一个磁盘用于存储奇偶校验信息。
当其中一个磁盘故障时,系统可以通过奇偶校验信息计算出丢失的数据。
4. RAID 6:RAID 6是在RAID 5的基础上增加了第二个奇偶校验信息。
它需要至少四个磁盘,并可以容忍两个磁盘的故障。
RAID 6提供了更高的容错能力,但相应地增加了存储开消。
5. RAID 10:RAID 10是RAID 1和RAID 0的组合。
它将数据分散存储在多个磁盘上,并通过镜像技术实现数据的冗余备份。
RAID 10提供了更高的数据读写速度和数据可靠性,但需要至少四个磁盘,且存储容量利用率较低。
raid介绍简单易懂
raid介绍简单易懂RAID(冗余阵列独立磁盘,Redundant Array of Independent Disks)是一种通过将多个硬盘组合在一起的技术,以提高数据存储性能、可靠性和/或容量。
RAID 技术通过在多个硬盘之间分配数据和/或进行冗余备份来实现这些目标。
以下是几种常见的 RAID 级别,每个级别都有不同的工作原理和适用场景:1. RAID 0 - 带条带化(Striping):•工作原理:数据被分割成小块,然后分别写入多个硬盘。
提高读写性能,但不提供冗余,一块硬盘故障会导致数据丢失。
•适用场景:对性能要求高,对数据冗余要求不高的场景,如临时数据存储。
2. RAID 1 - 镜像(Mirroring):•工作原理:数据同时写入两块硬盘,实现数据冗余。
如果一块硬盘故障,另一块硬盘仍然可用。
•适用场景:对数据冗余和可靠性要求高的场景,如关键数据存储。
3. RAID 5 - 带分布式奇偶校验(Striping with Distributed Parity):•工作原理:将数据分割成块并分别写入多个硬盘,同时每个块的奇偶校验信息分布在其他硬盘上。
提高性能和数据冗余。
•适用场景:对性能和冗余兼顾的场景,如文件服务器。
4. RAID 6 - 带双分布式奇偶校验(Striping with Dual Distributed Parity):•工作原理:类似 RAID 5,但使用两个奇偶校验块。
可以容忍两块硬盘同时故障。
•适用场景:对冗余容错性要求极高的场景,如大容量磁盘阵列。
5. RAID 10 - RAID 1+0:•工作原理:将多块硬盘分为两组,每组实施 RAID 1 镜像,然后通过 RAID 0 带条带化。
兼具高性能和高冗余。
•适用场景:对性能和冗余兼顾的场景,如数据库服务器。
RAID 技术可以根据需求进行组合或选择,以满足不同的存储需求。
选择合适的 RAID 级别需要综合考虑性能、可靠性、成本和数据冗余等因素。
RAID磁盘阵列详解
RAID磁盘阵列详解磁盘阵列(Redundant Arrays of Inexpensive Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意。
原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
RAID 0(条带(strping))是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
特点:速度快,没有容错能力RAID1:镜像(mirroring)ID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。
虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。
另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
因此,RAID 1多用在保存关键性的重要数据的场合。
RAID 1示意图RAID5:条带+分布校验3块以上,利用率为(n-1)/n,有容错功能,最多可以坏一块磁盘RAID6:条带+分布校验+分布校验5块以上,利用率为(n-2)/n,有容错功能,最多可以坏二块磁盘RAID10:镜像+条带利用率为50%RAID配置总结:mdadm命令:mdadm - manage MD(mutiple disk) devices aka Linux Software RAIDCurrently, Linux supports LINEAR md devices, RAID0 (striping), RAID1(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY, and CON- TAINER.-C:新建RAID设备-l:设定RAID级别-n:磁盘数目:设定RAID成员设备数目-x(spare device):磁盘数目,设定备用磁盘数目-s:扫描配置文件/etc/madam.conf-D:查看RAID设备信息-S:停用RAID-A:激活RAID[root@lvm ~]# cat /proc/mdstat 查看RAID的配置信息Personalities : [raid6] [raid5] [raid4]md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]unused devices: <none>[root@lvm ~]# mdadm -Ds 查看设备信息ARRAY /dev/md5 metadata=1.2 spares=1 name=lvm:5 UUID=e433a3d5:94c67839:5e66cae5:e4976d17创建RAID5mdadm -C /dev/md5 -l5 -n4 -x1 /dev/sd[bcdef]查看RAID的详细信息mdadm -D /dev/md5创建配置文件mdadm -Ds >>/etc/mdadm.conf停止 RAIDmdadm -S /dev/md5查看RAID信息cat /proc/mdstat格式化挂载RAID磁盘阵列mkfs.ext4 /dev/md5自动挂载RAID阵列修改/etc/fstab注:/boot分区用于存放引导文件,不用应用RAID机制RAID5模拟故障让失效的/dev/sdb1替换为/dev/sdg1mdadm /dev/md5 -a /dev/sdg1 -r /dev/sdb1配置共享的热备份磁盘多个RAID共享备份磁盘节约空间修改 mdadm.conf文件添加 spare-group\sparedisks--monitor开启监控RAID多种元数据格式-Es 查看成员设备上的元数据信息--zero -superblock 清空成员设备上的元数据信息[root@localhost ~]# mdadm -E /dev/sdb 查看磁盘上的元数据千万不要在没有关闭RAID的情况下删除分区正确关闭RAID的步骤1.umount卸载RAID文件系统2.mdadm -S停用RAID3.清空/etc/mdadm.conf文件4.清除/etc/fstab中RAID的挂载记录5.清除每块磁盘上的元数据6.删除/dev/下所对应的raid设备[root@lvm ~]# cat /proc/mdstat 查看RAID的配置信息Personalities : [raid6] [raid5] [raid4]md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]unused devices: <none>[root@lvm ~]# mdadm -DsARRAY /dev/md5 metadata=1.2 spares=1 name=lvm:5 UUID=e433a3d5:94c67839:5e66cae5:e4976d17==========================================================================练习:1.新建raid5卷,使用4块磁盘作raid5,1块磁盘作热备[root@localhost Desktop]# mdadm -C /dev/md5 -l5 -n4 -x1 /dev/sd[bcdef]mdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md5 started.[root@localhost Desktop]# cat /proc/mdstat 查看RAID的配置信息Personalities : [raid6] [raid5] [raid4]md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0] 可知sdf[4]做了热备盘 3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU][root@localhost Desktop]# mdadm -D /dev/md5 查看/dev/md5的设备信息/dev/md5:Version : 1.2Creation Time : Sun Jul 21 01:19:25 2013Raid Level : raid5Array Size : 3144192 (3.00 GiB 3.22 GB)Used Dev Size : 1048064 (1023.67 MiB 1073.22 MB)Raid Devices : 4Total Devices : 5Persistence : Superblock is persistentUpdate Time : Sun Jul 21 01:19:33 2013State : cleanActive Devices : 4Working Devices : 5Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KName : lvm:5 (local to host lvm)UUID : e433a3d5:94c67839:5e66cae5:e4976d17Events : 18[root@localhost Desktop]# mdadm -Ds >> /etc/mdadm.conf 创建配置文件[root@localhost Desktop]# mdadm -S /dev/md5 停止RAIDmdadm: stopped /dev/md5[root@localhost Desktop]# mdadm -A /dev/md5 激活RAIDmdadm: /dev/md5 has been started with 4 drives and 1 spare.[root@localhost Desktop]# mkfs.ext4 /dev/md52.格式化raid5设备[root@localhost Desktop]# mkfs.ext4 /dev/md5 格式化md53.挂载使用[root@localhost Desktop]# mkdir /file[root@localhost Desktop]# mount /dev/md5 /file4.自动挂载功能,修改/etc/fstab文件,添加在/etc/fstab写入/devsda5 /file ext4 defaults 0 0[root@localhost Desktop]# mdadm -D /dev/md5 格式化及挂载后,再次查看md5设备信息/dev/md5:Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc2 8 48 2 active sync /dev/sdd5 8 64 3 active sync /dev/sde4 8 80 - spare5.让其中的一块失效,然后看raid5是否能够继续使用[root@localhost Desktop]# mdadm /dev/md5 -f /dev/sdd(先失效一块)[root@localhost Desktop]# mdadm /dev/md5 -f /dev/sde (后失效一块)使用cat /proc/mdstat命令查看修复过程(需赶快查看,才能看到效果)6.删除有问题的磁盘,添加一个好的磁盘作热备,要求磁盘>容量一致mdadm /dev/md5 -r /dev/sde[de] -a /dev/sd【gh】[root@localhost ~]# cat /proc/mdstat 查看raid的构建过程Personalities : [raid6] [raid5] [raid4]md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_][=============>.......] recovery = 68.5% (719232/1048064) finish=0.0min speed=143846K/sec [root@localhost file]# mdadm -D /dev/md5/dev/md5:Version : 1.2Creation Time : Sun Jul 21 01:19:25 2013Raid Level : raid5Array Size : 3144192 (3.00 GiB 3.22 GB)Used Dev Size : 1048064 (1023.67 MiB 1073.22 MB)Raid Devices : 4Total Devices : 5Persistence : Superblock is persistentUpdate Time : Sun Jul 21 01:44:49 2013State : cleanActive Devices : 4Working Devices : 5Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KName : lvm:5 (local to host lvm)UUID : e433a3d5:94c67839:5e66cae5:e4976d17Events : 68Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc4 8 80 2 active sync /dev/sdf6 8 112 3 active sync /dev/sdh5 8 96 - spare /dev/sdg[root@localhost file]# mdadm /dev/md5 -f /dev/sdh 再次破坏/dev/sdh [root@localhost file]# mdadm -D /dev/md5Active Devices : 4Working Devices : 4Failed Devices : 1Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc4 8 80 2 active sync /dev/sdf5 8 96 3 active sync /dev/sdg6 8 112 - faulty spare /dev/sdh[root@localhost file]# mdadm /dev/md5 -f /dev/sdh[root@localhost file]# mdadm -D /dev/md5/dev/md5:State : clean, degraded, recoveringActive Devices : 3Working Devices : 4Failed Devices : 1Spare Devices : 1Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc4 8 80 2 active sync /dev/sdf5 8 96 3 spare rebuilding /dev/sdg6 8 112 - faulty spare /dev/sdh 【root@localhost file]# mdadm /dev/md5 -f /dev/sdf 破坏/sdf盘Active Devices : 2Working Devices : 2Failed Devices : 3Number Major Minor RaidDevice State0 8 16 0 active sync /dev/sdb1 8 32 1 active sync /dev/sdc2 0 0 2 removed3 0 0 3 removed4 8 80 - faulty spare /dev/sdf5 8 96 - faulty spare /dev/sdg [root@localhost /]# mount -a 卸载再挂载mount: wrong fs type, bad option, bad superblock on /dev/md5,[root@localhost /]# mdadm -S /dev/md5mdadm: stopped /dev/md5[root@localhost /]# mdadm -A /dev/md5mdadm: /dev/md5 assembled from 2 drives - not enough to start the array.[root@localhost /]# mdadm -Es /dev/sdb 查看成员设备上的元数据信息ARRAY /dev/md/5 metadata=1.2 UUID=e433a3d5:94c67839:5e66cae5:e4976d17 name=lvm:5 [root@localhost /]# mdadm -E /dev/sdbRaid Level : raid5Device Role : Active device 0Array State : AA.. ('A' == active, '.' == missing)=========删除/dev/md51.卸载挂载点[root@localhost /]# umount /dev/sda52.[root@localhost /]#mdadm -S停用RAID3.清空 /etc/mdadm.conf文件4彻底清除/etc/fstab文件的挂载记录5.清除每块磁盘的元数据[root@localhost /]# mdadm --zero-superblock /dev/sd[bcdefg]6.删除/dev/下所对应的raid设备。
Raid术语简介
Raid术语简介1、Array:阵列磁盘阵列模式是把⼏个磁盘的存储空间整合起来,形成⼀个⼤的单⼀连续的存储空间。
2、Array Spanning:阵列跨越阵列跨越是把2个,3个或4个磁盘阵列中的存储空间进⾏再次整合,形成⼀个具有单⼀连续存储空间的逻辑驱动器的过程。
就是说,跨越阵列是对已经形成了的⼏个阵列进⾏再⼀次的组合,RAID 1,RAID 3和RAID 5跨越阵列后分别形成了RAID 10,RAID 30和RAID 50。
3、Cache Policy:⾼速缓存策略RAID控制器具有两种⾼速缓存策略,分别为Cached I/O(缓存I/O)和Direct I/O(直接I/O)。
缓存I/O总是采⽤读取和写⼊策略,读取的时候常常是随意的进⾏缓存。
直接I/O在读取新的数据时总是采⽤直接从磁盘读出的⽅法,如果⼀个数据单元被反复地读取,那么将选择⼀种适中的读取策略,并且读取的数据将被缓存起来。
只有当读取的数据重复地被访问时,数据才会进⼊缓存,⽽在完全随机读取状态下,是不会有数据进⼊缓存的。
4、Online Capacity Expansion:在线扩容在线扩容是指,可增加新的磁盘或当初未作RAID的剩余磁盘空间到原来⼀个已经做好的RAID阵列中,⽽不损坏原阵列中的任何数据内容5、Raid Level Migration(RLM):在线Raid级别迁移在线Raid级别变更。
6、Channel:通道在两个磁盘控制器之间传送数据和控制信息的电通路。
7、Hot Spare:热备当⼀个正在使⽤的磁盘发⽣故障后,⼀个空闲并待机的磁盘将马上代替此故障盘,此⽅法就是热备⽤。
热备⽤磁盘上不存储任何的⽤户数据,最多可以有8个磁盘作为热备⽤磁盘。
⼀个热备⽤磁盘可以专属于⼀个单⼀的冗余阵列或者多个冗余阵列,它也可以是整个阵列热备⽤磁盘池中的⼀部分。
⽽在某个特定的阵列中,只能有⼀个热备⽤磁盘。
当磁盘发⽣故障时,控制器的固件能⾃动的⽤热备⽤磁盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备⽤磁盘上。
网络存储之raid卡全解析(图)
网络存储之RAID卡全解析(图)RAID的全称是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),于1987年由美国Berkeley 大学的两名工程师提出的RAID出现的,最初目的是将多个容量较小的廉价硬盘合并成为一个大容量的“逻辑盘”或磁盘阵列,实现提高硬盘容量和性能的功能。
随着RAID技术的逐渐普及应用,RAID技术的各方面得到了很大的发展。
现在,RAID从最初的RAID 0-RAID 5,又增加了RAID 0+1和RAID 0+5等不同的阵列组合方式,可以根据不同的需要实现不同的功能,扩大硬盘容量,提供数据冗余,或者是大幅度提高硬盘系统的I/0吞吐能力。
一、RAID介绍RAID技术主要有三个特点:第一、通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高数据存取速度。
第二、通过对一阵列中的几块硬盘同时读取,减少硬盘的机械寻道时间,提高数据存取速度。
第三、通过镜像或者存储奇偶校验信息的方式,实现对数据的冗余保护。
经常应用的RAID阵列主要分为RAID 0,RAID 1,RAID 5和RAID 0+1。
1、RAID0:条带化RAID 0 也叫条带化,它将数据象条带一样写到多个磁盘上,这些条带也叫做“块”。
条带化实现了可以同时访问多个磁盘上的数据,平衡I/O负载,加大了数据存储空间和加快了数据访问速度。
RAID 0是唯一的一个没有冗余功能的RAID技术,但RAID0 的实现成本低。
如果阵列中有一个盘出现故障,则阵列中的所有数据都会丢失。
如要恢复RAID 0,只有换掉坏的硬盘,从备份设备中恢复数据到所有的硬盘中。
硬件和软件都可以实现RAID0。
实现RAID0最少用2个硬盘。
对系统而言,数据是采用分布方式存储在所有的硬盘上,当某一个硬盘出现故障时数据会全部丢失。
RAID 0 能提供很高的硬盘I/O性能,可以通过硬件或软件两种方式实现。
RAID技术详解
RAID技术详解RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。
磁盘阵列其实也分为软阵列(Software Raid)和硬阵列(Hardware Raid) 两种. 软阵列即通过软件程序并由计算机的CPU提供运行能力所成. 由于软件程式不是一个完整系统故只能提供最基本的RAID容错功能. 其他如热备用硬盘的设置, 远程管理等功能均一一欠奉. 硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能. 不依靠系统的CPU资源. 由于硬阵列是一个完整的系统, 所有需要的功能均可以做进去. 所以硬阵列所提供的功能和性能均比软阵列好. 而且, 如果你想把系统也做到磁盘阵列中, 硬阵列是唯一的选择. 故我们可以看市场上RAID 5 级的磁盘阵列均为硬阵列. 软阵列只适用于Raid 0 和Raid 1. 对于我们做镜像用的镜像塔, 肯定不会用Raid 0或Raid 1。
作为高性能的存储系统,巳经得到了越来越广泛的应用。
RAID 的级别从RAID概念的提出到现在,巳经发展了六个级别,其级别分别是0、1、2、3、4、5等。
但是最常用的是0、1、3、5四个级别。
下面就介绍这四个级别。
RAID 0:将多个较小的磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。
RAID 0亦称为带区集。
它是将多个磁盘并列起来,成为一个大硬盘。
在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。
所以,在所有的级别中,RAID 0的速度是最快的。
但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 1:两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个磁盘错,可靠性最高。
RAID 1就是镜像。
其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。
当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如某一磁盘故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次, 将故障磁盘的数据恢复并写入新磁盘中;如奇偶校验磁盘故障,则重新计算奇偶校验值, 以达容错的要求.较之RAID 1及RAID 2,RAID 3有85%的磁盘空间利用率,其性能比RAID 2稍差,因为要 做奇偶校验计算;共轴同步的平行存取在读档案时有很好的性能,但在写入时较慢,需要 重新计算及修改奇偶校验磁盘的内容。RAID 3和RAID 2有同样的应用方式,适用大档 案及大量数据输出入的应用,并不适用于PC及网络服务器。
若以N表示磁盘的数目,R表示读取,W表示写入,S表示可使用空间,则数据分段的性能 为: R:N(可同时读取所有磁盘) W:N(可同时写入所有磁盘) S:N(可利用所有的磁盘,并有最佳的使用率)
Disk striping也称为RAID 0,很多人以为RAID 0没有甚么,其实这是非常错误的观念, 因为RAID 0使磁盘的输出入有最高的效率。而磁盘阵列有更好效率的原因除数据分段 外,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放 在不同的磁盘,不同的磁盘可同时作读写,而且能在快取内存及磁盘作并行存取 (parallel access)的动作,但只有硬件的磁盘阵列才有此性能表现。
从上面两点我们可以看出,disk spanning定义了RAID的基本形式,提供了一个便宜、 灵活、高性能的系统结构,而disk striping解决了数据的存取效率和磁盘的利用率问 题,RAID 1至RAID 5是在此基础上提供磁盘安全的方案。
RAID 1
RAID 1是使用磁盘镜像(disk mirroring)的技术。磁盘镜像应用在RAID 1之前就在很 多系统中使用,它的方式是在工作磁盘(working disk)之外再加一额外的备份磁盘 (backup disk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份 磁盘。磁盘镜像不见得就是RAID 1,如Novell Netware亦有提供磁盘镜像的功能,但并 不表示Netware有了RAID 1的功能。一般磁盘镜像和RAID 1有二点最大的不同:
RAID 3
RAID 3的数据储存及存取方式都和RAID 2一样,但在安全方面以奇偶校验(parity check)取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘(parity disk)。 奇偶校验值的计算是以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校 验磁盘,任何数据的修改都要做奇偶校验计算,如图:
磁盘延伸(Disk Spannink spanning这种技术的含义。如图磁盘阵列控制器, 联接了四个磁盘,这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAID controller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:盘。这是disk spanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在 各磁盘的分布,而且提高了磁盘空间的使用率。并使磁盘容量几乎可作无限的延伸;而各 个磁盘一起作取存的动作,比单一磁盘更为快捷。很明显的,有此阵列的形成而产生 RAID的各种技术。
RAID 2的安全采用内存阵列(memory array)的技术,使用多个额外的磁盘作单位错误校 正(single-bit correction)及双位错误检测(double-bit detection);至于需要多少个 额外的磁盘,则视其所采用的方法及结构而定,例如八个数据磁盘的阵列可能需要三个 额外的磁盘,有三十二个数据磁盘的高档阵列可能需要七个额外的磁盘。
RAID 4
RAID 4也使用一个校验磁盘,但和RAID 3不一样,如图:
RAID 4是以扇区作数据分段,各磁盘相同位置的分段形成一个校验磁盘分段(parity block),放在校验磁盘。这种方式可在不同的磁盘平行执行不同的读取命今,大幅提高磁 盘阵列的读取性能;但写入数据时,因受限于校验磁盘,同一时间只能作一次,启动所有 磁盘读取数据形成同一校验分段的所有数据分段,与要写入的数据做好校验计算再写 入。即使如此,小型档案的写入仍然比RAID 3要快,因其校验计算较简单而非作位(bit level)的计算;但校验磁盘形成RAID 4的瓶颈,降低了性能,因有RAID 5而使得RAID 4 较少使用。
2.磁盘阵列原理
磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,RAID是Redundent Array of Inexpensive Disks的缩写,而每一level代表一种技术,目前业界公认的标 准是RAID 0~RAID 5。这个level并不代表技术的高低,level 5并不高于level 3,level 1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境 (operating environment)及应用(application)而定,与level的高低没有必然的关系。 RAID 0及RAID 1适用于PC及PC相关的系统如小型的网络服务器(network server)及 需要高磁盘容量与快速磁盘存取的工作站等,比较便宜;RAID 3及RAID 4适用于大型电 脑及影像、CAD/CAM等处理;RAID 5多用于OLTP,因有金融机构及大型数据处理中心的 迫切需要,故使用较多而较有名气, RAID 2较少使用,其他如RAID 6,RAID 7,乃至RAID 10等,都是厂商各做各的,并无一致的标准,在此不作说明。介绍各个RAID level之前, 先看看形成磁盘阵列的两个基本技术:
RAID 2
RAID 2是把数据分散为位(bit)或块(block),加入海明码Hamming Code,在磁盘阵列中 作间隔写入(interleaving)到每个磁盘中,而且地址(address)都一样,也就是在各个磁 盘中,其数据都在相同的磁道(cylinder or track)及扇区中。RAID 2的设计是使用共 轴同步(spindle synchronize)的技术,存取数据时,整个磁盘阵列一起动作,在各作磁 盘的相同位置作平行存取,所以有最好的存取时间(accesstime),其总线(bus)是特别的 设计,以大带宽(band wide)并行传输所存取的数据,所以有最好的传输时间(transfer time)。在大型档案的存取应用,RAID 2有最好的性能,但如果档案太小,会将其性能拉 下来,因为磁盘的存取是以扇区为单位,而RAID 2的存取是所有磁盘平行动作,而且是作 单位元的存取,故小于一个扇区的数据量会使其性能大打折扣。RAID 2是设计给需要连 续且大量数据的电脑使用的,如大型电脑(mainframe to supercomputer)、作影像处理 或CAD/CAM的工作站(workstation)等,并不适用于一般的多用户环境、网络服务器 (network server),小型机或PC。
目前改进磁盘存取速度的的方式主要有两种。一是磁盘快取控制(disk cache controller),它将从磁盘读取的数据存在快取内存(cache memory)中以减少磁盘存取 的次数,数据的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不在快 取内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方式在单工环境(single- tasking envioronment)如DOS之下,对大量数据的存取有很好的性能(量小且频繁的存 取则不然),但在多工(multi-tasking)环境之下(因为要不停的作数据交换(swapping) 的动作)或数据库(database)的存取(因为每一记录都很小)就不能显示其性能。这种方 式没有任何安全保障。
RAID 1的磁盘是以磁盘延伸的方式形成阵列,而数据是以数据分段的方式作储存,因而 在读取时,它几乎和RAID 0有同样的性能。从RAID的结构就可以很清楚的看出RAID 1 和一般磁盘镜像的不同。
下图为RAID 1,每一笔数据都储存两份: 从图可以看出: R:N(可同时读取所有磁盘) W:N/2(同时写入磁盘数) S:N/2(利用率)
RAID术语及原理详解
1.为什么需要磁盘阵列?
如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效 的利用磁盘空间,一直是电脑专业人员和用户的困扰;而大容量磁盘的价格非常昂贵,对 用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。
过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大 幅增加,而数据储存装置--主要是磁盘(hard disk)--的存取速度只增加了三、四倍,形 成电脑系统的瓶颈,拉低了电脑系统的整体性能(through put),若不能有效的提升磁盘 的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。
一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘快取控制及磁盘 阵列结合在一个控制器(RAID controler或控制卡上,针对不同的用户解决人们对磁 盘输出入系统的四大要求: (1)增加存取速度, (2)容错(fault tolerance),即安全性 (3)有效的利用磁盘空间; (4)尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。
读取数据时可用到所有的磁盘,充分发挥数据分段的优点;写入数据时,因为有备份,所 以要写入两个磁盘,其效率是N/2,磁盘空间的使用率也只有全部磁盘的一半。
很多人以为RAID 1要加一个额外的磁盘,形成浪费而不看好RAID 1,事实上磁盘越来越 便宜,并不见得造成负担,况且RAID 1有最好的容错(fault tolerence)能力,其效率也 是除RAID 0之外最好的。
其二是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘 使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相 关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列所利用 的不同的技术,称为RAID level,不同的level针对不同的系统及应用,以解决数据安全 的问题。