Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8499
  • 博文数量: 14
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-23 14:13
文章分类
文章存档

2012年(14)

我的朋友
最近访客

分类:

2012-11-02 12:54:41

这回是第二章,感觉比第一章好翻多了,
有错请大家帮忙改改,谢了,呵呵


第二章        Introduction to Managing Data

目标
                通过本章的学习,你将完成以下内容:
l        描述管理大量的磁盘时,所面临的问题
l        列出管理大量数据时的需求和技术
l        描述通常使用的RAID级别
l        描述每个RAID执行时性能及相关的可靠性
l        列出在对顺序和随机I/O的选择优化条带宽度的指导方针


                  虚拟磁盘管理  随着今天系统大小及需要的发展,Veritas卷管理软件(VM)在以下几方面提供提供了有用的帮助:l        可用性l        性能l        可测量性l        可维护性

虚拟磁盘管理
       
        数据的可用性
今天的服务器需要维护数据的高可用性。Veritas的卷管理软件(VM)在以下几方面提供了较大的改善:
l        防止失败的磁盘使得数据不可用
随着系统中大量磁盘的使用使得单一磁盘失败的可能性增加。数据冗
余技术能够防止因磁盘失败而使得数据不可用。

l        允许在文件系统被使用时增加它们的大小
允许在文件系统被使用时增加它们的大小,以此来减少系统的down机时间,并使系统管理的负担变少。

l        允许多主机配置
在一个双主机配置中,一个主机可以接替另一个失败主机的所有磁盘管理,这防止了失败主机使得数据不可用。

        性能
在今天许多应用都需要更高的数据吞吐能力。VM产品可以通过磁盘有效的平衡I/O加载,提高了系统性能。                        ---------------------------------------------------------------------------------------------
                注意----VM产品技术将在后面的章节中详细讨论
                ---------------------------------------------------------------------------------------------

        可测量性
从传统意义上来说,文件系统的大小限制于单个磁盘的大小。使用VM技术,你能够创建包含很多磁盘的文件系统。对于所有的应用都是透明的。文件系统的大小限制在UNIX系统下是1TB。

        可维护性
                通过一个GUI使管理变得简单。管理大量的磁盘和文件系统是复杂的,
一个直接的GUI界面使管理变得简单。


                 RAID技术概述  RAID是廉价磁盘冗余阵列的缩写。VM应用支持以下的RAID级别。l        RAID 0:条带/串联l        RAID 1:镜像l        RAID 0+1:条带加镜像l        RAID 5:带有奇偶校验的条带

RAID技术概述
RAID是廉价磁盘冗余阵列的缩写,更现代的说法是,独立磁盘的冗余阵列。
RAID这个概念最早是由1987年加州伯克利大学的David Patterson,Garth Gibson, Randy Katz提出的,他们的目标是展示一个RAID的性能可以达到或超过当时的一个单一的,大容量的,昂贵的磁盘。
在项目开发的过程中,随着频繁的磁盘失败,通过磁盘的冗余来避免磁盘数据的丢失已经是必须的了。这样一来,该项目的研究对于将来的RAID变得至关重要。

        RAID的标准
许多RAID级别在技术上是可以实现的,但是不经常使用。以下完整的列出了RAID级别:
l        RAID 0:条带或串联
l        RAID 1:镜像
l        RAID 0+1:条带加镜像
l        RAID 1+0:镜像加条带
l        RAID 2:加重平衡编码修正(Hamming code correction)
l        RAID 3:使用专用奇偶校验的条带化
l        RAID 4:独立的读取和写入
l        RAID 5:带有分布式奇偶校验的条带化
        --------------------------------------------------------------------------------------------------
注意----在VM中,RAID2,  3,4是不可用的。在商业应用中,它们通常不被使用。
        --------------------------------------------------------------------------------------------------

                 串联---RAID 0  串联可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:l        地址空间是相邻的l        没有数据冗余l        块(chunks)可以认为是物理磁盘或相邻区域的磁盘空间

串联----RAID 0
推动这种技术发展的主要原因是创建一个大于物理磁盘容量的虚拟磁盘设备。通过在逻辑上结合两个或更多物理磁盘来获得更大存储空间。串联也能使你扩展一个虚拟磁盘通过给它串联另外的物理磁盘。这项技术不限制磁盘大小,既成员磁盘的容量可以不同,而且不会损失磁盘空间。

                图2_1显示了串联3个物理磁盘设备。

                阵列管理软件就是负责将3个物理磁盘复合成一个虚拟磁盘设备,对于
应用来说,它只是个邻近的存储空间。
       
        优点
                通过使用RAID 0的串联结构可以获得以下优点:
l        当数据遍布在多个磁盘上时,串联可以提高随机的I/O性能。
l        写性能也是相同的;如果是随机读取的话,也可以提高读性能。
l        磁盘的全部容量都可以为用户存储数据。

局限性
        主要包括:
l        只使用串联将没有冗余,串联的卷可以通过镜像达到冗余。
l        串联的可靠性较低,一个磁盘数据的丢失将导致所有磁盘数据的丢失
l        当磁盘满,数据会通过所有成员磁盘扩展,但是,当磁盘未满时,最后的磁盘将不被使用,降低了磁盘的利用率。


                   条带----RAID 0  条带可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:l        地址空间是分段的l        I/O流在磁盘与磁盘间交换l        没有数据冗余l        对性能的增加有意义

条带----RAID 0
推动这种技术发展的主要原因是为了提高每秒I/O(IOPS)的性能。通过并行访问设备来增强性能。在并行访问中,虚拟设备中的所有磁盘大部分时间都用来服务I/O请求,所以提高了I/O的吞吐量。
阵列管理软件就是负责把整个阵列看做一个单独的虚拟磁盘。它使用多个物理磁盘并将它们复合为一个虚拟磁盘给应用。

如图2_2所示,I/O流被划分为称为条带(stripe)的段,从一个逻辑存储单元映射到两个或更多的物理磁盘。条带单元是隔行扫描的所以每个片上的复合空间也是交替的。

在这种结构下,没有数据保护,实际上,执行条带化后,丢失一个磁盘上的数据会导致所有条带磁盘的数据丢失。条带化增强了性能,但是降低了可靠性。

        优点
                通过使用RAID 0条带化结构可以获得的优势是:
l        对于大量的连续的I/O请求和随机的I/O请求增强了性能。条带单元的大小可以根据顺序或随机存取而进行优化。
l        磁盘的全部容量都可以为用户存储数据。

局限性
        主要包括:
l        没有冗余
l        条带化的可靠性较低,丢失一个磁盘的数据将导致所有条带磁盘的数据丢失。

条带单元大小的策略
        优化一个条带化RAID 0结构条带单元大小的策略依赖于卷访问的类型。

        顺序访问环境
在一个顺序的环境里,当请求涉及到条带宽度范围内的所有磁盘成员时,条带化能够提高性能。举例来说,一个条带包含4个磁盘,一个I/O请求为128Kbytes,那么,配置条带单元的大小为32Kbytes。

        随机访问环境
在一个随机环境里,条带化可以提高性能。随机访问受控于磁盘的搜索和寻道时间,随机的I/O要比顺序的I/O小很多,通常是从2Kbytes到8Kbytes。
当条带单元的大小配置为比请求的大小大很多的时候,性能得到优化。举例来说,对于一个8Kbytes的请求,至少配置条带单元的大小为16Kbytes。
                --------------------------------------------------------------------------------------------------
注意----在Veritas卷管理中,默认的条带单元的大小是128扇区(sectors)或64Kbytes。
        --------------------------------------------------------------------------------------------------


                镜像----RAID 1  镜像提供了数据的最大可用性,并有以下功能:l        所有数据的完全冗余拷贝l        提高了读性能l        透明化了磁盘失败

镜像----RAID 1

                这项技术发展的主要原因是它能够提供高级别的可用性及可靠性。

                镜像(RAID 1)通过数据在独立spindles上的多次记录来提供冗余。对于
应用来讲,镜像磁盘显示为一个虚拟磁盘。一旦一个物理磁盘失败,失败磁盘上的镜像也就无效了,但系统继续通过未受影响的磁盘进行操作。

阵列管理软件对多个物理磁盘上的数据进行双重复制并对应用表现为一个虚拟磁盘(如图2_3)。

在VeritasVM中,镜像看上去是一个单独的逻辑地址,block 0 to n block in length。因为这一点,VM不能使用每个独立的镜像格式涉及到它自身。镜像的一边可以做条带化,而另一边可以进行串联。当缺乏足够的物理磁盘时需要这么做,或执行它来测试系统性能。无论如何,VM可以通过访问镜像的两端保证数据的一致性,而与格式无关,因为它写数据到一个逻辑块地址中。

        优点
                通过使用RAID 1的镜像结构可以获得如下的优点:
l        在一个或多个磁盘上可以获得一个完全冗余的数据拷贝
如果一个阵列中的镜像连接到不同的接口板,就可以达到非常高的数据可靠性级别。
               
l        所有驱动器都可以用来读取,提高了性能
在一个多用户或多任务环境下,当多个磁盘成员要获得满意的读效果时,镜像提高了读性能。相反,如果只有单一的卷读取进程,则将不能提高性能。

l        你可以设置3路镜像,但性能会受很大影响
在3路镜像中,写性能最大为44%。

        局限性
                镜像需要使用两倍的磁盘,本质上占用了2倍的存储空间
                镜像降低了大约15%的写性能,这实际上小于典型的RAID 5的写损失
(RAID 5的写性能最大到70%)。

镜像—条带(RAID 0+1)  复合条带化的镜像可以提供如下功能:l        极大的提高了性能l        完全的数据冗余l        透明化了磁盘失败

镜像—条带(RAID 0+1)

使用复合条带和镜像的主要原因是获得RAID 0的性能和RAID 1的可用性。
安装它需要较高的花销,但许多用户认为它是值得投资的。

如图2_4,两个磁盘可以先进行条带化,然后进行镜像。可以获得镜像的高可靠性。因为同时使用了条带技术,它的性能要比单独使用镜像的性能要好得多。
                 

优点
它的一个优点就是有利于一个磁盘上分布数据的访问(提高了I/O per second),并增强了数据冗余。
       
        局限性
                RAID 0+1是高花销的镜像系统,需要2倍的独立磁盘空间。

条带----镜像(RAID 1+0)  复合镜像化的条带可以提供以下功能:l        极大的提高了性能l        完全的数据冗余l        透明化了磁盘失败l        比RAID 0+1提供了更高的磁盘失败容许

条带----镜像(RAID 1+0)

RAID 1+0拥有所有RAID 0+1性能及可靠性的优点,但它允许了更高级别的磁盘失败而不丢失数据。
RAID 1+0通常在磁盘失败后拥有更快的恢复时间,因为它只需要代替单独的条带来恢复而不是整个镜像。
                RAID 1+0推荐在大型卷中使用,因为,失败的恢复时间是个关键。

如图2_5,RAID 1+0的概念根本不同于RAID 0+1,在RAID 1+0的配置中,每个条带是单独镜像的。

        优点
                因为每个条带被独立镜像,可以容许大量的磁盘失败而无需禁止卷。
                这个配置的性能优于RAID 0+1。

        局限性
                RAID 1+0是高花销的镜像系统,需要2倍的独立磁盘空间。


带有分布式奇偶校验的条带化----RAID 5  一个RAID 5的卷结构可以进行镜像因为:l        条带化结构拥有较好的读性能l        可靠性得到提高,而且没有镜像花费高

带有分布式奇偶校验的条带化----RAID 5
       
RAID 5配置有吸引力的选择在于对应用的读加强(Read-intensive),增强了数据的保护性。
伯克利组织介绍了3个带有奇偶较难的RAID级别,它们执行通常的数据保护机制。RAID 3,4,5 全都使用bit-by-bit的概念进行奇偶较验来保护数据的丢失。
RAID 3,4,5使用异或运算规则(XOR)来进行奇偶计算。在RAID 3,4中它通过执行bit-by-bit的方式来与成员驱动器的条带单元进行对应,并将结果写入一个对应的奇偶校验的磁盘。但在RAID 5中,奇偶校验值将分布在所有成员驱动器上(如图2_6)。

附加功能包括:
l        对于单个的磁盘来说,单独访问是有效的。
l        数据和奇偶较验值都进行了条带化。
l        Reads per second can reach disk rate times number of disks.
l        全部的随机的I/O性能依赖于写的百分率。如果写超过20%,那么就可以考虑选择RAID 0+1了。

优点
l        奇偶校验保护了单一磁盘的失败
l        RAID 5只需要一个附加的磁盘,其他的都可以用来存储数据。

局限性
l        在Veritas VM中,最少需要3块磁盘来完成RAID 5
l        RAID 5不可以被镜像,通过奇偶校验信息来提供冗余
l        写增强(Write-intersive)性能是很差劲的
如果写超过了20%,那么就可以考虑选择RAID 0+1了
l        在一个写增强的环境里,如果一个磁盘失败,将可能对性能产生严重的影响


性能因素
        一个磁盘失败,数据仍然可以访问,但性能会受影响
l        从一个继续存在的磁盘读取数据 ----- 没有改变
l        从一个失败的磁盘读取数据 ----在条带中读取相对应的条带单元并于原始数据异或后(XOR)相连接
l        写一个继续存在的磁盘 ---- 如果失败的磁盘保存有奇偶校验的数据,写数据通常不计算奇偶校验。如果失败的磁盘保存有数据,那么将请求一个:读—修改—写的顺序
l        写入一个失败磁盘 ---- 继续存在的所有磁盘上的所有数据将与新数据使用异或(XOR)后进行连接,结果将写入到奇偶校验驱动器
l        从一个单一磁盘失败中恢复 ---- 在条带中余下的条带单元的数据被读取,使用异或(XOR)后进行连接,将结果写入替代的磁盘中,假定在配置中有一个有效的交换(spare)空间。

写修改了全部的条带宽。
l        所有新的数据条带单元将通过使用异或进行连接,产生新的奇偶校验值。
l        数据和奇偶校验值将写入到日志
l        新的奇偶校验值将写入到奇偶校验条带单元,数据则写入到数据条带单元,所有条带单元都将被写入。


如果一个写修改多于一个磁盘但小于全部的条带宽度,它请求一个读—
修改—写顺序。性能被压缩至80%,顺序如下:
1.        使用新写入的数据更新数据条带单元,数据被读入到内部缓冲中
2.        在新的数据上执行异或(XOR)来产生新的奇偶校验条带单元
3.        新数据和新的奇偶校验被写入到日志
4.        新的奇偶校验被写入到奇偶校验条带单元,数据被写入到数据条带单元,所有写都是并行操作的。

如果写修改超过了数据磁盘的一半,但少于一个完全条带,它比读—修
改—写,节省了大量的I/O时间,因为它不需要读取奇偶校验区。并且只请求一个自然数据的读取
l        将自然数据从未改变的数据条带单元中读入到内部缓存
l        将新数据与老的,未受影响的数据执行异或(XOR)来产生新的奇偶校验条带。
l        新的数据和奇偶校验被记录(如果日志被允许的话)
l        新的奇偶校验被写入到奇偶校验条带单元,新的数据被写入到数据条带单元,所有的条带单元执行一个单一写。

        --------------------------------------------------------------------------------------------------
        注意----一些RIAD 5执行时对于大量的连续传输达到较高的性能
        --------------------------------------------------------------------------------------------------

        优化条带宽度的策略
这些策略对于条带单元的大小提供了良好的规则来避免严重的性能损失。I/O请求的大小可以有较大的变化。应用提供商或软件开发人员可以提供这些信息。如果对项目的I/O大小完全不能确认,接受由VeritasVM提供的默认值是安全的。

                顺序访问环境
                        在一个顺序访问环境,可以由如下方式提高性能:
n        如果请求涉及到条带宽度内的所有成员磁盘,性能最好编址
n        I/O请求单元大小由所包含的磁盘数量划分
举例来说,如果I/O请求是128Kbytes,条带包含4个磁盘,那么配
置条带单元大小为32Kbytes

                随机访问环境
在一个随机环境里,条带化可以提高性能。随机访问受控于磁盘的搜索和寻道时间,随机的I/O要比顺序的I/O小很多,通常是从2Kbytes到8Kbytes。
当条带单元的大小配置为比请求的大小大很多的时候,性能得到优化。举例来说,对于一个8Kbytes的请求,至少配置条带单元的大小为16Kbytes。

        --------------------------------------------------------------------------------------------------
注意----在VM中的RAID 5卷中,默认的条带单元大小是32扇区或16Kbytes。
        --------------------------------------------------------------------------------------------------

阅读(157) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~