Fibre Channnel我们之前引入了SAN的概念,SAN首先是个网络,而不是存储设备。这个网络是专门来给主机连接存储设备用的。 我们知道按照SCSI总线16个节点的限制,不可能接入很多的磁盘,要扩大SAN的规模,只使用SCSI总线是不行的,所以必须找到一种可寻址容量大、稳定性强、速度块、传输距离远的网络结构。FC网络就应运而生。 FC网络Fibre Channnel也就是网状通道,FC协议从1988年出现,最开始作为高速骨干网技术。 任何互联系统都逃不过OSI模型,所以我们可以用OSI来将FC协议进行断层分析。 物理层首先有较高的速度:1Gb/s,2Gb/s,4Gb/s,8Gb/s到16Gbps 为了实现远距离传输,传输介质起码是光纤 链路层字符编码及FC帧结构FC协议的帧头有24字节,比以太网帧头(14字节)还要长。 比如下图为以太网的报文格式。 为什么FC协议需要这么长的帧头呢?因为24字节的帧头不但包含了寻址功能,还包含了传输功能保障。也就是说网络层和传输层的逻辑都用这24字节来传输。 这点就与TCP/IP+以太网不同,以太网基本上没有传输功能保证功能,主要需要靠TCP来进行端到端的传输保障。 我们可以对比一下TCP/IP和FC协议的开销: 基于以太网的TCP/IP网络,开销为:
而FC协议就24字节,所以开销比TCP/IP的要小。 网络层FC网络中的节点要通信,无非也就是连、找、发三大要素。
从这个方面基本上就可以了解FC各节点交互的流程了。 连:拓扑与以太网类似,FC也有两种拓扑:FC-AL和Fabric
仲裁环是应该 由所有设备串联而成的闭合环路,每个接口上都有一套旁路电路(Bypass Circuit),一旦检测到本地设备故障,就会自动将这个接口短路。 一跳一跳的传输,而且任何时候只能按照一个方向向下游传输。
相对于仲裁环路来说转发效率提升了很多,联入矩阵所有节点可以同时进行点对点通信,加上包交换所带来的并发和资源充分利用,可使得交换架构获得的总带宽为所有端口带宽之和。 而AL架构下,不管接入的节点有多少,带宽为恒定,即共享环路带宽。 下图为交换矩阵的示意图。 FC终端设备接入矩阵端点,一个设备发给另一个设备数据帧被交换矩阵收到后,矩阵会拨动交叉处的开关,连通电路,传输数据。所以可以把交换矩阵是一个大的电路开关矩阵,根据通信的源和目的决定波动哪些开关。 FC交换拓扑寻址容量是2的24次方个地址,比以太网理论值(2的48次方)少,但是对于专用的存储网足够。 找:编址任何网络都需要寻址机制,所以需要对FC网络的每个设备定义一个唯一的标识。
以太网交换设备的端口不需要有MAC地址,而FC交换机却需要每个端口都有自己的WWPN。这是因为FC要做的工作比以太网交换机多,许多FC的逻辑都集成在了FC交换机。 需要处理到FC协议的最上层。而以太网相对简单,因为上层逻辑都被交给TCP/IP这样的上层协议来实现了。 WWPN:长度是64位,比MAC地址多16位。长度太长,速度低,所以在WWPN上映射一层寻址机制,分配一个Fabric ID,嵌入链路帧里面来做路由 这样WWPN被映射到了Fabric ID,一个24位的Fabric ID又被分为Domain ID、Area ID、Port ID三个亚寻址单元
发:地址映射过程如下的讲解主要是针对Fabric 交换架构网络。 既然要把WWPN映射到Fabric ID上,就一定要有映射机制,那么每个端口如何获得Fabric ID的呢?过程比较类似于RARP协议。 当一个端口接到FC网络的时候,会向注册服务器发送一个注册申请,然后这个注册服务器会返回给它动态分配一个Fabric ID。当然此时注册服务器会记录这个映射关系。 此后这个接口的帧不会携带WWPN,而是携带其被分配的ID作为源地址。这点就与以太网不同,我们知道 以太网既携带MAC又携带IP,所以在效率上打了折扣。 发:同步其他节点信息不过还有一个问题,一个端口要与另一个端口通信,那么怎么知道要通信目标的Fabric ID是多少呢? 每个节点获得自己的Fabric ID之后,还会进行名称注册。同样也是向名称服务器发送注册帧,主动告知自己的Fabric ID等信息。然后名称服务器其他节点的信息返回给它。这样就知道了其他节点地址呢。 如果FC网络比较大,则可能不只一台FC交换机。也就是说有若干FC交换机互联。与IP网络不同的是,FC网络不需要太多的人工介入,它们会自动协商自己的Domain ID(可以回过去看看Fabric ID的结构),选举出主交换机,由主交换机来为其他的交换机分配Domain ID。交换机之间会运行OSPF等路由协议,这样可以交互节点信息,寻址各个节点。 现在我们可以与IP网络对比一下,IP网络需要很强的人为介入性,需要人来配置节点的IP地址、路由信息等,而FC网络则可以自动分配和管理地址。最根本原因是因为FC协议一开始设计就是为了高速、高效的网络,而不是给Internet使用的。所以自动分配地址当然适合。 发:与目标通信此时每个节点已经获得了Fabric ID了,同时还从名称服务器得知网络上其他节点的ID,万事俱备,完全可以与其他节点进行通信了。
FC网络中还有一中FC Control Service,如果节点向这个服务进行注册了以后,一旦网络状态有变动,将会把最新的信息同步到这些节点。 最后一点上面提到的名称服务器、注册服务器其实一般都是运行在交换机内部的,而不是物理上的服务器。 传输层FC协议的传输层的作用与TCP相似,也也进行Segment以及通过端口号区分上层应用。
FC适配器要构建一个完整的FC网络,除了需要FC交换机,还需要FC适配器(FC HBA,Host Bus Adapter)
下图是用来接入FC网络的各种线缆,有SC光纤,DB9铜线和RJ45/47线缆。可以看出FC不一定是光纤 FC适配器有自己的CPU、RAM、ROM。是一个嵌入式设备。与RAID卡类似,只是不像RAID卡需要那么多的RAM来做数据缓存。 SCSI迁移到FC如何迁移在上面一章我们把FC协议进行了简单的介绍,现在是时候把SCSI迁移到FC上了。 回顾一下,为什么要这么做,因为SCSI总线只能接16个节点,不利于扩展,同时传输的距离有限,而且不够高效等。所以我们可以在主机与后端存储之间使用FC协议,把基于并行SCSI总线的存储网络架构迁移到FC的网络架构。 迁移的过程中存在一个问题,我们知道FC协议并没有定义SCSI指令集这样面向磁盘存储数据的通用语言。那怎么解决这个问题呢? 在【大话存储】学习笔记(13章),协议融合中提到了协议融合,此时FC协议与SCSI协议有重叠,但是FC协议在某些方面可以做得更好,所以可以将SCSI语言承载于FC协议进行传送。 将连接主机和磁盘阵列的通路从并行的SCSI总线替换为串行传输的FC通路。但是盘阵后端连接磁盘的接口还是SAS接口。 这样单台盘阵所能接入的磁盘容量没有提升,但是前端的性能提升了,因为使用FC协议,可以更为的高速。 好处引入FC之后,带来的好处为
这样就实现了多台主机共享一个盘阵,提升了盘阵的利用率。
多路径访问目标如果盘阵有两个控制器,每个主机上都有两块FC适配卡,它们都连接到了FC交换机。 这样会存在一个问题,因为主机有两块HBA卡,而每块HBA可以识别两块LUN,所以整个主机会识别出4块磁盘,这就有问题了,因为这样磁盘就有重复了,造成了混乱。 那么你可能会说,为啥要两块FC HBA卡呢?因为一块HBA有单点故障,如果使用两块HBA卡,一旦一块HBA卡出现了故障,另一块卡依然可以维持主机到盘阵的通路。 那多路径的问题怎么解决:可以在操作系统中安装多路径软件,它可以识别FC提交上来的LUN,向操作系统提交单份LUN。这个软件还有个作用,如果某个控制器发生故障,通过这个软件立即重定向到另一个控制器。 |
|
来自: 昵称51898798 > 《待分类》