RAID的几种特性DOC.docx
- 文档编号:25545515
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:13
- 大小:182.71KB
RAID的几种特性DOC.docx
《RAID的几种特性DOC.docx》由会员分享,可在线阅读,更多相关《RAID的几种特性DOC.docx(13页珍藏版)》请在冰豆网上搜索。
RAID的几种特性DOC
在企业中,针对数据存储 ,我们往往关注两个方面,一是数据的安全性,二是数据的读写速度,然而现实中,这两个方面在相同的投资情况下是相互冲突的,要达到比较高的安全性,往往需要牺牲读写速度为代价,如何选择合适的存储方式,在实际业务中至关重要;
具体以下几种场景:
1、数据分散写入,磁盘空间最大化利用,读写速度快,数据能接收丢失的风险:
使用RAID0,针对数据拆分会用,提高数据的读写速度,没有数据冗余,磁盘损坏,数据一定会丢失
2、磁盘安全最大化,每份数据同时写入两块磁盘,读写速度相对比较慢,数据不会拆分写入:
使用RAID1 ,每份数据都分别存储在两块磁盘,最好的情况下可以做到损坏一半的磁盘下,数据不丢失。
3、磁盘利用率及读取速度为RAID0,RAID1比较折中,每次读写至少要进行四次IO,RIAD5适应用大文件的读写,比如视频等,即可充分利用磁盘数据又有相对的冗余,在一块磁盘损坏的情况下,可以不丢失数据。
4、数据安全性高,磁盘利用率为50%,数据读写时会进行拆分,RAID10,适合离散数据,如数据库等写入次数比较多,数据量比较少的系统。
引用文章一、
一.RAID定义
RAID(RedundantArrayofIndependentDisk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。
RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。
RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
二、RAID的几种工作模式(仅讨论RAID0,RAID1,RAID5,RAID10这四种,这四种比较典型)
1、RAID0(又称为Stripe或Striping--分条)
即DataStripping数据分条技术。
RAID0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。
RAID0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。
特点:
容错性:
没有
冗余类型:
没有
热备盘选项:
没有
读性能:
高
随机写性能:
高
连续写性能:
高
需要的磁盘数:
只需2个或2*N个(这里应该是多于两个硬盘都可以)
可用容量:
总的磁盘的容量
典型应用:
无故障的迅速读写,要求安全性不高,如图形工作站等。
RAID0的工作方式:
图1
如图1所示:
系统向三个磁盘组成的逻辑硬盘(RADI0磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。
我们从图中可以清楚的看到通过建立RAID0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。
从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。
但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
RAID0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。
对于个人用户,RAID0也是提高硬盘存储性能的绝佳选择。
计算机技术发展迅速,但硬盘传输率也成了性能的瓶颈。
怎么办?
IDERAID技术的成熟让我们轻松打造自己的超高速硬盘。
在实际应用中,RAID0硬盘阵列能比普通IDE7200转ATA133硬盘快得多,时至今日,在大多数的高端或者玩家主板上我们都能找到一颗PROMISE或者HighPoint的RAID芯片,同时发现它们提供的额外几个IDE接口。
没错,RAID已经近在眼前,难道你甘心放弃RAID为我们带来的性能提升吗?
答案当然是否定的!
实用的IDERAID
RAID可以通过软件或硬件实现。
像Windows2000就能够提供软件的RAID功能,但是这样需要消耗不小的CPU资源,降低整机性能。
而硬件实现则是一般由RAID卡实现的,高档的SCSIRAID卡有着自己专用的缓存和I/O处理器,但是对于家庭用户来说这样的开销显然是承受不了的,毕竟为了实现RAID买两个或者更多的HDD已经相当不容易了。
我们还有一种折中的办法——IDERAID。
或许这才是普通人最容易接受的方法。
虽然IDERAID在功能和性能上都有所折中,但相对于低廉的价格,普通用户看来并不在意。
为什么要用RAID0
RAID0至少需要两块硬盘才能够实现,它的容量为组成这个系统的各个硬盘容量之和,这几块硬盘的容量要相同,在家用IDERAID中一般级联两块硬盘,一定要用同型号同容量的硬盘。
RAID0模式向硬盘写入数据的时候把数据一分为二,分别写入两块硬盘,读取数据的时候则反之,这样的话,每块硬盘只要负担一半的数据传输任务,得到的结果也就是速度的增加。
实现方式:
(1)、RAID0最简单方式(我觉得这个方式不是它本意所提倡的)
就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的x倍,在电脑数据写时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。
速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠
性是单独使用一块硬盘的1/n。
(2)、RAID0的另一方式(常指的RAID0就是指的这个)
是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。
提高系统的性能。
2、RAID1(又称为Mirror或Mirroring--镜像)
RAID1称为磁盘镜像:
把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。
RAID1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。
RAID1有以下特点:
(1)、RAID1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。
(2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
(3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
(5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)、RAID1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
RAID1的工作方式:
图2
如图2所示:
当读取数据时,系统先从RAID1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。
当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。
raid1的优缺点
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID1提供最高的数据安全保障。
同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
3、RAID 5(可以理解为是RAID0和RAID1的折衷方案,但没有完全使用RAID1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式,与下面的RAID10不同。
)
容错性:
有
冗余类型:
奇偶校验
热备盘选项:
有
读性能:
高
随机写性能:
低
连续写性能:
低
需要的磁盘数:
三个或更多
可用容量:
(n-1)/n的总磁盘容量(n为磁盘数)
典型应用:
随机数据传输要求安全性高,如金融、数据库、存储等。
图3
RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
以四个硬盘组成的RAID5为例,其数据存储方式如图4所示:
图中,Ap为A1,A2和A3的奇偶校验信息,其它以此类推。
由图中可以看出,RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。
当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID5可以理解为是RAID0和RAID1的折衷方案。
RAID5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。
RAID5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。
同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID1高,存储成本相对较低。
4、RAID 5(可以理解为是RAID0和RAID1的折衷方案,但没有完全使用RAID1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式)
图4
RAID10也被称为镜象阵列条带。
象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘,所以RAID10的另一种会说法是RAID0+1。
RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。
对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的性能。
使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。
RAID10需要4+2*N个磁盘驱动器(N>=0),而且只能使用其中一半(或更小,如果磁盘大小不一)的磁盘用量,例如4个250G的硬盘使用RAID10阵列,实际容量是500G。
RAID总结:
类型
读写性能
安全性
磁盘利用率
成本
应用方面
RAID0
最好(因并行性而提高)
最差(完全无安全保障)
最高(100%)
最低
个人用户
RAID1
读和单个磁盘无分别,写则要写两边
最高(提供数据的百分之百备份)
差(50%)
最高
适用于存放重要数据,如服务器和数据库存储等领域。
RAID5
读:
RAID5=RAID0(相近似的数据读取速度)
写:
RAID5<对单个磁盘进行写入操作(多了一个奇偶校验信息写入)
RAID5<="">
RAID5>RAID1
RAID5<="">
是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID10
读:
RAID10=RAID0
写:
RAID10=RAID1
RAID10=RAID1
RAID10=RAID1(50%)
RAID10=RAID1
集合了RAID0,RAID1的优点,但是空间上由于使用镜像,而不是类似RAID5的“奇偶校验信息”,磁盘利用率一样是50%
来源:
<
引用文章二
为了方便RAID10和RAID5对比,这里拿同样多驱动器的磁盘来做对比(4个相同的磁盘),RAID5可以选择3D+1P的RAID方案,RAID10则可以选择2D+2D的RAID方案。
∙安全性方面的比较,其实在安全性方面,勿须质疑,肯定是RAID10的安全性高于RAID5。
我们也可以从简单的分析来得出。
当盘1损坏时,对于RAID10,只有当盘1对应的镜象盘损坏,才导致RAID失效。
但是对于RAID5,剩下的3块盘中,任何一块盘故障,都将导致RAID失效,在恢复的时候,RAID10恢复的速度也快于RAID5。
∙空间利用率的比较:
RAID10的利用率是50%,RAID5的利用率是75%。
硬盘数量越多,RAID5的空间利用率越高。
∙读写性能方面的比较:
主要分析分析如下三个过程:
读,连续写,离散写。
在介绍这三个过程之前,先介绍一个特别重要的概念:
cache(写入缓存),cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的raid卡,一般都包含有几十,甚至几百兆的Raidcache。
Cache的主要作用是什么呢?
体现在读与写两个不同的方面,如果作为写,一般存储阵列只要求写到cache就算完成了写操作,所以,阵列的写是非常快速的,在写cache的数据积累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入,至于cache数据的保护,一般都依赖于镜相与电池(或者是UPS)。
Cache的读一样不可忽视,因为如果读能在cache中命中的话,将减少磁盘的寻道,因为磁盘从寻道开始到找到数据,一般都在6ms以上,而这个时间,对于那些密集型io的应用可能不是太理想。
但是,如果cache能命中,一般响应时间则可以在1ms以内。
两者应该相差3个数量级(1000倍)。
读操作方面的性能比较
RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者的读的性能应该是基本一致的。
连续写方面的性能比较
在连续写操作过程,如果有写cache存在,并且算法没有问题的话,RAID5比RAID10甚至会更好一些,虽然也许并没有太大的差别。
(这里要假定存储有一定大小足够的写cache,而且计算校验的cpu不会出现瓶颈)。
因为这个时候的RAID校验是在cache中完成,如4块盘的RAID5,可以先在内存中计算好校验,同时写入3个数据+1个校验。
而RAID10只能同时写入2个数据+2个镜相。
根据前面对缓存原理的介绍,写cache是可以缓存写操作的,等到缓存写数据积累到一定时期再写到磁盘。
但是,写到磁盘阵列的过程是迟早也要发生的,所以RAID5与RAID10在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。
不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别其实并不是太大。
离散写方面的性能比较
如果采用的是oracle数据库,每次写一个数据块的数据,如8K;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。
但是因为不保证能够添满RAID5的一个数据条带块,比如32K(保证每个盘都能写入),所以很多时候更加偏向于离散写入(写入到已存在数据的条带中)。
在离散写的时候对于RAID5,实际发生了4次i/o:
但对于RAID10,同样的操作,最终RAID10只需要2个i/o操作,但是,在RAID5中,如果需要读取的数据已经在cache中,可能并不需要4个io的。
这也证明了cache对RAID5的重要性,不仅仅是计算校验需要,而且对性能的提升尤为重要。
当然,并不是说cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,只不过RAID10对cache的依赖性没有RAID5那么明显而已。
磁盘世纪读写操作(机械电磁操作)的IOPS对比
假定有一个数据请求事件,其iops是10000,读cache命中率是30%,读iops为60%,写iops为40%,磁盘个数为120,那么分别计算在raid5与raid10的情况下,每个磁盘的iops为多少。
Raid5:
单块盘的iops=(10000*(1-0.3)*0.6+4*(10000*0.4))/120=(4200+16000)/120=168
这里的10000*(1-0.3)*0.6表示是读的iops,比例是0.6,除掉cache命中,实际只有4200个iops。
4*(10000*0.4)表示写的iops,因为每一个写,在raid5中,实际发生了4个io,所以写的iops为16000个。
为了考虑raid5在写操作的时候,那2个读操作也可能发生命中,所以更精确的计算为:
单块盘的iops=(10000*(1-0.3)*0.6+2*(10000*0.4)*(1-0.3)+2*(10000*0.4))/120=(4200+5600+8000)/120=148计算出来单个盘的iops为148个,基本达到磁盘极限。
Raid10:
单块盘的iops=(10000*(1-0.3)*0.6+2*(10000*0.4))/120=(4200+8000)/120=102
可以看到,因为raid10对于一个写操作,只发生2次io,所以,同样的压力,同样的磁盘,每个盘的iops只有102个,这远远低于磁盘的极限iops。
Raid10和Raid5对比结论
要求较高的空间利用率,对安全性要求不是特别高、大文件存储的系统采用RAID5比较好。
相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID10的方式比较好。
另外关于限制:
在Raid10中,四个硬盘的总空间不能大于3.8T,这样现在的大容量磁盘:
1T的就无法使用,限制了储存空间,而RAID5就基本不存在这种限制。
另外,磁盘数量增加,对电源的要求上升,能耗也加大了,且服务器散热风扇的噪音也将急剧增大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RAID 特性 DOC