存储FC 网络

存储FC 网络

直连式存储(Direct Attached Storage)



  • 通过IDE、SCSI以及光纤(FC)接口与服务器直接相连,以服务器为中心
  • 每个服务器都需要独立的存储设备(磁盘),且连接距离短,连接数量有限
  • 数据分散,共享、管理困难单位成本高-存储空间浪费
  • 网络附加存储(Network Attached Storage)



  • 基于NFS、CIFS文件级共享存取,支持HTTP
  • 存储设备功能上独立于网络中的主服务器,不占用服务器资源
  • 扩展较容易,广泛支持操作系统及应用,安装简单方便
  • 数据备份及恢复占用网络带宽

存储区域网络(Storage Area Networks)



  • 将存储和服务器隔离,简化了存储管理,能够统一、集中的管理各种资源
  • SAN能屏蔽系统的硬件,可以同时采用不同厂商的存储设备
  • 这一方法能降低文件冗余度。
  • 跨平台性能没有NAS好,价格偏高,搭建SAN比在服务器后端安装NAS要复杂的多。

存储区域网络(Storage Area Networks)

FC SAN:采用Fibre Channel等存储专用协议,通过光纤通道交换机等连接设备,使 网络服务器与多种存储设备连接在一个高速专用独立于以太网的网络中,数据采用 FCP协议以块方式存取,不占用服务器运算处理的网络带宽。 IP SAN:使用以太网代替光纤通道(Fibre Channel)网和使用iSCSI协议代替FCP协 议,进行块状数据存储访问的SAN。 FC SAN、IP SAN都要有存储管理软件(如卷管理、数据的快照、镜像、备份、恢复、 归档等等)。

SAN与NAS的区别

NAS 和SAN 在以下方面区别:

1. SAN 是以数据为中心的,而NAS 是以网络为中心的

2. SAN具有高带宽块状数据传输的优势,而 NAS 则更加适合文件系统级别上的数据访问

3. 用户可以部署 SAN 运行关键应用,比如数据库、备份等,以进行数据的集中存取与管理 , 而NAS 支持若干客户端之间或者服务器与客户端之间的文件共享,所以用户可使用NAS 作 为日常办公中需要经常交换小文件的地方,比如文件服务器、存储网页等

SAN与NAS的联系

NAS 和SAN 在以下方面提供互补: 1.NAS 产品可放置在特定的SAN 网络中,为文件传输提供优化的性能 2.SAN 可以扩展为包括IP 和其他非存储关联的网络协议

DAS、NAS、SAN的的区别


FC SAN与IP SAN体系架构

早期的SAN存储系统中,服务器与交换机的数据传输 是通过光纤进行的,因为服务器是把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议,所以需要使用FC传输, 因此这种SAN就叫FC-SAN。后期出现了用IP协议封装的SAN,可以完全走普通LAN网络,因此叫做 IP-SAN,其中最典型的就是现在热门的iSCSI。

FC SAN与IP SAN比较

  • 在IP SAN中,以太网交换机代替了价格昂贵且只有FC SAN专用的光纤交换机 ,并且其端口速率可以无限制的随着以太网技术的发展而提升。
  • 在IP SAN中,客户端的Initiator或iSCSI卡代替了价格较高的主机HBA卡
  • 在IP SAN中,具有iSCSI接口的高性价比的存储设备代替了光纤磁盘阵列

FC概述

  • Fiber Channel简称FC(Fibre Channel),是一种高速网络技术标准(T11),主要应用于存储 网络。
  • Fibre Channel (FC)技术标准是1994年由ANSI标准化组织制订的一种适合于千兆位数据传输 通信的网络技术。光纤通道用于服务器共享存储设备的连接,存储控制器和驱动器之间的内部连接。
  • 从分层协议栈的角度看,FC仅仅包含了从物理层到传输层的规范。它的上层定义了把其他协议作 为应用层协议进行封装的接口,如SCSI或IP协议。而将SCSI封装起来后整个协议,就是FCP(FC Protocol)。
  • FC物理层具有很高的传输带宽,从1Gb/s、2Gb/s、4Gb/s到8Gb/s、16Gb/s,32Gb/s,64Gb/s采用NMb的编码方式,同步串行方式传输。

FC协议栈



FC与OSI参考模型的对比关系



FC SAN FC-0

  • 作 为 一 种 高 速 的 网 络 传 输 技 术, FC 协 议 体 系 的 物 理 层 具 有 比 较 高 的 速 度, 从 1Gb/ s、 2Gb/ s、 16Gb/ s 到 当 前 的 64Gb/ s。 作 为 高 速 网 络 的 代 表, 其 底 层 也 使 用 了 同 步 串 行 传 输 方 式, 而 且 为了 保 证 传 输 过 程 中 的 电 直 流 平 衡、 时 钟 恢 复 和 纠 错 等 特 性, 其 传 输 编 码 方 式 采 用 NMb 编 码方 式。 为 了 实 现 远 距 离 传 输, 传 输 介 质 起 码 要 支 持 光 纤。 铜 线 也 可 以, 但 是 距 离 受为限制。FC协议集中物理层的电气子层为FC-0。 FC SAN FC-1
  • 现 代 通 信 在 链 路 层 一 般 都 是 成 帧 的, 也 就 是 将 上 层 发 来 的 一 定 数 量 的 位 流 打 包 加 头 尾 传 输。 FC 协 议 在 链 路 层 也 是 成 帧 的。 既 然 需 要 成 帧, 那 么 一 定 要 定 义 帧 控 制 字 符。 FC 协 议 定 义 了 一 系 列 的 帧 控制 策 略 及 对 应 的 字 符。 这 些 控 制 字 符 不 是 ASCII 码 字 符 集 中 定 义 的 那 些 控 制 字 符, 而 是 单 独 定 义 了 一 套 专 门 用 于 FC 协 议 的 字 符 集, 称 为“ 有 序 集”。 其 中 的 每 个 控 制 字 符 其 实 是 由 4 个 8 位 字 节 组 成 的, 称 为 一 个“ 字”( word), 而 每 个 控 制 字 开 头 的 一 个 字 节 总 是 经 过 8 10b 编 码 之 后 的的0011111010( 左 旋) 或 者 1100000101( 右 旋)。
  • FC 协 议 给 这 个 字 符 起 了 一 个 名 字, 叫 做 K28.5。 这 个 字 未 经 过 8 10b 编 码 之 前 的 值 是 十 六 进 制 BC, 即 10111100, 它 的 低 5 位 为 11100( 十 进 制 的 28), 高 3 位 为 101( 十 进 制 的 5)。 FC 协 议 便 对 这 个 字 表 示 为“ K28.5”, 也 就 是 说 高 三 位 的 十 进 制 是 5, 低 5 位 的 十 进 制 是 28, 这 样 便 可 以 组 合 成 相 应 的 二进 制 位 码。 然 后 再 加 上 一 个 描 述 符 号 K( 控 制 字 符) 或 者 D( 数 据 字 符)。 K28.5 这 个 字 符 没 有 ASCII字 符 编 码 与 其 冲 突, 它 的 二 进 制 流 中 又 包 含 了 连 续 的 5 个 1, 非 常 容 易 被 电 路 识 别, 当 然 符 合 这 些 条 件 的 字 符 还 有 好 几 个。 每 个 控 制 字 均 由 K28.5 字 符 开 头, 后 接 3 个 其 他 字 符( 可 以 是 数 据 字 符),由 这 4 个 字 符 组 成 的 字 来 代 表 一 种 意 义, 比 如 SOF( Start Of Frame)、 EOF( End Of Frame) 等。
  • FC 协 议 定 义 了 一 个 24B 的 帧 头。 以 太 网 帧 头 才 14B, 用 起 来 还 绰 绰 有 余, 为 什 么 FC 需 要 定 义 24B 呢? 在 这 个 问 题 上, 协 议 的 设 计 者 独 树 一 帜, 因 为 这 24B 的 帧 头 不 但 包 含 了 寻 址 功 能, 而 且 包 含 了 传 输 保 障 的 功 能。 网 络 层 和 传 输 层 的 逻 辑 都 用 这 24B 的 信 息 来 传 递。我 们 知 道, 基 于 以 太 网 的 TCP/ IP 网络, 它 的 开 销 一 共 是: 14B( 以 太 网 帧 头) + 20B( IP 头) + 20B( TCP 头) = 54B, 或 者 把 TCP 头 换 成 8B 的 UDP 头, 一 共 是 42B。 这 就 注 定 了 FC 的 开 销 比 以 太 网 加 上 TCP/ IP 的 开 销 要 小, 而 实 现 的 功能类

FC 帧格式

所有FC帧都遵循通用帧格式,如下所示





FC拓扑结构 FC-2

  • Fibre Channel有三种拓扑结构: 点对点(Point-to-Point) – 两个设备之间互连 仲裁环(Arbitrated Loop) – 最多支持126(采用一个字节的寻址容量)个设备互连, 形成一个仲裁环 交换式Fabric(Switch Fabric) – 最多2的24次方个设备互连



点到点(Point-to-Point)

o ‘N’端口光纤通道设备之间的专用连接 o 所有链路带宽都分派给两个节点之间的通信 o 适用于小规模存储设备的方 案,不具备共享功能



仲裁环 (FC-AL)

o 每个节点的TX端口连接到邻近节点的 RX端口,直到形成闭环 为止 o 最大带宽: 800 MB/秒(环路上所有节点中共享) o 环路上最多126个节点 o 不是令牌传输方案 -- 不限制设 备保留控制的时间 o 操作顺序: 环路控制仲裁 打开到目标设备的通道 传送数据 关闭 o 环路上的节点数直接影响性能,当一个节点出现故障,会把此节点bypass掉



交换机(Fabric)

每个端口2Gb/64Gb带宽 o 添加新设备可以增加总 的带宽 o 高达2的24次方可能的地 址 o 支持zoning分区功能

FC协议 — 网络层:编址 FC-2

任何网络都需要寻址机制,FC当然也不例外, 但FC的寻址和编制方式与以太网有所不同,例如:在以 太网交换机的端口上不需要有MAC地址,而FC交换机上的端口都有自己的WWPN地址,这是因为在FC 网络中,FC交换机担当了很重要的角色,它要处理到FC协议的最上层——应用层。也就是说,FC终端 设备只负责产生数据,其他功能(封包、流控和安全等)均由FC交换机来保障,下面是FC的编址类型: o —— WWNN:不管这个设备上有多少个FC端口,FC设备自身都有一个唯一的WWNN地址来代表它自己。 o —— WWPN:FC设备的每个端口都有一个全球唯一的WWPN地址,地址的长度是64位,但用8个字节来做路由,是不明智的,因此还需要再映射一层地址。



FC协议 —— 网络层:编址 FC-2

  • — Fabric ID:WWPN和Fabric ID之间需要建立映射关系,就像MAC和IP的映射一样,设备会为每个连接到FC网络中 的接口分配一个Fabric ID,用这个ID嵌入到链路帧中做路由,这个ID长24位,格式如下:
  • Domain ID:前8位是Domain ID,用来区分网络中每台FC交换机。WWNN最小者获胜成为主交换机,然后这个交换机向所有其他交换机分配Domain ID。
  • Area ID:中8位是Area ID,用来区分同一台交换机上不同的端口组,比如1、2、3、4端口属于Area 1。
  • Port ID:后8位是Port ID,用来区分一个同Area中不同端口。 o 通过这样的寻址体系,可以在一个FC网络中,区分每个交换机、每个端口组、每个端口 o FC交换机里面使用Name Server(名称服务)将WWPN号和FCID进行转换。 o Linux系统上查看设备HBA卡的命令为lsscsi –t –H,里面可以看到WWPN和FCID的信息



FC协议 —— 网络层:寻址(2)

o 因为从一开始FC就是被设计给专用、高速、高效的网络使用的,为了避免人为操作失误,FC网络中所有操作都不需要人工介 入,设备将自动分配和管理各种地址(WWPN)、自动运行和设置路由协议(SPF最短路径优先)。 o FC交换机接口所连接的设备在登录到FC网络时都会向一个指定的ID(这个ID只是运行在交换机上的一个名称服务程序)发送注 册帧,设备完成注册之后,名称服务程序便会将网络上存在的其他节点信息告诉这个接口上所连接的设备。

寻址的安全性问题: § —— 软ZONE:让名称服务器只告诉某个设备特定的节点。例如:网络上存在A、B、C三个节点,可以让名称服务只向A通告B节点,而隐藏C节 点,这样A看不到C。但如果A知道C的ID,也可以直接去访问,这就是软ZONE。 § —— 硬ZONE:也可以将 A 和 B 划入一个ZONE中,该方式为底层硬件隔离,这样即使知道ID也无法通信了。 § —— LUN Masking:SCSI指令集中有一个指令叫做Report LUN,作用是发起端发出这条指令,目标端收到后,就要向发起端报告自己的LUN信息。根据这个原理,我们可以让磁盘控制器根据发起端的WWPN地址,提供相应的LUN给它。例如:针对主机A,控制器就报告LUN1、LUN2,主机B,就报告LUN3,如果某个主机强行访问不属于它的LUN,盘阵控制器便会拒绝这个请求。还可以配置选择性的将某个LUN分配到盘阵的指定前端端口上。

FC-LS链路服务--会话管理

  • 登录 FLOGI — 交换机登录(Fabric Login)
  • PLOGI — 端口登录(Node Port Login)
  • PRLI — 进程登录(Process Login) o 登出LOGO/PRLO 会话管理登录/登出



FLOGI — 交换机登录(Fabric Login) 确定交换机是否存在 o 协商操作参数,如最大帧长度、BB_Credit o 与F_port建立一条对话

PLOGI — 端口登录(Port Login) o 建立与N_port的对话 o 协商服务参数,如EE_Credits o 在两个 N_ports之间创建一个对话 o 在PLOGL成功之前,无上层操作

PRLI — 进程登录(Process Login) o 可选 o 通信进程级别的服务参数

通用服务 o FC-PH 为特殊功能定义了多个地址: 24位地址空间的高位16个地址

o 常用的公认地址




名称服务器(Name Serevr)

o 名称服务器的公认地址为0xFFFFFC o N _port 把信息注册到名称服务器的数据库中 o N_port 查询数据库获得其它端口的信息 o N_port 可以从名称数据库撤销注册

FC端口类型



FC端口类型

o N端口:Node Port节点端口;光纤通道通信的终端; 主机端口、存储端口,或者开启AG模式的光纤交换机端口 o NL端口:Node Loop Port 节点环路端口 o F端口: Fabric Port 光纤端口;一种交换连接端口 o FL端口:Fabric Loop Port光纤环路端口;AL设备提供进入光纤网络服务 的端口 o E端口:Expansion Port 扩展端口;用于通过ISL(内部交换链接)连接 多个交换机 o G/U端口:Generic Port 通用端口;可根据连接方式,在F端口和E端口 之间进行切换

FC协议 —— 传输层:包结构(FC-4) FC传输层同样也与TCP类似,也对上层的数据进行segment,而且还要区分上层程序,TCP是利用端口来区分, FC则是利用Exchange ID来区分。 FC协议 —— 传输层:包结构(FC-4) § 每个Exchange发过来的数据包 ,被FC传输层分割成 Information Unit,也就相当于 TCP分割成的Segment。然后 FC传输层将这些Unit提交给FC 的下层进行传输。下层将每 个segment当作一个Sequence ,并给予一个Sequence ID, 然后将这个Sequence再次分割 成FC所适应的帧,给每个帧 赋予一个Sequence Count,这 样便可以保证帧的排列顺序 。接收方接收到帧之后,会 组合成Sequence,然后根据 Sequence ID来顺序提交给上 层协议处理。



FC协议 —— 传输层:功能(FC-4)

o 传输层还有一个重要角色,就是适配上层协议,如下图所示:比如IP可以通过FC 进行传输,SCSI指令也可以通过FC传输。FC会提供适配上层协议的接口,就是IP over FC及SCSI over FC。FC只是给IP和SCSI提供了一种通路,一种传输手段,就像IP over Ethernet和IP over ATM一样。


添加图片注释,不超过 140 字(可选)

FC协议 —— 传输层:服务种类(FC-4)

在传输层,FC定义了几种服务类型,也就是类似于TCP/IP协议中规定的TCP和UDP,具体类型如下: o——Class 1:这是一种面向连接的服务,类似于电路交换的模式,将为通信的双方保留一条虚电路,以进行可靠地传输。 o——Class 2:它提供的是一种端到端确认传输的服务,类似于TCP。 o——Class 3:这种服务类型不提供确认,类似于UDP。 o——Class 4:这种类型是在链路上保留一定的带宽资源给上层应用,但不是保留整个链路,工作原理类似于RSVP服务。 o为了进一步提高FC网络的速度和效率,FC协议的大部分逻辑功能被直接做到一块独立的适配卡当中,而不是运行在操作系统中,因为如果将协议逻辑置于系统上运行,会占用主机CPU和内存资源,下面是TCP/IP和FC协议之间的比较:

  • 操作系统中运行:IP和TCP/UDP模块就是运行在操作系统之上的协议,而只有以太网逻辑是运行在以太网卡芯片中,CPU从以太网卡接受到的数据时携带有IP头部及TCP/UDP头部的,需要运行在CPU中的TCP/IP协议代码来进一步处理这些头部,才能生成最终的应用程序需要的数据。
  • 适配卡中运行:FC协议物理层到传输层的逻辑功能,大部分都运行在FC交换机和FC适配卡的芯片中,只有小部分关于上层API的逻辑运行于操作系统FC卡驱动程序中,这样就使FC协议的速度和效率都较TCP/IP协议高。
原文链接:,转发请注明来源!