免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1355 | 回复: 0
打印 上一主题 下一主题

[RAID与磁盘阵列] RAID技术概述 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-28 17:56 |只看该作者 |倒序浏览

RAID技术概述
RAID是廉价磁盘冗余阵列的缩写,更现代的说法是,独立磁盘的冗余阵列。RAID这个概念最早是由1987年加州伯克利大学的David Patterson,Garth Gibson, Randy Katz提出的,他们的目标是展示一个RAID的性能可以达到或超过当时的一个单一的,大容量的,昂贵的磁盘。
在项目开发的过程中,随着频繁的磁盘失败,通过磁盘的冗余来避免磁盘数据的丢失已经是必须的了。这样一来,该项目的研究对于将来的RAID变得至关重要。
        RAID的标准
许多RAID级别在技术上是可以实现的,但是不经常使用。以下完整的列出了RAID级别:
        RAID 0:条带或串联
        RAID 1:镜像
        RAID 0+1:条带加镜像
        RAID 1+0:镜像加条带
        RAID 2:加重平衡编码修正(Hamming code correction)
        RAID 3:使用专用奇偶校验的条带化
        RAID 4:独立的读取和写入
        RAID 5:带有分布式奇偶校验的条带化
      串联---RAID 0  串联可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:地址空间是相邻的、没有数据冗余 、块(chunks)可以认为是物理磁盘或相邻区域的磁盘空间
串联----RAID 0
推动这种技术发展的主要原因是创建一个大于物理磁盘容量的虚拟磁盘设备。通过在逻辑上结合两个或更多物理磁盘来获得更大存储空间。串联也能使你扩展一个虚拟磁盘通过给它串联另外的物理磁盘。这项技术不限制磁盘大小,既成员磁盘的容量可以不同,而且不会损失磁盘空间。
      阵列管理软件就是负责将3个物理磁盘复合成一个虚拟磁盘设备,对于应用来说,它只是个邻近的存储空间。   
      通过使用RAID 0的串联结构可以获得以下优点:
      当数据遍布在多个磁盘上时,串联可以提高随机的I/O性能。
      写性能也是相同的;如果是随机读取的话,也可以提高读性能。
      磁盘的全部容量都可以为用户存储数据。
     局限性主要包括:
        只使用串联将没有冗余,串联的卷可以通过镜像达到冗余。
        串联的可靠性较低,一个磁盘数据的丢失将导致所有磁盘数据的丢失
        当磁盘满,数据会通过所有成员磁盘扩展,但是,当磁盘未满时,最后的磁盘将不被使用,降低了磁盘的利用率。
条带----RAID 0
条带可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:地址空间是分段的 、I/O流在磁盘与磁盘间交换、没有数据冗余 、对性能的增加有意义
条带----RAID 0
推动这种技术发展的主要原因是为了提高每秒I/O(IOPS)的性能。通过并行访问设备来增强性能。在并行访问中,虚拟设备中的所有磁盘大部分时间都用来服务I/O请求,所以提高了I/O的吞吐量。
     阵列管理软件就是负责把整个阵列看做一个单独的虚拟磁盘。它使用多个物理磁盘并将它们复合为一个虚拟磁盘给应用。
     I/O流被划分为称为条带(stripe)的段,从一个逻辑存储单元映射到两个或更多的物理磁盘。条带单元是隔行扫描的所以每个片上的复合空间也是交替的。
     在这种结构下,没有数据保护,实际上,执行条带化后,丢失一个磁盘上的数据会导致所有条带磁盘的数据丢失。条带化增强了性能,但是降低了可靠性。
     通过使用RAID 0条带化结构可以获得的优势是:
      对于大量的连续的I/O请求和随机的I/O请求增强了性能。条带单元的大小可以根据顺序或随机存取而进行优化。
      磁盘的全部容量都可以为用户存储数据。
     局限性主要包括:
      没有冗余
      条带化的可靠性较低,丢失一个磁盘的数据将导致所有条带磁盘的数据丢失。
    条带单元大小的策略:优化一个条带化RAID 0结构条带单元大小的策略依赖于卷访问的类型。
        顺序访问环境
在一个顺序的环境里,当请求涉及到条带宽度范围内的所有磁盘成员时,条带化能够提高性能。举例来说,一个条带包含4个磁盘,一个I/O请求为128Kbytes,那么,配置条带单元的大小为32Kbytes。
        随机访问环境
在一个随机环境里,条带化可以提高性能。随机访问受控于磁盘的搜索和寻道时间,随机的I/O要比顺序的I/O小很多,通常是从2Kbytes到8Kbytes。
当条带单元的大小配置为比请求的大小大很多的时候,性能得到优化。举例来说,对于一个8Kbytes的请求,至少配置条带单元的大小为16Kbytes。
                  
镜像----RAID 1  
镜像提供了数据的最大可用性,并有以下功能:所有数据的完全冗余拷贝、提高了读性能、透明化了磁盘失败
     这项技术发展的主要原因是它能够提供高级别的可用性及可靠性。
     镜像(RAID 1)通过数据在独立spindes上的多次记录来提供冗余。对于应用来讲,镜像磁盘显示为一个虚拟磁盘。一旦一个物理磁盘失败,失败磁盘上的镜像也就无效了,但系统继续通过未受影响的磁盘进行操作。
     通过使用RAID 1的镜像结构可以获得如下的优点:
     在一个或多个磁盘上可以获得一个完全冗余的数据拷贝
如果一个阵列中的镜像连接到不同的接口板,就可以达到非常高的数据可靠性级别。
     所有驱动器都可以用来读取,提高了性能
在一个多用户或多任务环境下,当多个磁盘成员要获得满意的读效果时,镜像提高了读性能。相反,如果只有单一的卷读取进程,则将不能提高性能。
      你可以设置3路镜像,但性能会受很大影响。在3路镜像中,写性能最大为44%。
      局限性:
      镜像需要使用两倍的磁盘,本质上占用了2倍的存储空间
      镜像降低了大约15%的写性能,这实际上小于典型的RAID 5的写损失。(RAID 5的写性能最大到70%)。

镜像—条带(RAID 0+1)
镜像—条带(RAID 0+1)  复合条带化的镜像可以提供如下功能:极大的提高了性能、完全的数据冗余、透明化了磁盘失败。
使用复合条带和镜像的主要原因是获得RAID 0的性能和RAID 1的可用性。
安装它需要较高的花销,但许多用户认为它是值得投资的。
两个磁盘可以先进行条带化,然后进行镜像。可以获得镜像的高可靠性。因为同时使用了条带技术,它的性能要比单独使用镜像的性能要好得多。
它的一个优点就是有利于一个磁盘上分布数据的访问(提高了I/O per second),并增强了数据冗余。
        
     局限性:RAID 0+1是高花销的镜像系统,需要2倍的独立磁盘空间。

条带----镜像(RAID 1+0)
条带----镜像(RAID 1+0)  复合镜像化的条带可以提供以下功能:极大的提高了性能 、完全的数据冗余、透明化了磁盘失败、比RAID 0+1提供了更高的磁盘失败容许
RAID 1+0拥有所有RAID 0+1性能及可靠性的优点,但它允许了更高级别的磁盘失败而不丢失数据。
RAID 1+0通常在磁盘失败后拥有更快的恢复时间,因为它只需要代替单独的条带来恢复而不是整个镜像。
RAID 1+0推荐在大型卷中使用,因为,失败的恢复时间是个关键。
RAID 1+0的概念根本不同于RAID 0+1,在RAID 1+0的配置中,每个条带是单独镜像的。
        优点:
                因为每个条带被独立镜像,可以容许大量的磁盘失败而无需禁止卷。
                这个配置的性能优于RAID 0+1。
        局限性:
                RAID 1+0是高花销的镜像系统,需要2倍的独立磁盘空间。
带有分布式奇偶校验的条带化----RAID 5
带有分布式奇偶校验的条带化----RAID 5  一个RAID 5的卷结构可以进行镜像因为:        条带化结构拥有较好的读性能        可靠性得到提高,而且没有镜像花费高

附加功能包括:
        对于单个的磁盘来说,单独访问是有效的。
        数据和奇偶较验值都进行了条带化。
        全部的随机的I/O性能依赖于写的百分率。如果写超过20%,那么就可以考虑选择RAID 0+1了。
优点
        奇偶校验保护了单一磁盘的失败
        RAID 5只需要一个附加的磁盘,其他的都可以用来存储数据。
局限性
        在Veritas VM中,最少需要3块磁盘来完成RAID 5
        RAID 5不可以被镜像,通过奇偶校验信息来提供冗余
        写增强(Write-intersive)性能是很差劲的
如果写超过了20%,那么就可以考虑选择RAID 0+1了
        在一个写增强的环境里,如果一个磁盘失败,将可能对性能产生严重的影响
性能因素
        一个磁盘失败,数据仍然可以访问,但性能会受影响
        从一个继续存在的磁盘读取数据 ----- 没有改变
        从一个失败的磁盘读取数据 ----在条带中读取相对应的条带单元并于原始数据异或后(XOR)相连接
        写一个继续存在的磁盘 ---- 如果失败的磁盘保存有奇偶校验的数据,写数据通常不计算奇偶校验。如果失败的磁盘保存有数据,那么将请求一个:读—修改—写的顺序
        写入一个失败磁盘 ---- 继续存在的所有磁盘上的所有数据将与新数据使用异或(XOR)后进行连接,结果将写入到奇偶校验驱动器
        从一个单一磁盘失败中恢复 ---- 在条带中余下的条带单元的数据被读取,使用异或(XOR)后进行连接,将结果写入替代的磁盘中,假定在配置中有一个有效的交换(spare)空间。
写修改了全部的条带宽。
        所有新的数据条带单元将通过使用异或进行连接,产生新的奇偶校验值。
        数据和奇偶校验值将写入到日志
        新的奇偶校验值将写入到奇偶校验条带单元,数据则写入到数据条带单元,所有条带单元都将被写入。
如果一个写修改多于一个磁盘但小于全部的条带宽度,它请求一个读—
修改—写顺序。性能被压缩至80%,顺序如下:
1.        使用新写入的数据更新数据条带单元,数据被读入到内部缓冲中
2.        在新的数据上执行异或(XOR)来产生新的奇偶校验条带单元
3.        新数据和新的奇偶校验被写入到日志
4.        新的奇偶校验被写入到奇偶校验条带单元,数据被写入到数据条带单元,所有写都是并行操作的。
如果写修改超过了数据磁盘的一半,但少于一个完全条带,它比读—修
改—写,节省了大量的I/O时间,因为它不需要读取奇偶校验区。并且只请求一个自然数据的读取
        将自然数据从未改变的数据条带单元中读入到内部缓存
        将新数据与老的,未受影响的数据执行异或(XOR)来产生新的奇偶校验条带。
        新的数据和奇偶校验被记录(如果日志被允许的话)
        新的奇偶校验被写入到奇偶校验条带单元,新的数据被写入到数据条带单元,所有的条带单元执行一个单一写。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8646/showart_106241.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP