税务信息化常用技术指南存储技术篇2009-9-22目录第一章存储基础知识1磁盘存储系统的种类随着信息化时代的到来,我们所要接触到的信息也就是数据越来越多;越来越多的人们也开始认识到信息的重要性。信息的重要性,不言而喻,它的影响可以大到整个世界,小到某一个人,它关系着当今世界的文明发展程度、一个国家的发达程度以及企业的竞争力等。而随着数据高速的增长以及人们对数据的重要性的认识,这时,如何储备庞大重要数据的问题,就摆在了我们的面前。继续采用以前的传统的存储方法(使用服务器自身连接的存储设备,其扩展能力十分有限,而且会带来宕机的问题)显然是不可行的,这就需要我们去考虑是否可以外接一个磁盘的存储设备,从而能对数据存储的需求做快速的配置响应,而且这些外接的存储系统要有自带的独立的电源、冷却系统、存储以及外部接口总线连接器等特征,此时,磁盘的存储系统就应运而生了。目前,磁盘的存储系统可以分为两大类:一类是JBOD存储系统,另外一类是RAID存储系统。1.1JBOD存储系统JBOD是JustaBunchofDisk的缩写,即一组存储磁盘的组合。JBOD将两个或更多磁盘组合在同一个盘柜内,并与系统或服务器相连。以前,JBOD指通过控制软件控制一组磁盘的功能;目前,JBOD指一组没有RAID功能的盘柜。通常典型的内部连接可以采用SCSI总线或FCAL(光纤通道仲裁环)。从系统的角度来看,JBOD仅仅是一些磁盘驱动器,尽管整个盘阵可以提供监控和管理的设备。高端的JBOD支持热切换以及电源、风扇、控制器和双端口磁盘的冗余配置,如下图所示。1.2RAID存储系统RAID全称为RedundantArrayofIndependentDisks,是“独立磁盘冗余阵列”(最初为“廉价磁盘冗余阵列”)的缩略语。1987年由Patterson,Gibson和Katz在加州大学伯克利分院的一篇文章中定义。RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。我们注意到,其实在RAID存储系统中,它整合了专有的RAID控制器。这个专有的硬RAID控制器其实也是由RAID算法软件来实现的,只不过,这个软件是在控制器中的Firmware上执行的,以此来实现RAID功能。你完全有理由把RAID控制器理解成为一台专用的主机,因为它包含有内存、CPU、I/O接口等元件以及在此硬件的基础上跑特定的OS。相对于JBOD存储系统,要是想实现RAID的一些特性,此时,它必然要消耗它所连接的主机的资源。而RAID存储系统之所以这么流行,是有以下的三个原因的:RAID在容量和管理上的优势。RAID技术提供了设备虚拟化,即几个单个的磁盘设备或分区能够形成一个符合的虚拟磁盘设备。这样,一个RAID系统可以组合10个单独的磁盘驱动器,而在存储总线或网络上却以一个单一的地址或LUN出现。当机构在努力管理快速增长的数据时,虚拟存储子系统就能够提供足够的存储能力。并且,由于RAID这种设备虚拟化的能力,可以将几个小的驱动器合而为一,形成一个大的虚拟驱动器,因此,就能在这样的虚拟驱动器上建立单一的文件系统,而无需去管理多个小的实际驱动器以及考虑如何在多个驱动器间平衡容量和应用负载。RAID的性能优势。磁盘镜像技术提供了极好的数据可靠性,而且价格相对适中。假如可靠性是RAID的唯一的优越性,那么,大部分的IT专业人员可能并不购买它。因此,要想RAID成为更为实用的工具,就必须赋予它超过单个和镜像磁盘驱动器的性能优势。一般而言,需要解决的主要性能问题是转动延迟和寻道时间,它们都是由磁盘驱动器的机电部分引起的。为此,RAID可以通过磁盘分条来提高性能。所谓的磁盘分条就是通过将操作分散到各个不同的磁盘驱动器,使主机I/O控制器能够处理更多的操作,这是在单个磁盘驱动器下所不能达到的。RAID的可靠性和可用性优势。为了支持24×7这种类型的服务,存储在设备子系统上的数据必须一直保持可用。然而,当多个磁盘驱动器组合在一起使用时,失败的潜在危险驱动器的增加而线性的增长。例如,当阵列中有三个驱动器,那么其失败的可能是单个驱动器的三倍。因此,对于RAID来说,很重要的一点就是提供比单个驱动器更优越的可靠性。RAID是通过冗余来提高数据的可靠性。这样,通过使用冗余算法来保证了:虽然个别的驱动器坏了,但数据仍然能维持一致性,一般的情况下,可以使用两类冗余的技术:镜像的冗余校验的冗余另外,对于RAID存储子系统的可用性可以通过对一些关键的部件保护和冗余来实现。比如,电源的保护,可以通过冗余的电源和电池后备UPS系统;另外,通过对存储子系统的控制器和缓存等这些关键部件进行冗余。RAID有多种级别,划分如下:0—DataStriping数据分条1—Mirroring镜像5—DataStripingwithParity数据奇偶分条0+1—StripedMirrors分条的数据镜像还有其他一些RAID级别,但上述的划分为目前大多数人都采用的几种。2磁盘连接技术磁盘连接指的就是计算机的I/O总线和存储设备(磁盘和磁带机)之间的物理链路,用来实现计算机与存储设备的数据交换。磁盘连接协议包括:SCSI,FCP,iSCSI,和FCIP等。2.1SCSI技术SCSI是SmallComputerSystemInterface(小型计算机系统接口)的英文缩写。SCSI最早是一种并行连接,使用SCISI命令的计算机硬件接口。SCSI在单个接口上可增加多个设备,如硬盘驱动器、Zip、Jaz、CD-RW、DVD驱动器及扫描器,其接口传输率可达40MB/s~80MB/s。Ultra-160m可达160MB/sec,并且在同时处理多个设备方面有很强的能力,适合于从高档台式机到最先进的高性能服务器的每一种应用。因此被广泛用于网络服务器及高档桌面系统中。SCSI几经变革,传输率、支持设备等功能都有大幅度的改进,而这些变化都以近似的名词来表示,例如SCSI、FastSCSI、UltraSCSI、UltraWideSCSI等。原来SCSI目前仅有2.5代,而且名词简单易懂好记,分别是SCSI-1、SCSI-2、SCSI-3。除此之外,Ultra2、UltraWide、Ultra2Wide、Ultra-160m(Ultra3)也都属于SCSI-3;其中Ultra2传输速率为40MB/sec,也称为Fast-40SCSI。而UltraWide、Ultra2Wide、Ultra3则是采用16bits数据宽度,因此可串接的设备数为15部之外,传输率也提高为2倍,分别为40MB/sec、80MB/sec与160MB/sec。由于有效电平的不同,S/E与DIFF的最大传送距离也不同。一般说来,S/E传送距离为3米或更短,LVD(Ultra2SCSI)为12米,普通DIFF为20米左右。有效电平越高,信号衰减也越慢,所以传送距离也就越远。传统的SCSI排线在传输速度上会与串接设备数、串接距离产生牵制关系,通常速度愈高,设备愈多,可串接的距离愈短;因此从Ultra2之后,全部改用全新的LVD串接模块,LVD的特性为(LowVoltageDifferential,低电压差动法)低电压、信号干扰少、并兼容于传统排线,可以有较长的串接距离、也可以兼顾传输速度与设备数。SCSI接口的演变过程发展过程传输频率(MHz)数据频宽(bits)传输率(MB/sec)可接设备数总线长度-米SCSI-158576SCSI-2Fast1081073Wide101620153SCSI-3Ultra(Fast-20)2082071.5UltraWide201640151.5Ultra(Fast-40)40840712Ultra2Wide4016801512Ultra380161601512并行SCSI最初采用带状电缆连接内部磁盘和磁带。多年以后产生了各种各样的并行SCSI,采用大量不同连接头和电缆。它的速率很快,很可靠,但传送距离较短。如图所示为主/从关系的主机系统适配器和存储设备的物理连接。SCSI的特性包括I/O通道,网络和SCSI总线。I/O信道是用于计算机和存储设备之间的传输通道,可以在计算机内部,或延伸到外部存储设备。通过HBA(主机总线适配器)可以接入存储设备。并行SCSI的协议栈与网络协议栈并存,如下图所示:并行SCSI总线是共享总线结构,没有集线器或交换机连接,设备之间通过链状总线连接起来,由SCSI仲裁技术采用寻址方式来确定接入总线的优先级别。也许会由多个发起者(initiator),但这种情况不常见。通常为一个主机适配器控制多个SCSI设备到SCSI总线的连接。HBA卡与目标之间是主/从关系,SCSI作为它们的指令/回应协议。SCSI寻址包括3个组成部分:主机(控制器在主机内):确定采用哪个HBA卡目标(SCSI总线上的设备控制器):驱动SCSI总线的地址(最大为16)LUN(目标的存储设备):确定存储设备或源数据通过一个目标控制器进行通讯。这种层次结构目前在SAN网络中仍然采用。如图所示:SCSI的运行采用半双工方式工作。SAN网络中的主机/目标对也采用半双工通讯,但在主机和目标盘之间可以允许由多个进程同时与不同节点通讯。2.2光纤通道技术随着计算机技术的发展,计算机系统不再是小型系统了,SCSI协议假设的小型系统的基础不存在了。事实上产生了一整套新的企业级的计算机系统,要求更远的距离,网络中更多的设备已经实现了串行传送的标准化。新的体系仍然保留了对速度的要求,并且还在不断的增长。更高的传送速度当然总是好的,因此开发了新的SCSI协议,尽管速率更高了,但仍然采用并行传送的方式。FC(FibreChannel)光纤通道协议正好能够满足企业级计算系统的需求。FC提供了的一个很明显的优势就是对距离的延伸。根据传送媒介的不同,FC可传送的距离也有所不同。可以从几十米延伸到10公里左右。FC光纤通道已经成为目前SAN存储网络的默认选择。光纤通道是第一个在SAN中广泛实现的网络技术。和其他的网络技术,如以太网、ATM和令牌环网一样,这项技术的出现具有自己的特点。对于大多数网络技术来说,一个通用的衡量标准是速度,或者叫传输速率。光纤通道也定义了好几种速度,包括25MB/s、100MB/s、200MB/s、400MB/s和1GB/s。2.2.1光纤通道传输协议/层次化结构在FC上采用串行SCSI的协议称作FCP。有很多种协议在光纤通道提取层被采用,但FCP是到目前为止用得最多的协议。FC-0定义了物理接口,包括电缆的类型和接头,可以是光接口或者电接口。FC-1提供低层的链路控制和千兆数据传送的编码FC-2定义了数据帧、流控和服务等级的分割和重新组合。FC-3用于公共业务,例如数据加密和压缩FC-4提供FC和IP、SCSI-3和其他协议之间的上次协议接口光纤通道的FC-0层是光纤通道千兆位速度传输的物理层基础。它后来也被用于千兆位以太网。它既包括铜线部件,又包括光纤部件。FC-1与FC-0紧密相连,FC-0在物理层为FC-1提供初始化检查和数据发送和接收约定。实质上,光纤通道是按超级可靠性和完整性来设计的。它的错误率不足10E-12。这几乎相当于每几个TB的数据传输才发生一个可校正的错误。FC-2层包含了关于数据传输结构的重要信息。这和其他网络技术的MAC层类似。端口定义、服务等级、流量控制和通信语法是光纤通道中最有趣的几个方面。工业界在FC-3层做的工作还不多。在该层所作的研究和开发包括一些如何同时在多个链路和节点进行工作的方法。光纤通道的最高层,FC-4层,提供在光纤通道上实现的各种高层协议的映射。其中的光纤通道协议(FCP),是SCSI-3标准的实现,它将为并行SCSI开发的命令和操作转换成串行的,以在网络上使用。2.2.2光纤通道拓扑方式光纤通道技术支持3种基本的拓扑结构:点对点连接,仲裁环(ArbitratedLoop)和交换式的Fabric。点对点连接是最简单的拓扑结构允许两节点之间直接通