大话存储 - Murray-LIANG/forgetful GitHub Wiki

网络层

拓扑

  • 仲裁环拓扑
  • 网状拓扑

寻址

  • WWNN
  • WWPN
  • ZONE

传输层

除了将数据包分割成Information Unit来进行传输,还具备适配上层协议的功能,比如IP可以通过FC进行传输:IP over FC,SCSI可以通过FC进行传输:SCSI over FC。FC只是给IP和SCSI提供一个通路。

总结

FC协议的大部分逻辑都被直接做到了一块独立的硬件卡中,而不是运行在操作系统中,这样节约了主机CPU内存资源。TCP/IP就是运行于主机操作系统上的网络协议,其IP和TCP或者UDP模块是运行在操作系统上的,只有以太网逻辑是运行在以太网芯片中的。

SCSI + FC

FC协议只是定义了一套完整的网络传输体系,并没有定义诸如SCSI指令集这样可用于向磁盘存取数据的通用语言。

SCSI协议集是一套完整而不可分的协议体系,同样有OSI中的各个层次。物理层使用并行传输。SCSI协议集的应用层其实就是SCSI协议指令,这些指令带有强烈应用层语义。SCSI-3协议规范中,将SCSI指令语义部分(OSI上三层)和SCSI底层传输部分(OSI下四层)分隔开了,使得SCSI指令可以使用其他网络传输方式进行传输,而不仅仅限于并行SCSI总线。

FC协议的底层模块担当传输通道和手段,将SCSI协议集的上层内容传送到对方。

FC协议定义了在FC4层上针对SCSI指令集的特定接口,称为FCP,也就是SCSI over FC。只是将连接主机和磁盘阵列的通路,从并行SCSI总线替换为串行传输的FC通路。

主机方面,仍然具备SCSI指令处理模块,而将连接盘阵的接口替换成了FC卡。盘阵方面,连接主机的SCSI适配器也变成了FC适配器。SCSI指令集并未被抛弃,被抛弃的只是低效,低速,短距离的SCSI并行总线传输模块。

虽然SCSI总线网络可以接入16个节点,且总线的带宽可达到320MB/s,但是如果接入15台主机到一个盘阵上,理论上每个主机带宽才能达到20MB/s。而且SCSI线缆最长不能超过25米,却要连接15台主机,比较局促。

而FC使得存储网络真正的可扩展,多台主机通过FC交换机,连接到一台盘阵。

多台主机都能访问同一个盘阵,如果区分某台主机只能访问某个LUN?

  • 在盘阵上面的LUN Masking

    SCSI指令集中有一条指令叫做Report LUN,也就是在SCSI发起端和目标端通信的时候,有发起端发出这条指令,目标端在接收到这条指令之后,就要向发起端报告自己的LUN信息。LUN Masking就是在发起端请求Report LUN时,盘阵控制器根据发起端的ID(如WWPN)提供相应的LUN报告给它。而这些Mapping关系需要手动配置并保存在盘阵上。

  • FC交换设备上的Zoning

    可以在FC交换设备上阻断两个节点间的通路。包括软Zone和硬Zone。

多路径访问目标 Multipath

如果同一台主机可以通过多条路径访问同一个LUN,对于操作系统来说,主机能看到多个独立的硬盘,但是实际上这些硬盘对应的都是盘阵上面同一个LUN。

所以必须在操作系统上安装multipath软件,它可以识别并分析FC卡提交上来的LUN。如果两个物理上相同的LUN,此软件便向操作系统卷管理程序提交单份LUN。

9. FC协议的巨大力量

之前FC只是替换了盘阵前端的SCSI,后来连后端的SCSI都替换了,跟前端不一样,后端的FC使用仲裁环方式,每个磁盘连接的背板也是使用铜线来连接,而不是光纤。

10. DAS, SAN, NAS

NAS将文件系统从主机端后移到存储设备端,并通过NFS,CIFS等协议提供文件系统操作接口,一般来说NFS,CIFS这些协议跑在TCP/IP上。

11. IP SAN

  • FC:OSI底下四层都有定义。TCP/IP:只有网络层和传输层,下面租用以太网或者其他传输协议。
  • FC:MTU可以设置2000B以上。TCP/IP:一般为1500B。FC传输效率高。
  • FC:头只有24B。TCP/IP:加起来40B。FC开销小。
  • FC:4Gb/s已经普及。TCP/IP:1Gb/s。

以太网并不是端到端可靠的协议。