概念
FC(Fibre Channel)光纤通道协议。FC协议制定的初衷是用来提高硬盘的传输带宽,侧重于数据的快速、高效、可靠传输。目前FC协议被用在高容量、高端存储设备上
FC SAN是指用FC协议的SAN网络。
FC协议栈
FC-0:物理层(线缆)
FC-1:编码/解码
FC-2:结构协议、定义传输规则和机制
FC-3:提供一系列服务
FC-4:提供了光线通路已存在的更上层的映射,协议包括IP/SCSI等
光纤通道数据帧格式
FC与SCSI协议关系
FC通道不是替代SCSI的,而是SCSI指令可以通过FC通道来传输。
FC典型组网拓扑
点对点
两个设备直连,最简单的拓扑,连接能力有限
仲裁环
一个圆环,上面连接多个设备。这种连接方式只要环路添加/删除一个设备,整个环路所有活动会被中断。环路上一个设备坏了会导致整个环路失效。通过添加光纤通道集线器可以解决以上问题。但是这种结构基本废弃,原因就是一个环上最多连接127个设备。
交换网络
目前主流,通过FC交换机连接主机和存储设备。
FC端口
N端口:服务器、存储设备连接到交换机的端口
F端口:交换机与服务器、存储设备连接的端口
NL端口:服务器、存储设备连接到交换机的端口(用于仲裁环拓扑)
FL端口:交换机与服务器、存储设备连接的端口(用于仲裁环拓扑)
E端口:交换机互联的口
G端口:可以自动配置的端口,连交换机就自动变成E
编址
WWNN(World Wide Node Name)
FC设备自身的身份证号
WWPN(World Wide Port Name)
FC设备的每个端口的身份证号
WWPN的长度太长,不利于寻址,于是就把每个WWPN映射出一个简短的24位的Fabric ID,这个映射一般在交换机内部就完成了,不需要手工配置,自动的
Fabric ID被分为Domain ID(高8位)、Area ID(中8位)、Port ID(低8位)三部分
Domain ID用来区分不同的FC交换机,Area ID用来区分不同的端口组,Port ID用来区分不同的端口
FC分区-ZONE
FC协议功能更为丰富,可以为每台主机划分不同的LUN,保证了安全性。
既然所有的主机都挂在了盘阵上,怎么保证每台主机能独享一块LUN呢?可以从FC交换机,磁盘阵列控制器入手。
磁盘阵列控制器策略
在SCSI协议中有这样一个过程,此时Initiator想要与Target要进行通信,Initiator需要发一条Report LUN指令给Target,Target端在收到这条指令以后,需要返回自己的LUN信息。那么磁盘控制器可以 LUN的时候,根据发起端的身份,提供相应的LUN给它。如果强行访问其他的LUN,就会拒绝。这种方法就叫LUN masking
交换机策略
软ZONE:将几个设备的WWN分配到一个ZONE中,这个ZONE中的设备之间可以通讯,和端口无关。分配在不同ZONE的主机之间就相互看不到对方。
硬ZONE:类似于以太网中的VLAN。以端口划分ZONE。例如我把端口1-3划分为ZONE1,4-6划分为ZONE2。那么任何设备连接到1-3端口都能看到彼此,ZONE2对应端口下的设备看不到ZONE1对应端口下的设备。
多路径访问重复
上图中主机A为了冗余配了2块HBA卡,如果没有任何策略现在主机A上可以看到4块虚拟磁盘(重复识别了)。但是其实只有2块。可以通过软件识别提交上来的LUN,自动去重。此软件还有一个功能,当一块HBA卡坏了,可以自动切换到另一块卡去访问LUN。