资源描述
第二章 磁盘阵列容错和性能介绍
如何增加磁盘的存取(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 代表一种技术,目前业界公认的标准是RAID0~RAID5。这个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 公司采用独特的软硬件技术率先将适用于IO 处理的RISC CPU 的并行处理技术应用于存储和存储区域网络管理系统当中,彻底改变了总线结构和交叉点交换结构在这一领域的跟不上发展需求的现状。
DataDirect Networks 公司的SAN DataDirector 存储区域网络设备拥有八个用于连接主机或连接存储区域网络连接设备的主机接口和二十个用于可以连接高达1250 块磁盘驱动器的磁盘接口。在每一个端口上都有一个用于与其它端口进行并行处理的GALEFORCe 特定用途集成电路。在这二十八个GALEFORCe 特定用途集成电路中,每个包含一个RISC 处理器,用于控制和区分命令路径和数据路径,向主机以及存储器提供高速的数据传输路径。巨大的并行处理缓存池与DMA 之间的高速数据信息包传送机制和这些特定用途集成电路的结合,为所有的主机提供了通过缓存池对所有的存储进行直接的和并行的访问能力。
由于所有的数据访问都要经过缓存,SDD 的并行处理机制将无论是来自单台主机的有序数据访问请求还是来自多台主机的不确定的数据访问请求都进行重新排队和有序化,SDD 的并行处理机制为来自所有端口的数据进行统一排序提供了基础。同时SDD 的GALEFORCe 特定用途集成电路不只在互相之间做功能强大的并行处理,而且还利用磁盘驱动器提供的软件接口,跟所有的与SDD 磁盘端口相连接的磁盘驱动器的内置处理器进行并行处理,通过磁盘驱动器内置处理器对数据请求命令再次排序并且充分有效地利用磁盘的自带缓存。这种独特的SDD 与所有磁盘驱动器的一体化并行处理,最大限度地、充分地最小化了驱动器的寻道次数,将磁盘驱动器的机械反应时间降到最低。SDD 不但没有在多主机访问时产生性能衰减,而且还利用多台主机的并发数据访问发挥出它的单台主机无法用到的极高的性能。
SDD 独有的另外一个突破性的技术是directRAID 技术,它对系统性能的贡献与SDD 的并行处理技术同样重要。directRAID 技术结合并行处理技术征服了传统RAID 技术的单数据流限制,使多个校验组数据流可以在一个directRAID 中并行存在,多个校验磁盘同时运行,在提供无缝的数据保护的同时不引起丝毫的性能衰减。它的重建操作只需要传统RAID 技术的三分之一的时间,消除了传统RAID 技术在重建时停止工作或性能明显下降的现象。
这种将冗余组和逻辑单元之间关系虚拟化的directRAID 技术在首先提供了比传统RAID 技术的更高的数据保护功能以外,它为存储工程师带来了比传统的RAID 系统高数十倍的单逻辑单元并发数据访问性能,使单逻辑单元的数据访问能力可以达到650 至700M 字节/秒,并且这个性能在多主机的情况下没有衰减。这种非常高的单逻辑单元性能解决了在视音频和多媒体的共享应用环境中的对某一个逻辑单元数据的需求不均衡的现象造成的阻塞问题,消除了人工负载均衡的难题。
DataDirect Networks 公司的SAN DataDirector 存储区域网络设备是目前世界上拥有最高性能价格比的存储系统,是适用于大规模视音频媒体流共享应用领域的存储系统中的最佳选择。
举例2:HDS 公司的Lightning9960 存储系统分析:
Lightning9960 的体系结构如图一所示,主机接口最大可以使用四个CHIP 对,每个CHIP 对由两个可以互相备份(每个主机必须通过两个光纤通道适配器同时与两个CHIP 的一个口连接)的CHIP 组成,每个CHIP 拥有四个光纤通道(ESCON 接口在本文中将不涉及,但并不影响存储工程师对性能的讨论)主机接口和两个用于与内部两个交换机连接的光纤通道接口,四个CHIP 对共有32 个光纤通道主机接口和16 个光纤通道的与内部交换机相连接的接口。在Lightning9960 的中间采用两个Crossbar 交换机,每个交换机都与每个CHIP、每个缓存块和每个磁盘阵列控制器的光纤通道相连接。Lightning9960 最多有四块8GB 的缓存,缓存是CHIP 与控制器之间数据的必经缓冲区,它与交换机之间共有16 个光纤通道连接(图中只画出了8 个)。在体系结构的最下面是四对磁盘阵列控制器,每对控制器有四个连接交换机的通道和8 个用于连接磁盘驱动器的磁盘通道。控制器对中的不同控制器的两个磁盘通道同时连接到双端口磁盘的两个端口上提供备份连接,所以每对控制器实际有4 个独立的磁盘通道。
Lightning9960 的数据通道带宽:
从Lightning9960 的结构图中可以计算出每部分的带宽是:32 个光纤通道主机端口总带宽为3200MB/ 秒;CHIP 与交换机之间的总带宽为1600MB/ 秒;在交换机到缓存之间的总带宽为1600MB/ 秒;在缓存到交换机之间的总带宽为1600MB/ 秒(缓存和交换机之间是双向传输所以此项带宽与上一项带宽互相不影响);交换机到磁盘阵列控制器的总带宽为1600MB/ 秒;内部磁盘通道的总带宽为1200MB/ 秒(因为每对磁盘阵列控制器的四个磁盘通道中在做RAID5 时有一个通道的带宽被用来做校验)。由于所有以上的带宽都是串行结构,所以Lightning9960 的数据通道实际总带宽受到链路中最小值1200MB/ 秒的限制。但数据通道带宽并不等于整个系统的实际性能,实际的性能将受到每个磁盘阵列控制器(ACP)的RAID 引擎、系统整个体系结构和应用环境的影响,下面将讨论在应用中的实际性能。
Lightning9960 的体系结构:
图2-2 Lightning9960 磁盘阵列系统的体系结构(图中只给出数据通路的结构图)
Lightning9960 的实际性能:
Lightning9960 存储系统中每个磁盘阵列的性能由于受到每个磁盘阵列控制器(ACP )的RAID 引擎的限制,单个控制器的性能只有60MB/ 秒左右,而且无论使用控制器的一个通道还是两个通道结果都是同样的,这个结果是在单主机有序的数据请求下的实际结果。所有的Lightning9960 中的8 个控制器,在每个控制器都在单主机访问的情况下,总的最大的实际性能为480MB/ 秒左右。而在存储区域网络的实际应用环境中,数据访问来自多个主机,在这种情况下,Lightning9960 的实际性能将迅速衰减,如果不确定的数据请求来自8 台主机以上,总性能将衰减到100 到200MB/ 秒左右。但在Lightning9960 存储系统中,有8 个用于主机连接的CHIP, 它为系统在多主机连接情况下的实际性能的提高做了巨大的贡献。由于每个CHIP 可以将与它连接的所有的不同主机来的I/O 请求重新排队,这样一来,从每个CHIP 进入系统中的数据请求变成有序的I/O 请求,使整个系统的在无论连接多少个主机时,不确定的数据流只有8 个来自不同CHIP 的数据流,优化了系统的性能。
在只有8 个不确定的数据流的情况下,存储工程师来讨论一下Lightning9960 存储系统的实际性能。对单一控制器的逻辑单元来说,对它的数据访问有可能只来自一个CHIP 也有可能来自多个CHIP(最多8 个),外部连接的主机越多来自多个CHIP 的可能性越大。而对于存储工程师目前视音频媒体流应用中,共享的主机数量一般在几十个到几百个左右,在这种情况下,对单一控制器的逻辑单元的数据访问来自多个CHIP 的可能性较大,假如对某一控制器的逻辑单元的数据访问来自6 个左右的CHIP,那么总的实际系统性能将在200MB/ 秒左右。
在Lightning9960 存储系统中单个CHIP 对数据请求的排序,在一定程度上优化了系统的实际性能,但多个CHIP 之间没有进行统一排序使本系统的实际性能并没有得到很大提高。
在多媒体共享应用中,Lightning9960 存储系统中的单个逻辑单元的性能限制是一个非常严重的缺陷,单个逻辑单元的最大性能只有60MB/ 秒,而在处理同时来自不同CHIP 的数据请求时,性能将急剧下降,有可能只有20MB/ 秒左右。
综上所述,从实际性能和单逻辑单元两方面来看,Lightning9960 存储系统适合用于对并发流实际带宽要求不是很高的视音频流共享应用领域。但在事务处理类应用领域,因为大容量的缓存可以存储数小时的数据,以及在这里没有讨论的比其他系统更强大的用于传输配置信息和控制信息的具有64 个入口的共享存储器(shared memory ),使Lightning9960 存储系统在该领域有非常好的I/O 处理性能表现,实际的I/O 处理能力可以到60000 个I/Os 左右。
2.4 相关磁盘阵列存储术语
为了便于读者阅读本书的后续章节,这里给出了一部分必要的磁盘阵列存储术语。为了保持章节的紧凑性,其具体技术细节不再进行介绍
SCSI
就是Small Computer System Interface (小型计算机系统接口),它最早研制于1979 ,是为小型机研制出的一种接口技术,但随着电脑技术的发展,现在它被完全移植到了普通PC 上。
ATA(AT 嵌入式接口)
即俗称的IDE,设计该接口的目的就是为了将1984 年制造的 AT 计算机中的总线直接与结合在一起的驱动器和控制器相连。ATA 中的“AT” 就来源于首次使用ISA 总线的 AT 计算机。
ATA 从最早的ATA-1 开始,已经经历了从ATA-1 、ATA-2、ATA-3 、Ultra ATA 、Ultra ATA/33 、Ultra ATA/66、Ultra ATA/100 、Ultra ATA/133 的发展历程。
Serial ATA (串行ATA)
采用的是串行数据传输方式,每一个时钟周期只传输一位数据。ATA 硬盘一直都采用并行传输模式,线路间的信号会互相干扰,在高速数据传输过程中,影响系统的稳定性。由于串行传输方式不会遇到信号串扰问题,所以要提高传输速度只需要提高工作频率即可。Serial ATA 只需4 线电缆。
SATA 采用的是点对点的传输方式,使得用户在使用SATA 硬盘时不再需要设置硬盘的主从盘,而直接每个硬盘对应一个数据通道直接连接系统。SATA1.0 的标准规定,硬盘的接口传输速率为150MB/s,SATA 可扩展到2X 和4X 的规格,相应的传输速率则分别提升至了300MB/s 和600MB/s 。SATA 硬盘还可以实现热插拔功能,不过目前为止还没有操作系统支持这项功能,人们还要等到微软的下一代操作系统Windows Longhorn 面世后才能享受到这项功能带来的便利。
NAS(Network Attached Storage-网络附加存储)
即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS 是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。
DAS(Direct Attached Storage-直接附加存储)
是指将存储设备通过SCSI 接口或光纤通道直接连接到一台计算机上。DAS 产品包括存储器件和集成在一起的简易服务器,可用于实现涉及文件存取及管理的所有功能。
SAN(Storage Area Network-存储局域网络)
通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。SAN 专注于企业级存储的特有问题,主要用于存储量大的工作环境。
Array:阵列
磁盘阵列模式是把几个磁盘的存储空间整合起来,形成一个大的单一连续的存储空间。RAID 控制器利用它的SCSI 通道可以把多个磁盘组合成一个磁盘阵列。简单的说,阵列就是由多个磁盘组成,并行工作的磁盘系统。需要注意的是作为热备用的磁盘是不能添加到阵列中的。
Array Spanning:阵列跨越
阵列跨越是把2 个,3 个或4 个磁盘阵列中的存储空间进行再次整合,形成一个具有单一连续存储空间的逻辑驱动器的过程。RAID 控制器可以跨越连续的几个阵列,但每个阵列必需由相同数量的磁盘组成,并且这几个阵列必需具有相同的RAID 级别。就是说,跨越阵列是对已经形成了的几个阵列进行再一次的组合,RAID 1,RAID 3 和RAID 5 跨越阵列后分别形成了RAID 10,RAID 30 和RAID 50 。
Cache Policy :高速缓存策略
RAID 控制器具有两种高速缓存策略,分别为Cached I/O (缓存I/O )和Direct I/O (直接I/O)。缓存I/O 总是采用读取和写入策略,读取的时候常常是随意的进行缓存。直接I/O 在读取新的数据时总是采用直接从磁盘读出的方法,如果一个数据单元被反复地读取,那么将选择一种适中的读取策略,并且读取的数据将被缓存起来。只有当读取的数据重复地被访问时,数据才会进入缓存,而在完全随机读取状态下,是不会有数据进入缓存的。
Capacity Expansion :容量扩展
在RAID 控制器的快速配置工具中,设置虚拟容量选项为可用时,控制器将建立虚拟磁盘空间,然后卷能通过重构把增加的物理磁盘扩展到虚拟空间中去。重构操作只能在单一阵列中的唯一逻辑驱动器上才可以运行,你不能在跨越阵列中使用在线扩容。
Channel:通道
在两个磁盘控制器之间传送数据和控制信息的电通路。
Format :格式化
在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。
Hot Spare:热备用
当一个正在使用的磁盘发生故障后,一个空闲、加电并待机的磁盘将马上代替此故障盘,此方法就是热备用。热备用磁盘上不存储任何的用户数据,最多可以有8 个磁盘作为热备用磁盘。一个热备用磁盘可以专属于一个单一的冗余阵列或者它也可以是整个阵列热备用磁盘池中的一部分。而在某个特定的阵列中,只能有一个热备用磁盘。
当磁盘发生故障时,控制器的固件能自动的用热备用磁盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备用磁盘上。数据只能从带有冗余的逻辑驱动器上进行重建(除了RAID 0 以外),并且热备用磁盘必须有足够多的容量。系统管理员可以更换发生故障的磁盘,并把更换后的磁盘指定为新的热备用磁盘。
Hot swap Disk Module :热交换磁盘模式
热交换模式允许系统管理员在服务器不断电和不中止网络服务的情况下更换发生故障的磁盘驱动器。由于所有的供电和电缆连线都集成在服务器的底板上,所以热交换模式可以直接把磁盘从驱动器笼子的插槽中拔除,操作非常简单。然后把替换的热交换磁盘插入到插槽中即可。热交换技术仅仅在RAID 1,3,5,10,30 和50 的配置情况下才可以工作。
I2O(Intelligent Input/Output ):智能输入输出
智能输入输出是一种工业标准,输入输出子系统的体系结构完全独立于网络操作系统,并不需要外部设备的支持。I2O 使用的驱动程序可以分为操作系统服务模块(operating system services module,OSMs )和硬件驱动模块(hardware device modules,HDMs)。
Initialization :初始化
在逻辑驱动器的数据区上写零的操作过程,并且生成相应的奇偶位,使逻辑驱动器处于就绪状态。初始化将删除以前的数据并产生奇偶校验,所以逻辑驱动器在此过程中将一并进行一致性检测。没有经过初始化的阵列是不能使用的,因为还没有生成奇偶区,阵列会产生一致性检测错误。
IOP(I/O Processor ):输入输出处理器
输入输出处理器是RAID 控制器的指令中心,实现包括命令处理,PCI 和SCSI 总线的数据传输,RAID 的处理,磁盘驱动器重建,高速缓存的管理和错误恢复等功能。
Logical Drive :逻辑驱动器
阵列中的虚拟驱动器,它可以占用一个以上的物理磁盘。逻辑驱动器把阵列或跨越阵列中的磁盘分割成了连续的存储空间,而这些存储空间分布在阵列中的所有磁盘上。RAID 控制器能设置最多8 个不同容量大小的逻辑驱动器,而每个阵列中至少要设置一个逻辑驱动器。输入输出操作只能在逻辑驱动器处于在线的状态下才运行。
Logical Volume :逻辑卷
由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。
Mirroring :镜像
冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。RAID 1 和RAID 10 使用的就是镜像。Parity :奇偶校验位
在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。它常常是从两个或更多的原始数据中产生一个冗余数据,冗余数据可以从一个原始数据中进行重建。不过,奇偶校验数据并不是对原始数据的完全复制。
在RAID 中,这种方法可以应用到阵列中的所有磁盘驱动器上。奇偶校验位还可以组成专用的奇偶校验方式,在专用奇偶校验中,奇偶校验数据可分布在系统中所有的磁盘上。如果一个磁盘发生故障,可以通过其它磁盘上的数据和奇偶校验数据重建出这个故障磁盘上的数据。
Snapshot:快照
快照(Snapshot) 是静态映像(Frozen Image) 的备份技术,是一种保留某一时刻文件系统映像的技术,其核心是对备份和恢复过程采取“即时”(point-in-time) 数据拷贝的方式。Snapshot 可以很快的产生多个当前数据的快照,这些快照可用于数据备份,数据分析,数据恢复,以及提供给其它程序数据等。与备份软件系统、镜像软件系统相比,它具有自己的特色:如可以避免大数据量备份时长时间无法提供服务的问题,可以实现数据的即时恢复,实时数据分析等特有功能。
Power Fail Safeguard :掉电保护
当此项设置为可用时,在重构过程中(非重建),所有的数据将一直保存在磁盘上,直到重构完成后才删除。这样如果在重构过程中发生掉电,将不会发生数据丢失的危险情况。
展开阅读全文