1.4.2 存储区域网络
直连式存储常常被称作一种孤立的存储环境。主机拥有存储设备,但这些孤立存储设备上的信息很难管理和共享。为了将这些分散的数据组织起来,存储区域网络(storage area network, SAN)应运而生。SAN是一个高速的、专用的服务器网络以及共享存储设备。一个SAN网络由负责网络连接的通信结构、负责组织连接的管理层、存储部件及计算机系统构成,从而保证数据传输的安全性和力度。传统的SAN通过光纤通道(fibre channel, FC)网络连接,组成一个单一存储池,有助于实现数据集中和整合。SAN的规模效益更好地满足了存储需求。SAN同时提供了高效的管理机制和数据保护能力。
SAN基础架构是光纤通道交换机的互联构造一个高速网,连接所有的服务器和所有的存储设备,让多个主机访问存储设备跟各主机间互相访问一样方便。SAN的特点和应用如下:
1.SAN的组成
SAN由三个基本的组件构成:接口(如SCSI、光纤通道、ESCON等)、连接设备(交换设备、网关、路由器、集线器等)和通信控制协议(如IP和SCSI等)。这些组件再加上附加的存储设备和独立的SAN服务器,就构成一个SAN系统。SAN提供一个专用的、高可靠性的、基于光通道的存储网络,SAN允许独立地增加它们的存储容量,也使得管理及集中控制(特别是对于全部存储设备都集群在一起的时候)更加简化。而且,光纤接口提供了10km的连接长度,这使得物理上分离的远距离存储变得更容易。
2.SAN的优点
• 可实现大容量存储设备数据共享。
• 可实现高速计算机与高速存储设备的高速互联。
• 可实现灵活的存储设备配置要求。
• 可实现数据快速备份。
• 提高了数据的可靠性和安全性。
3.SAN的应用
结合SAN技术特性及其在众多行业的应用,在具有以下业务数据特性的企业中,适宜采用SAN技术:①对数据安全性要求很高的企业,如电信、金融和证券行业的计费系统;②对数据存储性能要求高的企业,如电视台、交通部门和测绘部门的音频/视频、石油测绘和地理信息系统等;③在系统级方面,只有很强的容量(动态)可扩展性和灵活性的企业,如各大中型企业的ERP系统、CRM系统和决策支持系统;④具有超大海量存储特性的企业,如图书馆、博物馆、税务和石油的资料中心和历史资料库;⑤具有本质上物理集中、逻辑上又彼此独立的数据管理特点的企业,如银行、证券和电信的业务集中和移动通信的运营支撑系统;⑥实现对分散数据高速集中备份的企业,如各行各业的企业各分支机构数据的集中处理;⑦数据在线性要求高的企业,如商业网站和金融的电子商务;⑧实现与主机无关的容灾的企业,如大型企业的数据中心。
4.SAN的光纤通道
SAN是一个高速的、专用的服务器网络以及共享存储设备。传统的SAN通过光纤通道网络连接,组成一个单一存储池,有助于实现数据集中和整合。SAN的规模效益更好地满足了存储需求。
(1)光纤通道概述
FC结构是SAN的基本组成元素。光纤通道是一种高速网络技术,运行在高速的光纤线缆(一般用于SAN前端连接)和串行铜缆(一般用于后端磁盘连接)上。FC技术主要用于满足日益增长的数据传输需求,包括主机、服务器和大规模存储子系统之间的数据传输。尽管FC网络在1988年才被引入,但FC的标准化进程早在美国国家标准研究所(American National Standards Institute, ANSI)颁发许可证给光纤通道工作组(Fibre Channel Working Group, FCWG)时就已经开始。1994年,新的计算机高速互联标准被制定出来,光纤通道委员会(Fibre Channel Association, FCA)由70个颁发了证书的成员公司组成。隶属于国际信息技术标准委员会(International Committee for Information Technology Standards, INCITS)的技术委员会(Technical Committee Standards T11),负责光纤通道接口的设计。从20世纪70年代开始,T11(之前被称作X3T9.3)制定了高性能和大规模存储应用程序接口的标准。
更高的数据传输速度是一个重要的FC网络技术特征。最初的实现提供了100MB/s的吞吐率(即原始比特1Gbit/s的流量,在光纤通道上为1062.5Mbit/s),远大于用于DAS环境中的Ultra SCSI (20MB/s)的速度。FC在全双工模式中可以支持200MB/s的吞吐率。与Ultra SCSI对比,FC是存储网络上一个明显的技术飞跃。最新的8GFC (8G光纤通道)提供了1600MB/s的吞吐率(原始比特8.5 Gbit/s),而Ultra 320 SCSI的可用吞吐率也只是320MB/s。FC结构是高可扩展的,理论上一个FC网络可以容纳大约1500万个节点。
(2)SAN及其演化
存储区域网络通过光纤通道交换机连接服务器(或者称为主机)和存储器并传输数据。SAN实现了存储整合,允许多个服务器共享存储设备。它允许用户连接分散在不同地方的服务器和存储器。
SAN提供了通信架构的物理设备,并提供了主机和存储阵列之间安全健壮的通信机制。SAN的管理接口负责维护设备之间的连接,管理存储阵列及主机。
(3)SAN组件
SAN由三个基本组件构成:服务器、网络基础设施和存储设备。这些部件可以进一步细分为以下关键元素:节点端口、线缆、互联设备(例如FC交换机或者集线器)、存储阵列和SAN管理软件。
1)节点端口
在光纤通道中,设备诸如主机、存储器和磁带库都被称作节点。每个节点就是其他一个或多个节点的信息源或目标。每个节点需要一个或多个端口来提供物理接口,用于与其他节点进行通信。这些端口是H BA和存储器前端适配器的一个集成部件。每个端口都是全双工传输模式,拥有一个发送(transmit, Tx)链路和一个接收(receive, Rx)链路。
2)线缆
SAN的实现使用光纤进行布线。铜缆可以用于短距离的后端连接,因为它在30m距离内才能提供更好的信噪比。光纤线缆用光信号来携带数据。光纤分为两种:多模和单模。
多模光纤(multimode fiber, MMF)线缆可携带多个光束,以不同的折射角度同时在线缆核心内传输。根据带宽的不同,多模光纤被分为OM1(62.5μm)、OM2 (50μm)和激光器优化的OM3(50μm)。在MMF传输中,多条光束在线缆里穿越,容易发生色散和碰撞。这些碰撞会导致信号在长距离传输后强度减弱,这也被称作模间色散(inter-modal dispersion)。由于模间色散效应,MMF线缆通常被用作距离在500m以内的传输。
单模光纤(single-mode fiber, SMF)携带单个激光束,在线缆芯线中央穿越。这些线缆的直径有7~11μm的规格,最常用的是9μm。在SMF传输中,单条光束在光纤的线芯正中直线穿越。极细的线缆线芯和单束光波,都减少了模间色散。在所有类型的光纤线缆中,单模光纤提供了最小的信号衰减和最大的传输距离(长达10km)。单模光纤被用于长距离的线缆传输,只受发射端的激光功率和接收端的灵敏度的限制。
MMF一般用于数据中心的短距离传输,SMF则用于长距离传输。MMF收发器也比SMF收发器的价格低廉。
3)互联设备
集线器、交换机和控制器是常用于SAN的互联设备。集线器是用于光纤通道仲裁环(FC-AL)的互联设备。集线器将节点连接成一个逻辑环或者一个星型的物理拓扑。所有节点都必须共享带宽,因为数据会流经所有的连接点。由于廉价而性能较高的交换机的出现,集线器不再被用于SAN中。交换机比集线器更加智能,将数据从一个物理端口直接发送到另一个端口。因此,节点不再共享带宽,而是每个节点都有一个专用的通信路径,从而实现了带宽的聚合。
控制器比交换机更大,主要部署在数据中心。控制器的功能与FC交换机相似,但是控制器有更多端口并有更强的容错能力。
4)存储阵列
SAN的基本目标是提供主机访问存储资源的能力。现代存储阵列所提供的大容量存储已经被SAN环境所利用,作为一种存储整合和集中化的方案。SAN实现了存储阵列的标准特性,具有高可用性和冗余性,提高了性能、业务的连续性以及多主机的连接性。
5)SAN管理软件
SAN管理软件管理主机、互联设备以及存储阵列之间的接口。它提供了SAN环境的一个可视化视图,并且可以在一个中心控制台进行多种资源的集中管理。
它提供了关键的管理功能,包括存储设备、交换机和服务器的映射,以及监控和发现新设备时通知机制,还包括对SAN进行逻辑划分,称为分区。另外,这些软件还提供管理传统SAN组件的能力,例如HBA、存储部件和互联设备等。
(4)FC连接
FC结构支持三种可选的基本互连方案:点对点、光纤通道仲裁环(FC-AL)和Fabric连接。
1)点对点
点对点是最简单的FC配置方案——两个设备直接相连。这种方案为每对节点间的数据传输提供专用的连接。但是,点对点配置方案只能提供有限的互联能力,在同一时间只能实现两个设备间的相互通信。而且,它不能容纳大量的网络设备。标准的DAS就使用点对点连接。
2)光纤通道仲裁环
在FC-AL的配置里,设备连接到一个共享的环。FC-AL拥有令牌环拓扑和星形物理拓扑的特性。在FC-AL里,每个设备都与其他设备争用信道以进行I/O操作。在环上的设备必须被仲裁才能获得环的控制权。在某个给定的时间点,只有一个设备可以在环上进行I/O操作。作为一个环配置方案,FC-AL可以抛开任何互联设备来实现,设备与设备通过线缆直接相连,构成环状结构即可。但是,FC-AL的实现也有可能使用集线器,尤其是在仲裁环的物理连接采用星形拓扑的时候。FC-AL配置方案有以下几项可伸缩性方面的局限性:FC-AL在环内共享带宽;一个时刻只能有一个设备进行I/O操作;因为每个环上的设备都必须排队等待I/O请求的处理,所以在FC-AL拓扑里数据传输的速率会变得很低;FC-AL使用8位地址编码;在同一个环上,最多只支持127个设备,增加和移除设备都会导致环的重置,这可能导致环流量的瞬间中断。
当一个在FC-AL拓扑上的节点尝试传输数据时,该节点会发送一个仲裁帧(arbitration frame, ARB)给环上的每个节点。如果两个节点同时尝试获得环控制权,具有最高优先级的那个节点就被允许与其他节点通信。优先级是由仲裁环物理地址(arbitrated loop physical address, AL-PA)和环ID决定的。当发起方节点接收到自己发送的ARB请求时,它就获得了环的控制权。该发起方就开始与目标方节点建立虚链接并传输数据。
3)光纤通道交换Fabric
不像环配置方案那样,一个光纤通道交换Fabric提供互联设备、专用带宽以及可扩展性。在一个交换网里增加或移除设备极少引起网络服务中断,它不会影响其他节点正在传输的数据流量。
Fabric连接也被称作FC-SW。一个Fabric是一个逻辑空间,所有节点都可以在其中互相通信。这个虚拟空间可以通过一个交换机或一个交换机网络来构建。每个在Fabric中的交换机包含一个唯一的域标识符,同时也是Fabric寻址机制的一部分。在FC-SW中,节点并不共享一个环;相反,数据通过一个专用的路径在节点间进行传输。每个Fabric上的端口都有一个唯一的24bit的光纤通道地址用于通信。
一个Fabric拓扑可以用其包含的层数目来描述。一个Fabric的层的数量取决于相距最远的两个节点所穿越的交换机的数量。但是请注意,这个数字完全由Fabric拓扑决定,它并不考虑存储器和服务器如何跨越交换机进行连接。FC-SW使用交换机这种智能设备,它们可以通过交换端口,将数据流量从一个发送方节点直接转发到另一个目标方节点。Fabric所做的只是在源和目标之间展开。
(4)光纤通道接口
FC结构是带标准互联设备的通道/网络集成方案。SAN内部通过FC连接。主机到存储设备的传统传输方式是在通道连接上进行的,例如并行总线。通道技术由于协议开销很低,所以能提供很好的性能。这是由通道的静态本质以及通道技术所采用的紧密软硬件集成所决定的。但是,这种技术有其固有的局限性,其体现在可以连接的设备数量以及设备间的距离限制上。
光纤通道协议(fibre channel protocol, FCP)是串行SCSI-3在FC网络上的一个实现。在FCP结构中,所有外置的和远程的存储设备都连接到SAN上,对于主机操作系统来说就像本地设备一样。FCP的关键优势有以下几点:
• 在较长距离上保持较高的传输带宽。
• 支持网络上大量的可寻址设备。理论上来说,FC可以支持超过1500万个设备地址在同一个网络上。
• 显现出通道传输的特性,提供达到8.5Gbit/s的速率。
FCP由T10制定的标准文档进行详细说明。FCP-3是最新发布的标准,FCP-4仍在制订之中。FCP定义了光纤通道映射层(FC-4),使用由ANS X3.230-199X所定义的服务,即光纤通道——物理和信号接口(FC-P H),进行SCSI发起方和SCSI目标方之间的SCSI命令、数据和状态信息的传输。FCP依照SCSI结构模型定义了光纤通道信息单元。FCP也定义了光纤通道服务如何执行由SCSI结构模型定义的服务。
FC标准可以将几个已存在的高层协议(upper-layer protocols, ULP)映射到FC帧上进行传输,包括SCSI、IP、高性能并行接口(high performance parallel interface, HIPPI)、企业系统连接(enterprise system connection, ESCON)以及异步传送模式(asynchronous transfer Mode, ATM)。
(5)光纤通道协议栈
将一个通信协议看作独立层次结构会更容易理解。FCP定义了5层通信协议:FC-0到FC-4(除FC-3层没有实现外)。在一个分层通信模型中,每个节点的对等层都会通过已定义的协议进行互相对话。
1)FC-0物理接口
FC-0是FCP协议栈的最底层。这一层定义了物理接口、媒介和原始比特的传输规则。FC-0指定了包括线缆、连接器以及不同数据率下的光学和电器等参数。FC传输协议可用在电器媒介和光学媒介上。
2)FC-1传输协议
这一层定义了传输协议,包括串行编码和解码规则,以及所使用的特殊字符和差错控制等。在发起节点,一个8bit的字符被编码成10bit的传输字符。这些10 bit字符然后被发送到接收节点。在接收节点,这个10 bit的字符被转到FC-1层,解码为原来的8 bit字符。
3)FC-2传输层
FC-2传输层包含有效载荷、源地址和目的地址以及链路控制信息等。FC-2层提供了光纤通道编址、结构和数据组织形式(帧、序列和交换)。它也定义了Fabric服务、服务类、流量控制以及路由等。
4)FC-4高层协议
FC-4是最高层的FCP协议栈协议。这一层定义了应用程序接口和高层协议映射到低层FC协议层的方式。FC标准定义了几种可以在FC-4层操作的协议。其中一些协议包括SCSI、HIPPI组帧协议、企业存储连接(enterprise storage connectivity, ESCON)、ATM和IP等。
(6)光纤通道编址
当一个端口连接到Fabric上时,FC地址是动态分配的。FC地址根据Fabric上的不同类型的节点端口,采用不同的格式。这些端口可以是在同一个公共环上的一个N端口和一个NL端口,或者私有环上的一个NL端口。
1)NL端口的FC地址
NL端口的FC地址模型与其他端口不同。在一个私有环里的NL端口的FC地址,两个高位字节分配全0。但是,当一个仲裁环通过一个NL端口连接到Fabric上时,它就变成了公共环。在这种情况下,NL端口支持Fabric登录,于是两个高位字节就被交换机设成正数值,并被称为环标识(loop identifier)。在同一个环里面,所有NL端口的环标识都是一致的。
2)FC帧
一个FC帧由5个部分组成:帧起始(start of frame, SOF)、帧头(frame header)、数据段(data field)、循环冗余校验(cyclic redundancy check, CRC)和帧结尾(end of frame, EOF)。
SOF和EOF扮演着分隔符的角色。除了具备这个功能,SOF也是一个标记,标识一个帧是否为一个帧序列的第一帧。帧头长为24byte,包含帧的地址信息。具体包括以下信息:源ID(source ID, S_ID)、目标ID(destination ID, D_ ID)、序列ID(sequence ID, SEQ_ID)、序列计数(sequence count, SEQ_CNT)、始发交换ID(originating exchange ID, OE_ID)以及响应交换ID(responder exchange ID, RX_ID),另外还有一些控制字段。
S_ID和D_ID是标准的FC地址,分别用于源端口和目标端口;SEQ_ID和OE_ID分别用于标识一个帧为一个特定序列或一个特定交换的一部分。帧头还定义了以下字段:
路由控制(routing control, R_CTL):这个字段指明了一个帧是链路控制帧还是数据帧。链路控制帧是非数据帧,不携带任何有效载荷。这些帧被用作设置和发送信息。相反,数据帧会携带有效载荷,被用作数据传输。
特定类别控制(class specific control, CS_CTL):这个字段指定了Class 1和Class 4的数据传输的链路速率。
类型(type):这个字段描述了如果一个帧是数据帧,其需要携带的高层协议。但无论如何,如果它是一个链路控制帧,这个字段就被用作一个事件的信号,诸如“fabric繁忙”。例如,如果类型字段为08,并且这是一个数据帧,那么它就表示在FC上这个帧会携带SCSI协议。
数据段控制(data field control, DF_CTL):这是一个1 byte的字段,指明了任何已存在的,在数据有效载荷里开始的可选头部。这是一种在有效载荷里面扩展头部信息的机制。
帧控制(frame control, F_CTL):这是一个3 byte的字段,包含了与帧内容相关的控制信息。例如,字段的其中一个比特指明这个帧是否是一个交换的起始帧。
FC帧里面的数据段包含了数据有效载荷,原始数据最大可达2112 byte——大部分情况下是SCSI数据。FC帧最大可能的有效载荷可以包含2112 byte的数据,另外还有36 byte的固定开销。按照定义来说,一个链路控制帧的有效载荷为0 byte。只有数据帧会携带有效载荷。
CRC校验和实现了帧内容的错误检测。校验可以检验数据的完整性,通过检查帧内容是否被正确接收来检验。CRC校验码由发送者在进入FC-1层编码前进行计算。类似地,又由接收者在FC-1层解码后再次进行计算。
在一个FC网络里,数据传输与两个人进行交谈类似,一个帧就代表一个词,一个序列就代表一个句子,一个交换就代表一次谈话。
交换操作:一个交换操作使得两个N端口可以确定和管理一组信息单元。这些单元映射到一个序列上。序列可以是单向的,也可以是双向的,取决于发起方和目标方之间交换的数据序列的类型。
序列:一个序列是指一组连续的帧,从一个端口发向另一个端口。一个序列关联到一个信息单元,这是由ULP所定义的。
帧:帧是第二层上的数据传输的基本单元。每个帧最多可以包含2112 byte的有效载荷。
(7)FC分区
分区是一种FC交换机的功能,它使得节点在一个Fabric里可以被逻辑上分为不同的组,并且在组间互相通信。当一个设备(主机或存储器)登录到Fabric上时,它就会通过一个名字服务器进行注册。当一个端口登录到Fabric上时,它会经历一个设备发现过程,而其他设备是已在名字服务器上注册过的。分区功能控制着这个过程,只允许在同一个分区中的成员建立这些链路层的服务。分区可以被分为三种类型:
端口分区:使用物理端口的FC地址来定义分区。在端口分区里,访问数据取决于节点连接到哪个物理交换端口。FC地址是在端口登录Fabric时动态分配的。所以,Fabric配置上的任何改变都会改变分区。端口分区也被称作硬分区。尽管这种方法是安全的,但是它要求发生Fabric重配置事件时必须更新分区配置信息。
WWN分区:它使用万维网名称来定义分区。WWN分区也被称作软分区。它的一个主要的优点就是它的灵活性。它允许SAN重新连线,但并不需要重新配置分区信息。这是可以的,因为WWN相对于分区端口来说是静态的。
混合分区:它结合了WWN分区和端口分区的优点。使用混合分区时的一个特定的端口可以绑定到一个节点的WWN上。
(8)SAN的设备类型
在SAN存储网络里所指的主要设备包括光纤通道交换机和光纤通道卡。光纤通道交换机在逻辑上是SAN的核心,它连接着主机和存储设备。光纤通道交换机有着许多不同的功能,包括支持GBIC、冗余风扇、电源、分区、环操作和多管理接口等。每一项功能都可以增加整个交换网络的可操作性,理解这些特点可以帮助用户设计一个功能强大的大规模的SAN。光纤交换机的主要功能如下:自配置端口、环路设备支持、交换机级联、自适应速度检测、可配置的帧缓冲、分区(基于物理端口和基于WWN的分区)、IP Over Fiber Channel (IPFC)广播、远程登录、Web管理、简单网络管理协议(SNMP)以及SCSI接口独立设备服务(SES)等。光纤交换机往往根据功能和特点可被分为不同的类别。通常硬件都是基于相同的基本架构或者相同的ASIC芯片,只是软件的功能不同。光纤交换机的价格一般根据它所能满足的需求来制定,以下是各种主要类别的交换机的不同特点。
1)入门级交换机
入门级交换机的应用主要集中于8~16个端口的小型工作组,它适合低价格、很少需要扩展和管理的场合。它们往往被用来代替集线器,可以提供比集线器更高的带宽和更可靠的连接。人们一般不会单独购买入门级交换机,而是经常和其他级别交换机一起购买,以组成一个完整的存储解决方案。入门级交换机提供有限级别的端口级联能力。如果用户单独使用这类低端设备时,可能会遇到一些管理性的问题。
2)工作组级光纤交换机
光纤交换机拥有将许多交换机级联成一个大规模的光纤通道(fabric)的能力。通过连接两台交换机的一个或多个端口,连接到交换机上的所有端口都可以看到网络的唯一映像,在这个光纤通道上的任何节点都可以和其他节点进行通信。从本质上讲,通过级联交换机,能够建立一个大型的、虚拟的、具有分布式优点的交换机,并且这个交换机可以跨越的距离非常大。
工作组光纤通道交换机数量众多且更加通用。用户可以将工作组交换机用于多种途径,但应用得最多的领域是小型SAN。
3)核心级光纤交换机
核心级交换机(又叫导向器)一般位于大型SAN的中心,使若干边缘交换机相互连接,形成一个具有上百个端口的SAN网络。核心交换机也可以用作单独的交换机或者边缘交换机,但是它增强的功能和内部结构使它在核心存储环境下工作得更好。核心交换机的其他功能还包括:支持光纤以外的协议(像InfiniBand)、2Gbit/s光纤通道、高级光纤服务(例如安全性、中继线和帧过滤等)。
核心级光纤交换机通常提供很多端口,从64口到128口或更多。它使用非常宽的内部连接,以最大的带宽路由数据帧。使用这些交换机的目的是建立覆盖范围更大的网络和提供更大的带宽,它们被设计成为在多端口间以尽可能快的速度用最短的延迟路由帧信号。
核心光纤交换机往往采用基于“刀片式”的热插拔电路板,只要在机柜内插入交换机插板就可以添加需要的新功能,也可以在线检修,还可以做到在线的分阶段按需扩展。
4)光纤通道卡
光纤通道是高性能的连接标准,用于服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通信。
对于需要有效地在服务器和存储介质之间传输大量资料而言,光纤通道卡能提供远程连接和高速带宽。它是适于存储局域网、集群计算机和其他资料密集计算设施的理想介质。
光纤通道卡的优点:
• 在一个Arbitrated环路可连接最多126个设备。
• 通过交换结构最多可连接1600万个设备。
• CPU占用低。
• 服务器不关机就可增加和配置所连设备。
• 易于扩展以加大存储容量。
• 利用SCSI至光纤桥可实现对现有SCSI硬盘的高速连接。
• 可实现光纤和铜缆的连接。
• 全双工传输速率达2000 Mbit/s。