存储.doc_第1页
存储.doc_第2页
存储.doc_第3页
存储.doc_第4页
存储.doc_第5页
免费预览已结束,剩余225页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

230目 录第一部分 海量存储与数据备份第一章:少量存储与数据备份1.1 RAID概念1.2 RAID-0 等级1.3 RAID-1 等级1.4 RAID-2 等级1.5 RAID-3 等级1.6 RAID-4 等级1.7 RAID-5 等级第二章:磁盘存储阵列2.1磁盘阵列原理2.2磁盘阵列的额外容错功能2.3多数据流对磁盘阵列系统性能的影响 2.3.1 单主机连接情况下的磁盘阵列存储系统性能 2.3.2 多主机同时访问下,传统磁盘阵列存储系统的性能变化2.4相关磁盘阵列存储术语第三章:FC交换机和SAN存储3.1存储与网络3.2存储网络基础 3.2.1 SCSI 3.2.2 TCP/IP3.2.3 Ethernet3.2.4 Fibre Channel3.3体系结构基础 3.3.1 直连式存储(Direct Attached Storage)3.3.2 网络存储设备(Network Attached Storage) 3.3.3 存储网络(Storage Area Networks) 3.3.4 SAN 与NAS 区别和联系3.4 TCP/IP,Ethernet 和存储网络相结合的多层环境 3.4.1 iSCSI3.4.2 FCIP3.4.3 SAN 的应用 3.4.4 将存储网络拓展到MAN3.5 新一代多层智能化存储网络 3.5.1 单一交换架构存储网络的扩展性 3.5.2 采用VSAN 技术 3.5.3 有助于加强投资保护的多协议智能 3.5.4 全面的安全性 3.5.5 先进的诊断和故障修复工具 3.5.6 便于管理3.6 存储网络的未来发展 3.6.1 存储管理的自动化与智能化 3.6.2 提高存储效率 3.6.3 减少总体拥有成本(TCO) ,增加投资回报(ROI)3.7 如何建造企业SAN 系统 3.7.1 SAN 应用系统评估 3.7.2 企业存储网络系统管理3.8 小结:全面集成第四章:备份带库4.1 磁带库基础4.2 磁带库的发展4.3 磁带库评估4.4 磁带库是存储的基础第二部分 数据系统总和第五章 数据分级存储5.1 分级存储的必要性5.2 分级存储的优点5.3 分级存储的存储方式 5.3.1 在线存储 5.3.2 离线存储 5.3.3 近线存储5.4 分级存储的管理5.5 信息生命周期管理5.6 分级存储案例:电视台的具体应用第六章 数据迁移6.1 数据迁移的概念6.2 数据迁移的特点6.3 数据迁移的三种方法 6.4 数据迁移的实现 6.4.1 数据迁移的技术准备 6.4.2 数据迁移工具的选择 6.4.3 数据抽取和转换的准备 6.4.4 数据迁移后的校验第七章 系统灾难备份 7.1 容灾技术的意义7.2 容灾技术的分类 7.2.1 同步传输的数据复制 7.2.2 同步数据容灾的性能分析 7.2.3 异步数据复制方式7.3 容灾方法的具体分析7.3.1 灾难备份需求的衡量指标 7.3.2 重要系统灾难备份主要的实现方法 7.3.3 灾难备份方式比较的分析 7.3.4 采用SAN 进行远程容灾的实现7.3.5 容灾技术性能总结和对照7.4 广域网络的高可用技术(软件容灾方式)第八章 系统恢复 8.1 灾难后信息安全的恢复规划 8.1.1 要素分析 8.1.2 信息技术构架8. 2 WAN 考虑因素第九章 IP SAN 系统设计9.1 iSCSI 技术与应用 9.1.1 iSCSI 的概念 9.1.2 iSCSI 的工作流程 9.1.3 iSCSI 标准的制定情况9.1.4 iSCSI 与FC(光纤通道)的比较 9.1.5 iSCSI 的优势与局限性 9.1.6 iSCSI 技术的应用 9.1.6.1 实现异地间的数据交换 9.1.6.2 实现异地间的数据备份及容灾9.1.7 iSCSI 的发展概况9.2 IP SAN 存储方案举例 9.2.1 用户现状与需求分析 9.2.1.1 用户现状 9.2.1.2 需求分析 9.2.2 系统设计原则 9.2.3 技术方案9.2.3.1 方案描述 9.2.3.2 拓朴结构图 9.2.3.3 方案的特点9.2.4 方案的优势9.2.5 系统建设的下一步设想 9.2.6 解决方案介绍 9.2.7 技术服务及培训9.3 IP SAN 容灾及备份方案 9.3.1 需求分析 9.3.2 方案描述 9.3.2.1 区域网数据容灾9.3.2.2 集中式数据备份 9.3.2.3 交互式数据备份 9.3.2.4 方案特点9.4 IP 存储发展9.4.1 存储隧道技术 9.4.2 本地IP 存储技术 9.4.3 技术选择第三部分 应用知识第十章 一般SAN 系统搭建10.1 大型企业综合存储系统 10.1.1 业务的主要数据特性 10.1.2 用户状况 10.1.3 需求分析10.1.4 系统设计 10.1.5 可选的解决方案 10.1.5.1 IBM SAN 解决方案 10.1.5.2 XIOtech(Seagate 子公司) SAN 解决方案10.2 券商容灾系统 10.2.1 技术准备 10.2.2 系统设计 10.2.3 可选的解决方案 10.2.3.1 EMC SAN 解决方案 10.2.3.2 CA SAN 解决方案 10.2.3.3 Veritas SAN 解决方案 10.2.3.4 Legato SAN 解决方案10.3 移动业务逻辑独立的存储系统 10.3.1 预先分析 10.3.2 系统设计 10.3.3 可选的解决方案 10.3.3.1 HP SAN 解决方案 10.3.3.2 Sun SAN 解决方案 10.3.3.3 Brocade SAN 解决方案10.4 不成功的SAN 应用 10.4.1 网站SAN 存储系统 10.4.2 某气象单位存储系统 10.4.3 某电视台非线性编辑系统第十一章 数据中心设计 11.1 概 述11.2 需求分析和设计目标 11.2.1 系统现状 11.2.2 系统总体架构要求 11.2.3 系统建设目标 11.2.4 系统建设任务11.3 系统设计原则11.4 系统方案设计 11.4.1 系统总体结构图 11.4.2 数据库服务器设计11.4.2.1 数据库系统结构11.4.3 存储系统设计 11.4.3.1 存储系统结构 11.4.3.2 主存储系统方案 11.4.3.3 近线备份系统 11.4.4 负载均衡系统设计 11.4.5 应用服务器、浏览服务器和数据处理前置机设计第十二章 海量存储系统设计12.1 海量数据存储系统架构方案 12.1.1 磁盘阵列存储设施 12.1.2 磁带存储设施 12.1.3 介质存放设施12.2 备份系统设计12.2.1 远程备份容灾 12.2.2 存储资源监控 12.2.3 存储网络管理 12.2.4 系统监控管理 12.2.5 服务管理12.3 海量存储系统扩展能力分析 12.3.1 数据扩展能力 12.3.2 应用扩展能力 12.3.3 网络扩展能力 12.3.4 场地扩展能力 12.3.5 管理扩展能力 12.3.6 容灾级别扩展第十三章 容灾系统设计13.1 容灾方法的具体分析 13.1.1 灾难备份需求的衡量指标 13.1.2 重要系统灾难备份主要的实现方法 13.1.3 灾难备份方式比较的分析13.2 采用SAN 进行远程容灾的实现第四部分 存储产业的组织和推动力第十四章 国际存储技术组织简介 14.1 SNIA 14.2 互联网工程任务组(IETF)第十五章 现有设备厂商简介 15.1 HDS 公司的HDS 9900V 15.1.1 HDS 9900V 产品综述 15.1.2 HDS 9900V 硬件技术介绍 15.1.3 HDS Lightening 9900V 软件分析15.2 McData 产品介绍 15.2.1 McDATA Director 6000 系列- 32140 端口Director 15.2.2 McDATA Switch 3232 ?C 32 端口交换机15.3 IBM 存储产品解决方案 15.3.1 成熟的存储磁盘阵列 15.3.1.1 依靠存储保持快速发展 15.3.1.2 提供领先技术以实现优异性能 15.3.1.3 提供可扩展性和灵活性以满足发展需要 15.3.1.4 提高可用性以尽可能减少与停机相关的效益损失 15.3.1.5 为核心竞争工作保存资源 15.3.1.6 灾难恢复第一部分 海量存储与数据备份第一章:RAID与大容量存储1.1 RAID 概念RAID 的英文全称为Redundant Array of Inexpensive (或Independent) Disks,而不是某些词典中所说的“ Redundant Access Independent Disks” 。中文名称是廉价(独立)磁盘冗余阵列。RAID 的初衷主要是为了大型服务器提供高端的存储功能和冗余的数据安全。在系统中,RAID 被看作是一个逻辑分区,但是它是由多个硬盘组成的(最少两块)。它通过在多个硬盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput ),而且在很多RAID 模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID 系统的容错度,提高了系统的稳定冗余性,这也是Redundant 一词的由来。RAID 以前一直是SCSI 领域的独有产品,因为它当时的技术与成本也限制了其在低端市场的发展。今天,随着RAID 技术的日益成熟与厂商的不断努力,存储工程师已经能够享受到相对成本低廉得多的IDE-RAID 系统,虽然稳定与可靠性还不可能与SCSI-RAID 相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。事实上,对于日常的低强度操作,IDE-RAID 已足能胜任了。与Modem 一样,RAID 也有全软、半软半硬与全硬之分,全软RAID 就是指RAID 的所有功能都是操作系统(OS)与CPU 来完成,没有第三方的控制/处理(业界称其为RAID 协处理器RAID Co-Processor )与I/O 芯片。这样,有关RAID 的所有任务的处理都由CPU 来完成,可想而知这是效率最低的一种RAID 。半软半硬RAID 则主要缺乏自己的I/O 处理芯片,所以这方面的工作仍要由CPU 与驱动程序来完成。而且,半软半硬RAID 所采用的RAID 控制/处理芯片的能力一般都比较弱,不能支持高的RAID 等级。全硬的RAID 则全面具备了自己的RAID 控制/处理与I/O 处理芯片,甚至还有阵列缓冲(Array Buffer ),对CPU 的占用率以及整体性能是这三种类型中最优势的,但设备成本也是三种类型中最高的。早期市场上所出现的使用HighPoint HPT 368 、370 以及PROMISE 芯片的IDE RAID 卡与集成它们的主板都是半软半硬的RAID,并不是真正的硬RAID,因为它们没有自己专用的I/O 处理器。而且,这两个公司的RAID控制/处理芯片的能力较弱,不能完成复杂的处理任务,因此还不支持RAID 5 等级。著名的Adpatec 公司所出品的AAA-UDMA RAID 卡则是全硬RAID 的代表之作,其上有专用的高级RAID Co-Processor 和Intel 960 专用I/O 处理器,完全支持RAID 5 等级,是目前最高级的IDE-RAID 产品。表1 就是典型的软件RAID 与硬RAID 在行业应用中的比较。RAID 发展至今共有10 个主要的等级,下面就将依次介绍1.2 RAID-0 等级RAID0 全称叫做Striped Disk Array without Fault Tolerance( 没有容错设计的条带磁盘阵列)。图中一个圆柱就是一块磁盘(以下均是),它们并联在一起。从图中可以看出,RAID 0 在存储数据时由RAID 控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘。如果发挥一下想象力,你会觉得数据象一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的。至于每个条带的深度则要看所采用的RAID 类型,在NT 系统的软RAID 0 等级中,每个条带深度只有64KB 一种选项,而在硬RAID 0 等级,可以提供8、16、32、64 以及128KB 等多种深度参数。Striped 是RAID 的一种典型方式,在很多RAID 术语解释中,都把Striped 指向RAID 0。在读取时,也是顺序从阵列磁盘中读取后再由RAID 控制器进行组合图1-1 RAID-0 结构图解再传送给系统,这也是RAID 的一个最重要的特点。这样,数据就等于并行的写入和读取,从而非常有助于提高存储系统的性能。对于两个硬盘的RAID 0 系统,提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时缯加的数据分割与组合等与RAID 相关的操作处理时间,但比单个硬盘提高50% 的性能是完全可以的。不过,RAID 0 还不能算是真正的RAID,因为它没有数据冗余能力。由于没有备份或校验恢复设计,在RAID 0 阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的。下面总结下RAID 0的特点: 1.3 RAID-1 等级图1-3 RAID-1 结构图解Mirroring and Duplexing (相互镜像)对比RAID 0 等级,存储工程师能发现硬盘的内容是两两相同的。这就是镜像两个硬盘的内容完全一样,这等于内容彼此备份。比如阵列中有两个硬盘,在写入时,RAID 控制器并不是将数据分成条带而是将数据同时写入两个硬盘。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复。注意,这两个硬盘并不是主从关系,也就是说是相互镜像/恢复的。RAID 1 已经可以算是一种真正的RAID 系统,它提供了强有力的数据容错能力,但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量。下面总结下RAID 1的特点:1.4 RAID-2 等级Hamming Code ECC (汉明码错误检测与修正)现在存储工程师要接触到RAID 系统中最为复杂的等级之一。RAID 2 之所以复杂就是因为它采用了早期的错误检测与修正技术-汉明码(Hamming Code )校验技术。因此在介绍RAID 2 之前有必要讲讲汉明码的原理。汉明码的原理:图 1-5 针对4 位数据的汉明码编码示意图汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。以典型的4 位数据编码为例,汉明码将加入3 个校验码,从而使实际传输的数据位达到7 个(位),它们的位置如果把上图中的位置横过来就是:图 1-6 汉明码原理注:Dx中的x是2的整数幂(下面的幂都是指整数幂)结果,多少幂取决于码位,D1是0次幂,D8是3次幂,想想二进制编码就知道了现以数据码1101 为例讲讲汉明码的编码原理,此时D8=1、D4=1、D2=0、D1=1,在P1 编码时,先将D8、D4、D1 的二进制码相加,结果为奇数3,汉明码对奇数结果编码为1,偶数结果为0,因此P1 值为1,D8+D2+D1=2 ,为偶数,那么P2 值为0,D4+D2+D1=2 ,为偶数,P3 值为0。这样,参照上文的位置表,汉明码处理的结果就是1010101 。在这个4 位数据码的例子中,存储工程师可以发现每个汉明码都是以三个数据码为基准进行编码的。图示就是它们的对应表(图1-6 ):从编码形式上,存储工程师可以发现汉明码是一个校验很严谨的编码方式。在这个例子中,通过对4 个数据位的3 个位的3 次组合检测来达到具体码位的校验与修正目的(不过只允许一个位出错,两个出错就无法检查出来了,这从下面的纠错例子中就能体现出来)。在校验时则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1)则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算来确定具体是哪个位出了问题。还是刚才的1101 的例子,正确的编码应该是1010101 ,如果第三个数据位在传输途中因干扰而变成了1,就成了1010111 。检测时,P1+D8+D4+D1 的结果是偶数4,第一位纠错代码为0,正确。P1+D8+D2+D1 的结果是奇数3,第二位纠错代码为1,有错误。P3+D4+D2+D1 的结果是奇数3,第三但纠错代码代码为1,有错误。那么具体是哪个位有错误呢?三个纠错代码从高到低排列为二进制编码110 ,换算成十进制就是6,也就是说第6 位数据错了,而数据第三位在汉明码编码后的位置正好是第6 位。那么汉明码的数量与数据位的数量之间有何比例呢?上面的例子中数据位是4 位,加上3 位汉明码是7 位,而2 的3 次幂是8。这其中就存在一个规律,即2PP+D+1 ,其中P 代表汉明码的个数,D 代表数据位的个数,比如4 位数据,加上1 就是5,而能大于5 的2 的幂数就是3 (23=8,22=4)。这样,存储工程师就能算出任何数据位时所需要的汉明码位数:7 位数据时需要4 位汉明码(244+7+1),64 位数据时就需要7 位汉明码(2764+7+1 ),大家可以依此推算。此时,它们的编码规也与4 位时不一样了。另外,汉明码加插的位置也是有规律的。以四位数据为例,第一个是汉明码是第一位,第二个是第二位,第三个是第四位,1、2、4 都是2 的整数幂结果,而这个幂次数是从0 开始的整数。这样存储工程师可以推断出来,汉明码的插入位置为1(20)、2(21)、4(22)、8(23)、16(24)、32(25) 说完汉明码,下面就开始介绍RAID 2 等级。图 1-7 RAID-2 结构图解 RAID 2 等级介绍:由于汉明码是位为基础进行校验的,那么在RAID2 中,一个硬盘在一个时间只存取一位的信息。没错,就是这么恐怖。如图中所示,左边的为数据阵列,阵列中的每个硬盘一次只存储一个位的数据。同理,右边的阵列(存储工程师称之为校验阵列)则是存储相应的汉明码,也是一位一个硬盘。所以RAID 2 中的硬盘数量取决于所设定的数据存储宽度。如果是4 位的数据宽度(这由用户决定),那么就需要4 个数据硬盘和3 个汉明码校验硬盘,如果是64 位的位宽呢?从上文介绍的计算方法中,就可以算出来,数据阵列需要64 块硬盘,校验阵列需要7 块硬盘。在写入时,RAID 2 在写入数据位同时还要计算出它们的汉明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统。通过上文的介绍,存储工程师知道汉明码只能纠正一个位的错误,所以RAID 2 也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2 的数据就将受到破坏。但由于数据是以位为单位并行传输,所以传输率也相当快。RAID 2 是早期为了能进行即时的数据校验而研制的一种技术(这在当时的RAID 0、1 等级中是无法做到的),从它的设计上看也是主要为了即时校验以保证数据安全,针对了当时对数据即时安全性非常敏感的领域,如服务器、金融服务等。但由于花费太大(其实,从上面的分析中可以看出如果数据位宽越大,用于校验阵列的相对投资就会越小,就如上面的4:3 与64:7), 成本昂贵,目前已基本不再使用,转而以更高级的即时检验RAID 所代替,如RAID 3、5 等。图 1-8 RAID 2 特点1.5 RAID-3 等级Parallel transfer with parity (并行传输及校验)RAID 2 等级的缺点相信大家已经很明白了,虽然能进行即时的ECC,但成本极为昂贵。为此,一种更为先进的即时ECC 的RAID 等级诞生,这就是RAID 3。RAID 3 是在RAID 2 基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR, eXclusive OR )校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。XOR 的校验原理如下图1-9:图 1-9 XOR 的校验原理这里的A 与B 值就代表了两个位,从中可以发现,A 与B 一样时,XOR 结果为0,A 与B 不一样时,XOR 结果就是1,而且知道XOR 结果和A 与B 中的任何一个数值,就可以反推出另一个数值。比如A 为1,XOR 结果为1,那么B 肯定为0,如果XOR 结果为0,那么B 肯定为1。这就是XOR 编码与校验的基本原理。RAID 3 的结构图如下:图 1-10 RAID-3 结构图解从图中可以发现,校验盘只有一个,而数据与RAID 0 一样是分成条带(Stripe )存入数据阵列中,这个条带的深度的单位为字节而不再是bit 了。在数据存入时,数据阵列中处于同一等级的条带的XOR 校验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。读取时,则在调出条带的同时检查校验盘中相应的XOR 编码,进行即时的ECC。由于在读写时与RAID 0 很相似,所以RAID 3 具有很高的数据传输效率。RAID 3 在RAID 2 基础上成功地进行结构与运算的简化,曾受到广泛的欢迎,并大量应用。直到更为先进高效的RAID 5 出现后,RAID 3 才开始慢慢退出市场。下面让存储工程师总结一下RAID 3 的特点:注:主轴同步是指阵列中所有硬盘的主轴马达同步图1-11 RAID 3 的特点1.6 RAID-4 等级Independent Data disks with shared Parity disk (独立的数据硬盘与共享的校验硬盘)RAID 3 英文定义是Parallel transfer with parity ,即并行传输及校验。与之相比,RAID 4 则是一种相对独立的形式,这也是它与RAID 3 的最大不同。图 1-12 RAID-4 图解与RAID 3 相比,存储工程师发现关键之处是把条带改成了“块”。即RAID 4 是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块。RAID 4 这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。不过,在不同硬盘上的同级数据块也都通过XOR 进行校验,结果保存在单独的校验盘。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID 就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过XOR 校验值和其他硬盘上的同级数据进行恢复。由于RAID 4 在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快。总之,RAID 并不为速度而设计。下面存储工程师总结一下RAID 4 的特点:图 1-13 RAID-4 特点4 1.7 RAID5 等级RAID5 和RAID4 相似但避免了RAID4 的瓶颈,方法是不用校验磁盘而将校验数据以循环的方式放在每一个磁盘中,RAID5 的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其他的RAID level 要掌握更多的事情,有更多的输出/入需求,既要速度快,又要处理数据,计算校验值,做错误校正等,所以价格较高,其应用最好是OLTP ,至于用于大型文件,不见得有最佳的性能。RAID5 在不停机及容错的表现都很好,但如有磁盘故障,对性能的影响较大,大容量的快取内存有助于维持性能,但在OLTP 的应用上,因为每一笔数据或记录(record )都很小,对磁盘的存取频繁,故有一定程度的影响。某一磁盘故障时,读取该磁盘的数据需把共用同一校验值分段的所有数据及校验值读出来,再把故障磁盘的数据计算出来;写入时,除了要重覆读取的程序外,还要再做校验值的计算,然后写入更新的数据及校验值;等换上新的磁盘,系统要计算整个磁盘阵列的数据以回复故障磁盘的数据,时间要很长,如系统的工作负载很重的话,有很多输出/入的需求在排队等候时,会把系统的性能拉下来。但如使用硬件磁盘阵列的话,其性能就可以得到大幅度的改进,因为硬件磁盘阵列如Arena 系列本身有内置的CPU 与主机系统并行运作,所有存取磁盘的输出入工作都在磁盘阵列本身完成,不花费主机的时间,配合磁盘阵列的快取内存的使用,可以提高系统的整体性能,而优越的SCSI 控制更能增加数据的传输速率,即使在磁盘故障的情况下,主机系统的性能也不会有明显的降低。RAID5 要做的事情太多,所以价格较贵,不适于小系统,但如果是大系统使用大的磁盘阵列的话,RAID5 却是最便宜的方案。这一点后续章节将详尽介绍。第二章 磁盘存储阵列如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,一直是电脑专业人员和用户的困忧;而大容量磁盘的价格非常昂贵,对用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。过去十年来,CPU 的处理速度几乎是几何级数的跃升,内存(memory )的存取速度亦大幅增加,而数据储存装置主要是磁盘(hard disk) 的存取速度相较之下,较为缓慢。整个I/O 吞吐量不能和系统匹配,形成电脑系统的瓶颈,拉低了电脑系统的整体性能(throughout )若不能有效的提升磁盘的存取速度,CPU 、内存及磁盘间的不平衡将使CPU 及内存的改进形成浪费。目前改进磁盘存取速度的方式主要有两种。一是磁盘快取控制(disk cache controller ),它将从磁盘读取的数据存在快取内存(cache memory )中以减少磁盘存取的次数,数据的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不在快取内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方式在单工期环境(single-tasking envioronment )如DOS 之下,对大量数据的存取有很好的性能(量小且频繁的存取则不然),但在多工(multi-tasking) 环境之下(因为要不停的作数据交换(swapping )的动作)或数据库(database )的存取(因每一记录都很小)就不能显示其性能。这种方式没有任何安全保障。其一是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping )的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列所利用的不同的技术,称为RAID level ,不同的level 针对不同的系统及应用,以解决数据安全的问题。一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘快取控制及磁盘阵列结合在一个控制器(RAID controler )或控制卡上,针对不同的用户解决人们对磁盘输出/入系统的四大要求: 增加存取速度。 容错(fault tolerance ),即安全性。 有效的利用磁盘空间。 尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。 2.1 磁盘阵列原理1987 年,加州伯克利大学的一位人员发表了名为磁盘阵列研究的论文,正式提到了RAID 也就是磁盘阵列,论文提出廉价的5.25及3.5的硬盘也能如大机器上的8盘能提供大容量、高性能和数据的一致性,并详述了RAID1 至5 的技术。磁盘阵列针对不同的应用使用的不同技术,称为RAID level,RAID 是Redundant Array of Inexpensive Disks 的缩写,而每一level 代表一种技术,目前业界公认的标准是RAID0RAID5。这个level 并不代表技术的高低,level5 并不高于level3,level1 也不低于level4,至于要选择哪一种RAID level 的产品,纯视用户的操作环境(operating environment )及应用(application) 而定,与level 的高低没有必然的关系。RAID0 没有安全的保障,但其快速,所以适合高速I/O 的系统;RAID1 适用于需安全性又要兼顾速度的系统,RAID2 及RAID3 适用于大型电脑及影像、CAD/CAM 等处理;RAID5 多用于OLTP,因有金融机构及大型数据处理中心的迫切需要,故使用较多而较有名气,但也因此形成很多人对磁盘阵列的误解,以为磁盘阵列非要RAID5 不可;RAID4 较少使用,和RAID5 有其共同之处,但RAID4 适合大量数据的存取。其他如RAID6, RAID7,乃至RAID10、50、100 等,都是厂商各做各的,并无一致的标准,在此不作说明。总而言之,RAID0 及RAID1 最适合PC 服务器及图形工作站的用户,提供最佳的性能及最便宜的价格,以低成本符合市场的需求。RAID2 及RAID3 适用于大档案且输入输出需求不频繁的应用如影像处理及CAD/CAM 等;而RAID5 则适用于银行、金融、股市、数据库等大型数据处理中心的OLTP 应用;RAID4 与RAID5 有相同的特性及用方式,但其较适用于大型文件的读取。 2.2 磁盘阵列的额外容错功能事实上容错功能已成为磁盘阵列最受青睐的特性,为了加强容错的功能以及使系统在磁盘故障的情况下能迅速的重建数据,以维持系统的性能,一般的磁盘阵列系统都可使用热备份(hot spare or hot standby drive )的功能,所谓热备份是在建立(configure )磁盘阵列系统的时候,将其中一磁盘指定为后备磁盘,此一磁盘在平常并不操作,但若阵列中某一磁盘发生故障时,磁盘阵列即以后备磁盘取代故障磁盘,并自动将故障磁盘的数据重建(rebuild )在后备磁盘之上,因为反应快速,加上快取内存减少了磁盘的存取,所以数据重建很快即可完成,对系统的性能影响不大。对于要求不停机的大型数据处理中心或控制中心而言,热备份更是一项重要的功能,因为可避免晚间或无人守护时发生磁盘故障所引起的种种不便。备份盘又有热备份与温备份之分,热备份盘和温备份盘的不同在于热备份盘和阵列一起运转,一有故障时马上备援,而温备份盘虽然带电但并不运转,需要备援时才启动。两者分别在是否运转及启动的时间,但温备份盘因不运转,理论上有较长的寿命。另一个额外的容错功能是坏扇区转移(bad sector reassignment) 。坏扇区是磁盘故障的主要原因,通常磁盘在读写时发生坏扇区的情况即表示此磁盘故障,不能再作读写,甚至有很多系统会因为不能完成读写的动作而死机,但若因为某一扇区的损坏而使工作不能完成或要更换磁盘,则使得系统性能大打折扣,而系统的维护成本也未免太高了,坏扇区转移是当磁盘阵列系统发现磁盘有坏扇区时,以另一空白且无故障的扇区取代该扇区,以延长磁盘的使用寿命,减少坏磁盘的发生率以及系统的维护成本。所以坏扇区转移功能使磁盘阵列具有更好的容错性,同时使整个系统有最好的成本效益比。其他如可外接电池备援磁盘阵列的快取内存,以避免突然断电时数据尚未写回磁盘而丢失;或在RAID1 时作写入一致性的检查等,虽是小技术,但亦不可忽视。2.3 多数据流对磁盘阵列系统性能的影响2.3.1 单主机连接情况下的磁盘阵列存储系统性能一般在单主机连接的情况下,磁盘或磁盘阵列拥有最好的性能。由于目前几乎所有的操作系统都是基于本身独自占有的文件系统,即文件系统只能被一个单一的操作系统所独有,所以操作系统或基于操作系统的应用软件可以在对存储系统进行数据读写的时候,针对磁盘存储系统的读写特点,无论操作系统还是应用软件都会对读写方式做最优化处理,以减少磁盘的物理寻道次数,降低磁盘的机械反应时间。每个程序进程的数据请求对其它的数据请求来说是不确定的,但由于操作系统本身的对数据访问的管理和控制,所有出自该操作系统的数据请求都被操作系统做了有序化处理,因此对于磁盘或磁盘阵列来说,数据读写请求是被优化过的,或者说在经过优化以后没有任何变化,这个时候存储系统拥有最佳的性能。作为磁盘阵列,虽然在操作系统和各个磁盘驱动器之间增加了一层RAID 控制器,但目前所有的RAID 控制器本身只作为对磁盘容错的管理和校验的计算等一些必要的操作,并不对数据请求做合并、重新排序和优化处理,因为它的设计出发点是建立在单个主机连接的已经经过操作系统优化的和排序的数据请求的基础之上,它所拥有的缓存也只有直接缓存和计算缓存的功能,不对数据做排队处理,只是将主机端口过来的数据按着先进先计算先出的方式通过CPU 计算校验以后写入磁盘。缓存的性能虽然非常快,但其容量相对于多媒体数据来说并不足够大,在很快写满缓存以后,速度立即衰减到实际操作磁盘的速度。所以RAID 控制器的功能只是将许多磁盘组成一个或多个大的容错的磁盘,并且利用每个磁盘上的缓存的缓冲存储功能提高整体的数据读写速度,RAID 控制器的读缓存可以在短时间内再次读取同一数据的情况下明显提高磁盘阵列的读性能。整个磁盘阵列的实际的最高读写速度受到主机通道带宽、控制器CPU 的校验计算和系统控制能力(RAID 引擎)、磁盘通道带宽和磁盘性能(每个磁盘有自己的最高性能,这里指多个磁盘总的实际性能)中的最低值的限制。另外,操作系统的数据请求的优化基础与RAID 格式不匹配,也会对磁盘阵列的性能造成很大的影响,如I/O 请求的数据块大小与RAID 的数据段大小不匹配等。2.3.2 多主机同时访问下,传统磁盘阵列存储系统的性能变化首先,分析在视音频应用环境中来自不同主机的多个媒体流对小规模磁盘阵列存储系统性能的影响。小规模磁盘阵列存储系统一般拥有单个或一对冗余的磁盘阵列控制器,所能连接的磁盘的数量较少,具有基本的容错和管理功能,结构相对简单。在存储区域网络的多主机共享存储环境中,虽然每台主机对自己所发出的数据请求做了排序和优化,但各个主机之间的数据流对共享的存储系统来说是无序的,导致了更多的磁盘重新寻道次数、更多的数据段头尾信息和更多的数据碎片读出、合并、校验计算和再写入过程。这样导致存储的性能比单主机连接时下降许多,主机连接得越多,磁盘系统的性能下降的幅度就越大。图2-1 显示了一个磁盘阵列在多主机同时访问的环境中的测试结果,多主机的同时访问造成磁盘阵列总性能的衰减。一般情况下,不同磁盘阵列、不同的磁盘阵列设置和使用不同种类的磁盘驱动器,测试结果会稍有不同,但都不可避免地出现性能明显衰减的状况。图2-1 在多主机的数据流同时访问时小规模磁盘阵列总性能的衰减其次,分析在视音频应用环境中来自不同主机的多个媒体流对大规模磁盘阵列存储系统性能的影响。所谓大规模磁盘阵列存储系统,一般是指在一个存储系统中使用总线结构或交叉点交换结构将多个存储子系统(磁盘阵列)连接起来,并在总线中或交换结构中使用大容量的缓存和用于更多主机连接的类似于通道集线器或交换机的主机连接模块,最后通过复杂的存储管理软件组合成的大型的存储系统。这种存储系统可以提供比单个小的磁盘阵列更大的容量和更高的性能。象采用总线结构的EMC 的Symmetrix 系统在单个磁盘阵列的性能只能达到25 至50M 字节/秒时,它的最高性能就可以到100M 字节/秒,甚至在使用RAID10 (磁盘镜像)时最高可到200 至300M 字节/秒。象采用总线结构和交叉点交换结构(最新的系统)日立的两种存储系统,也可以到类似于Symmetrix RAID10 的实际性能。一般在这类存储系统中缓存对性能都有巨大的贡献,但只有在事务处理应用和类似于邮电计费的应用中才起作用。几十G 字节的缓存可以存储数小时的事务处理数据,系统可以从容地在空闲时将数据写入磁盘,物理卷的非常小的数据段设置也足以说明这类存储系统只适合于事务处理类应用。对于多媒体数据来说几十G 字节的缓存相当于几十秒或几分钟的数据量,缓存写满以后将考验系统直接从磁盘上访问数据的能力。而一般的这类系统虽然拥有几十个100M 字节/秒带宽的光纤通道主机连接端口,但内部集成的多个磁盘阵列子系统与一般的用于事务处理的磁盘阵列并没有什么不同,磁盘阵列子系统的一个控制器的一个逻辑单元的性能在只有一个主机访问这个逻辑单元的情况下可以有25 至50M 字节左右的实际性能。在多主机访问同一个逻辑单元的情况下,由于在所有的这些系统中没有数据重新排序和优化功能(总线结构和交叉点交换结构决定了这一点),所以同样会产生较大的性能影响。但这种性能衰减与小规模的磁盘阵列的性能衰减有所不同。由于在这种大规模磁盘阵列存储系统内部包括了相对独立的多个磁盘阵列子系统(例如四个或八个),每个磁盘阵列子系统由一对磁盘控制器组成,在不同的主机访问不同的磁盘阵列子系统时各自的性能不受影响,只受到系统总线带宽的限制。所以在多主机的数据流访问平均分布在不同的存储子系统中时,它的多主机的支持能力可以是小规模磁盘阵列系统的几倍。在这种大规模磁盘阵列存储系统中,一个逻辑单元只能建立在单个磁盘子系统中,由于单个磁盘阵列子系统的内部串行结构,决定了一个逻辑单元只能通过一个串行路径来提供给用户,所以大规模磁盘阵列存储系统并不能提高单个逻辑单元的性能。单个逻辑单元的性能很低,一般只有25 至50M 字节/秒的实际性能。但在事务处理类应用中这种结构大大提高了性能,因为在这类应用中可以根据事务处理的特点,每个事务处理数据都非常小,但数量庞大有一定的统计规律性,可以利用数据库将同时到来的事务处理数据分类,将它们尽量平均分布在不同的磁盘子系统中,同时利用磁盘子系统外部的大容量缓存,可以大大地提高整个存储系统的性能。而对于视音频数据流的应用,用户数据访问的单个数据流一般都很大,但访问次数相对较小,即使有一定的规律性也有可能发生对不同逻辑单元的需求不均衡的现象,这样极易造成某个逻辑单元阻塞或性能明显下降。所以这种大规模磁盘阵列存储系统并不适合使用于视音频和多媒体的应用领域。 第三,在视音频应用环境中来自不同主机的多个媒体流对NAS 存储系统性能的影响。NAS 存储系统是建立在传统RAID 技术的基础上,发挥单个主机连接时磁盘阵列系统拥有最好的性能的特点,使用NFS 和CIFS 协议将瘦服务器连接的存储系统通过以太网共享给外部的用户。由于瘦服务器削减了与存储管理和数据通讯无关的各种功能,优化了TCP/IP 协议的数据传输能力,同时使用多个(目前最多十个)并行的TCP/IP 数据传输,使单个NAS 存储系统的最大共享速度可以达到60M 字节/秒左右。在多主机连接的环境中,由于使用的是以太网的连接,来自不同主机的数据进入瘦服务器以后通过瘦服务器的操作系统或数据管理应用软件的管理和重新排序后以最优的方式写入磁盘系统,这样一来磁盘系统本身没有明显的性能衰减。这也是NAS 存储能在目前得到相当的发展的一个主要的原因之一,它的特点使它适合应用于需要数据共享的应用环境当中。但是,NAS 有很多特点限制了它在视音频和多媒体应用领域的应用。一个独立的数据流只能使用一个TCP/IP 传输流,不能使用两个或两个以上的TCP/IP 流来将一个媒体流分成几部分同时传输。这样一来,由于单个TCP/IP 流由其协议的限制最多可以到6M 字节/秒左右,造成对媒体流大小的限制。同时大多数媒体流具有实时性,而TCP/IP 的打包传输特点不能提供一个持续稳定的传输,会导致媒体流的掉帧的或质量的下降。NAS 的共享能力只有60M 字节/秒,而对于实时性很强的媒体流类型应用来说,有效的共享能力可能只有30 至40M 字节/秒,这种有限的共享能力对存储工程师目前的需求来说是远远不够的。在媒体流应用中,如果用户的需求超过NAS 存储所能提供的共享能力时,将导致对每一个用户的服务质量下降。在使用多个NAS 系统时,由于视音频数据流的应用的特点,用户数据访问的数据流一般都很大,但访问次数相对较小,即使有一定的规律性也有可能发生对不同NAS 系统的需求不均衡的现象,这样极易造成某个NAS 系统阻塞。所以NAS 存储系统也同样不适合使用于视音频和多媒体的共享应用领域。以下举例分析。产品1:DataDirect Networks 公司的SAN DataDirector DataDirect Networks 公司的SAN DataDirector 存储区域网络设备是一个全新的存储系统概念。它无论对单台主机有序的数据访问还是来自多台主机的不确定的数据访问,它都拥有同样的高性能:单台SDD 实际的写性能可以到760M 字节/秒,实际的读性能可以到800M 字节/秒,单个逻辑单元的性能可以到650 至700M 字节/秒。这样高的性能来自于它的独特的对存储区域网络的多主机环境进行专门设计的并行体系结构,它不只是一个高性能的存储系统,它还是一个存储区域网络的基础结构设备。多CPU 的并行处理技术,尤其是其中的软件技术一直当今世界计算机应用领域的一大难题。不同种类的CPU 对于不同种类用途的并行处理能力是不同的,DataDirect Networks 公司采

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论