硬盘阵列,磁盘阵列 到底是个什么玩意?谁给我通俗点讲讲(11)


解析磁盘阵列的关键技术 存储技术在计算机技术中受到广泛关注,服务器存储技术更是业界关心的热点 。一谈到服务器存储技术,人们几乎立刻与SCSI(Small Computer Systems Interface)技术联系在一起 。尽管廉价的IDE硬盘在性能、容量等关键技术指标上已经大大地提高,可以满足甚至超过原有的服务器存储设备的需求 。但由于Internet的普及与高速发展,网络服务器的规模也变得越来越大 。同时,Internet不仅对网络服务器本身,也对服务器存储技术提出了苛刻要求 。无止境的市场需求促使服务器存储技术飞速发展 。而磁盘阵列是服务器存储技术中比较成熟的一种,也是在市场上比较多见的大容量外设之一 。在高端,传统的存储模式无论在规模上,还是安全上,或是性能上,都无法满足特殊应用日益膨胀的存储需求 。诸如存储局域网(SAN)等新的技术或应用方案不断涌现,新的存储体系结构和解决方案层出不穷,服务器存储技术由直接连接存储(DAS)向存储网络技术(NAS)方面扩展 。在中低端,随着硬件技术的不断发展,在强大市场需求的推动下,本地化的、基于直接连接的磁盘阵列存储技术,在速度、性能、存储能力等方面不断地迈上新台阶 。并且,为了满足用户对存储数据的安全、存取速度和超大的存储容量的需求,磁盘阵列存储技术也从讲求技术创新、重视系统优化,以技术方案为主导的技术推动期逐渐进入了强调工业标准、着眼市场规模,以成熟产品为主导的产品普及期 。回顾磁盘阵列的发展历程,一直和SCSI技术的发展紧密关联,一些厂商推出的专有技术,如IBM的SSA(Serial Storage Architecture)技术等,由于兼容性和升级能力不尽如人意,在市场上的影响都远不及SCSI技术广泛 。由于SCSI技术兼容性好,市场需求旺盛,使得SCSI技术发展很快 。从最原始5MB/s传输速度的SCSI-1,一直发展到现在LVD接口的160MB/s传输速度的Ultra 160 SCSI,320MB/s传输速度的Ultra 320 SCSI接口也将在2001年出现(见表1) 。从当前市场看,Ultra 3 SCSI技术和RAID(Redundant Array of Inexpensive Disks)技术还应是磁盘阵列存储的主流技术 。
SCSI技术 SCSI本身是为小型机(区别于微机而言)定制的存储接口,SCSI协议的Version 1 版本也仅规定了5MB/s传输速度的SCSI-1的总线类型、接口定义、电缆规格等技术标准 。随着技术的发展,SCSI协议的Version 2版本作了较大修订,遵循SCSI-2协议的16位数据带宽,高主频的SCSI存储设备陆续出现并成为市场的主流产品,也使得SCSI技术牢牢地占据了服务器的存储市场 。SCSI-3协议则增加了能满足特殊设备协议所需要的命令集,使得SCSI协议既适应传统的并行传输设备,又能适应最新出现的一些串行设备的通讯需要,如光纤通道协议(FCP)、串行存储协议(SSP)、串行总线协议等 。渐渐地,“小型机”的概念开始弱化,“高性能计算机”和“服务器”的概念在人们的心目中得到强化,SCSI一度成为用户从硬件上来区分“服务器”和PC机的一种标准 。通常情况下,用户对SCSI总线的关心放在硬件上,不同的SCSI的工作模式意味着有不同的最大传输速度 。如40MB/s的Ultra SCSI、160MB/s的Ultra 3 SCSI等等 。但最大传输速度并不代表设备正常工作时所能达到的平均访问速度,也不意味着不同SCSI工作模式之间的访问速度存在着必然的“倍数”关系 。SCSI控制器的实际访问速度与SCSI硬盘型号、技术参数,以及传输电缆长度、抗干扰能力等因素关系密切 。提高SCSI总线效率必须关注SCSI设备端的配置和传输线缆的规范和质量 。可以看出,Ultra 3模式下获得的实际访问速度还不到Ultra Wide模式下实际访问速度的2倍 。一般说来,选用高速的SCSI硬盘、适当增加SCSI通道上连接硬盘数、优化应用对磁盘数据的访问方式等,可以大幅度提高SCSI总线的实际传输速度 。尤其需要说明的是,在同样条件下,不同的磁盘访问方式下获得的SCSI总线实际传输速度可以相差几十倍,对应用的优化是获得高速存储访问时必须关注的重点,而这却常常被一些用户所忽视 。按4KB数据块随机访问6块SCSI硬盘时,SCSI总线的实际访问速度为2.74MB/s,SCSI总线的工作效率仅为总线带宽的1.7%;在完全不变的条件下,按256KB的数据块对硬盘进行顺序读写,SCSI总线的实际访问速度为141.2MB/s,SCSI总线的工作效率高达总线带宽的88% 。随着传输速度的提高,信号传输过程中的信号衰减和干扰问题显得越来越突出,终结器在一定程度上可以起到降低信号波反射,改善信号质量的作用 。同时,LVD(Low-Voltage Differential)技术的应用也越来越多 。LVD工作模式是和SE(Single-Ended)模式相对应的,它可以很好地抵抗传输干扰,延长信号的传输距离 。同时,Ultra 2 SCSI和Ultra 3 SCSI模式也通过采用专用的双绞型SCSI电缆来提高信号传输的质量 。在磁盘阵列的概念中,大容量硬盘并不是指单个硬盘容量大,而是指将单个硬盘通过RAID技术,按RAID 级别组合成更大容量的硬盘 。所以在磁盘阵列技术中,RAID技术是比较关键的,同时,根据所选用的RAID级别的不同,得到的“大硬盘”的功能也有不同 。RAID是一项非常成熟的技术,但由于其价格比较昂贵,配置也不方便,缺少相对专业的技术人员,所以应用并不十分普及 。据统计,全世界75%的服务器系统目前没有配置RAID 。由于服务器存储需求对数据安全性、扩展性等方面的要求越来越高,RAID市场的开发潜力巨大 。RAID技术是一种工业标准,各厂商对RAID级别的定义也不尽相同 。目前对RAID级别的定义可以获得业界广泛认同的只有4种,RAID 0、RAID 1、RAID 0+1和RAID 5 。RAID 0是无数据冗余的存储空间条带化,具有低成本、极高读写性能、高存储空间利用率的RAID级别,适用于Video / Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用 。但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘损坏都将带来数据灾难性的损失 。所以,在RAID 0中配置4块以上的硬盘,对于一般应用来说是不明智的 。RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好 。但其无法扩展(单块硬盘容量),数据空间浪费大,严格意义上说,不应称之为“阵列” 。RAID 0+1综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像 。它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低,不能称之为经济高效的方案 。RAID 5是目前应用最广泛的RAID技术 。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上 。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高(见图6) 。任何一块硬盘上数据丢失,均可以通过校验数据推算出来 。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上 。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是1块硬盘出现故障以后,整个系统的性能大大降低 。对于RAID 1、RAID 0+1、RAID 5阵列,配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现HA(High Availability)高可用系统具有重要意义 。各厂商还在不断推出各种RAID级别和标准 。例如更高安全性的,从RAID控制器开始镜像的RAID;更快读写速度的,为构成RAID的每块硬盘配置CPU和Cache的RAID等等,但都不普及 。用IDE硬盘构建RAID的技术是新出现的一个技术方向,对市场影响也较大,其突出优点就是构建RAID阵列非常廉价 。目前IDE RAID可以支持RAID 0、RAID 1和RAID 0+1三个级别,最多支持4块IDE硬盘 。由于受IDE设备扩展性的限制,同时,也由于IDE设备也缺乏热可替换的技术支持的原因,IDE RAID的应用还不多 。总之,发展是永恒的主题,在服务器存储技术领域也不例外 。一方面,一些巨头厂商尝试推出新的概念或标准,来领导服务器及存储技术的发展方向,较有代表性的如Intel力推的IA-64架构及存储概念;另一方面,致力于存储的专业厂商以现有技术和工业标准为基础,推动SCSI、RAID、Fibre Channel等基于现有存储技术和方案快速更新和发展 。在市场经济条件下,检验技术发展的唯一标准是市场的认同 。市场呼唤好的技术,而新的技术必须起到推动市场向前发展作用时才能被广泛接受和承认 。随着高性能计算机市场的发展,高性能比、高可靠性、高安全性的存储新技术也会不断涌现 。现在市场上的磁盘阵列产品有很多,用户在选择磁盘阵列产品的过程中,也要根据自己的需求来进行选择,现在列举几个磁盘阵列产品,同时也为需要磁盘阵列产品的用户提供一些选择 。表2列出了几种磁盘阵列的主要技术指标 。-------------------------------------------------------------------------------- 小知识:磁盘阵列的可靠性和可用性 可靠性,指的是硬盘在给定条件下发生故障的概率 。可用性,指的是硬盘在某种用途中可能用的时间 。磁盘阵列可以改善硬盘系统的可靠性 。从表3中可以看到RAID硬盘子系统与单个硬盘子系统的可靠性比较 。此外,在系统的可用性方面,单一硬盘系统的可用性比没有数据冗余的磁盘阵列要好,而冗余磁盘阵列的可用性比单个硬盘要好得多 。这是因为冗余磁盘阵列允许单个硬盘出错,而继续正常工作;一个硬盘故障后的系统恢复时间也大大缩短(与从磁带恢复数据相比);冗余磁盘阵列发生故障时,硬盘上的数据是故障当时的数据,替换后的硬盘也将包含故障时的数据 。但是,要得到完全的容错性能,计算机硬盘子系统的其它部件也必须有冗余 。

推荐阅读