Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11682793
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-17 11:25:50


继承光纤通道(Fibre Channel)的架构,SAN 亦具备三种 拓扑:专属点对点连接,提供保证带宽;仲裁回路,提供连接两台以上装置共享带宽;Switched Fabric则提供同时多重连接的性能

   

  专属点对点连接(Dedicated Point-to-Point Connection)
 

  点对点连接是最基本、最简单的架构,两个N_Ports直接对接,一个N_Port的传送端(Tx)接到另一个N_Port的接收端(Rx),反之,其接收端则连接到他方之传送端。这种架构,基本上只能建立只有两个装置的系统,当然,这两个装置也拥有全部的带宽(100MB/s,或200MB/s双向传输的话)。

  注:N_Port:每一个光纤通道的装置都称为Node,每一个Node都具备一个(或以上)的连接埠(Port(s)),Node中的每个连接埠就称为N_Port,也就是Node Port。

  就实际的应用上来说,系统能够做全双工(Full Duplex)传输的机会不是很大。例如,服务器在同一时间上,不是从储存系统读取数据,就是把数据写入储存系统中;能够一边读同时又一边写的机会,实在太少了。而且就目前最标准的33MHz、32-bit PCI架构的服务器而言,其PCI Bus的带宽也不过132MB/s,要消化200MB/s的数据传输率,实在不太实际。所以,点对点的连接架构,虽然也算是SAN的一种,但是充其量只是直接连接储存系统(Direct-Attached Storage)的一种而已,只不过把SCSI或IDE换成Fibre Channel而已。

  由于Arbitrated Loop 以及 Switch Fabric的技术日益精进,其产品价位也越来越经济,因此SAN系统基本上是由Arbitrated Loop 架构,升级扩充至Switched Fabric架构。点对点连接的架构,仅适合在储存系统建置初期,在容量需求还不是很大的时候,做一个保守的投资,但是又保留将来系统的扩充能力(Scalability)。但是在选择主机适配卡(HBA:Host Bus Adapter)以及周边的时候,就必须特别注意其规格,确定其所提供之驱动程序以及固件(Firmware,Microcode)能够支持未来扩充至Arbitrated Loop以及Switched Fabric 的能力,以免造成投资的浪费,甚至储存系统必须整个重新设置的痛苦。

   

  仲裁回路(Arbitrated Loop)架构

  
  仲裁回路(Arbitrated Loop)架构,比点对点连接架构具备更多弹性,一个回路可以连接达127个装置;同时其单位成本又较Switched Fabric 来得低,因此Loop 架构是目前最被广泛应用的架构。

  Arbitrated Loop 实体架构就像既有的FDDI(光纤分布式数据接口)及Token Ring(令牌环网)一样,第一个NL_Port的传送端连接到第二个NL_Port的接收端;第二个NL_Port 的传送端在连接到下一个NL_Port 的接收端;以此类推,一直到最后一个NL_Port的传送端连接道地一个NL_Port 的接收端。如此,便形成一个封闭的回路。

  注二:NL_Port:一个N_Port如果是连接到Arbitrated Loop,就被称为NL_Port,也就是Node Loop Port的意思。
在一个Arbitrated Loop 中的所有装置,都共同分享整体带宽(100MB/s)。因此回路架构越大(即装置总数越多),每个装置分享到的带宽也就相对越小。当然,在同一时间点上,并不是回路上的每一个装置都需要传输数据,因此,真正活跃节点(Active Nodes)的数目,决定了整个回路的平均带宽。例如,以两部服务器共同连接40部JBOD磁盘驱动器(Just a Bunch of Disks,一堆独立磁盘驱动器,并未建构成RAID)的系统来说,如果每个服务器的HBA都可以执行8个Concurrent Threads(并发线程),则总共可能同时有16个活跃节点,所以每个节点可以分享的带宽就是约6.6MB/s,对于现在的Fibre Channel磁盘驱动器具备超过30MB/s的性能来说,算是相当委屈的。

  早期的Arbitrated Loop是真正的用单线Cable(光纤或铜线),一个Node一个Node地串接下来,即所谓的菊花链(Daisy Chain)的方式,形成一个封闭回路。这种方式是最直接、最经济的,但也是风险最高、最不可靠的架构。因为如果有任何一段Cable 断落,或任何一个节点故障或失去电源,整个回路就完全当了。有些SAN的装置,具备Bypass线路,在本身发生故障或关机时,可将回路上之讯号跳接过去,如此,可以提高系统可靠度,但仍然无法解决Cable断落的问题

  为了解决上述问题,就有Arbitrated Loop Hub的问世。Loop Hub基本上是将回路建立在机体线路内,硬件线路将第一个NL_Port的Tx接到第二NL_Port的Rx,如此串接下去,最后再把最后NL_Port的Tx接到第一个NL_Port的Rx。Loop Hub的最棒的功能,就是每个Port都具备Bypass,在连接到任何一个NL_Port的装置移除或关机时,都能自动发生Bypass作用。除此之外,Loop Hub的基本功能还包括:能侦测装置的加入和移除、正确行加入或移除的工作,支持动态重新寻址等功能。
利用Loop Hub建立的Arbitrated Loop,基本上形成一个星状的回路架构,这种架构既解决上述可靠性的问题,同时也提供了更多的弹性与方便性:系统建置时布线工作更方便;装置故障时可以直接拔除维修,不必关闭整个回路;随时可以新增装置,甚至串接新的Loop Hub(Cascading)以扩充系统。例如,把一个JBOD的磁盘柜接到Loop Hub 的一个NL_Port,或是Cascade 一个新的Loop Hub,同时又新增数个磁盘驱动器到回路上。Arbitrated Loop Hub 的Cascading非常方便,不需要特殊连接线,只要用一般的Fibre Channel Cable,随便挑一个NL_Port接上去就可以了。不向以太网络的Hub,必须使用Crossover cable或特定的Port才能做 Cascading。

  SAN Switch Fabric

  Switch Fabric是利用Fibre Channel Switch为主干,建制成的交织网络系统。Switch中的每一个Port都拥有独立的带宽,Fabric最重要特点,就是能够让多个传输同时进行。整个Fabric的有效带宽,就是可同时建立的连结(Links)带宽的总和。例如,一个16-Port 的Switch,最多可支持8个同时联机,其总带宽可达800MB/s(或1.6GB/s Full Duplex)。
为了有效提升Fabric Switch的性能,Fibre Channel Switch 一般都是应用Cut-Through交换机制。Cut-Through的技术,是在信息桢(Frame)送进Switch的时候,先判别其目的地地址,便立刻将之传送到目的地,而不是等到整个信息桢都接收完,再行判别(Store-and-Forward)。如此,可在最短的延迟时间内,将Frame转送出去。
Fabric和Arbitrated Loop的区别,除了Loop将带宽分享;Fabric是带宽加总之外,另外一个显著的差别,就是可寻址的数目。在Arbitrated Loop中,最多只能有127个装置,但是在Fabric中,每个N_Port都被指定一个24-bit的地址,因此理论上,一个Fabric可支持多达一千六百万个N_Ports。由于FC-SW标准的寻址模式,把24-bit的地址分为3个部份:最高的8-bit做为Domain Address之用;中间的8-bit做为Area Address之用;最低8-bit做为Port Address之用。由于Domain Address中有许多是保留,实际可用的数目为236个,因此一个Fabric中最多可以有236个Switches连接在一起;而Area 适用来区别群组的F_Ports(Fabric Ports),或是个别连接回路的FL_Port(Fabric Loop Port);Port Address则是指派到最终的N_Ports或NL_Ports。Area Address以及Port Address都各有256个,因此整个Fabric 可以连接236 X 256 X256 = 15,466,496个Ports。

  上述的寻址模式,最重要的目的,是在多重Switches的Fabric系统中,让路由机制只需判断1个Byte的Domain Address,便可以知道该把Frame往哪个Switch 送,而不必判别完整的3个Bytes Address,如此大大提升路由效率。

  在多重Switches、复杂度高的Fabric系统中,重要的课题是如何达到Inter-Switch Link 的容错功能。解决的方法,一般是采用交错连接,也就是每个Switch用2 个Ports 分别和两个不同的Switches连接,Fabric中所有的Switches都互相交错连接。如此,任何一条Switch-Switch的联机断掉了,都有另外一个替代路径可用。但是这种方式也造成另外一个问题,即连续性的Frames,可能经由不同的路径传送,在送达目的端后,发生脱序的情况。这时,既有的802.1 Spanning Tree 就派上用场了,利用Spanning Tree技术,所有的Frame都会经由最佳路径传送,除非最佳路径中断,才会改载备用路径。

  Fabric的Switch,除具备基本的新增、移除、动态寻址等功能之外,为了有效率支持大型储存系统网络,还必须支持许多更进一步的功能,例如Simple Name Server、State Change Notification、Fabric Zoning等。
阅读(327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~