EMC光纤交换机故障处理和命令分析
主机没有Login到存储是一个比较常见的故障,故障多发于主机新上线,或者是重启后。例如在Unisphere中,显示Host状态是”Registered: Yes; Logged In: No”。

当此状况发生时,主机到存储的部分路径(Path)状态会变为不可用,这对于性能以及可靠性都会有负面的影响。主机和存储管理员在检查配置后往往发现没有任何设置错误。作为SAN网络的数据传输基础架构,FC交换机是否正确工作自然是一个需要重点检查的对象。这篇文章将对FC交换机的配置进行重点讲解。
首先让我们来了解一下两个设备通讯初始化的过程,这里借用博科BCFA官方培训文档中的流程图:

*注:通常来说,末端设备(主机的HBA口,或存储的前端口)端口类型是N_Port,交换机侧的端口类型是F_Port。
从图中可以看到,初始化过程可以分为5个阶段,下面我们逐个阶段进行讲解。
Step 1 链路初始化
当设备连上交换机后,首先需要进行链路的初始化,同步信号,协商端口速率。
在这个阶段,必须保证交换机接收到的光强度足够。接受光强度就如交谈时听到的声音音量,强度过低就会导致沟通出现问题。
可以通过登陆交换机命令行,执行以下命令确认:
博科交换机
sfpshow [slot/]port -f注1
思科交换机
show interface fc x/y transceiver details
(注1:-f参数需要FOS 6.3及更新固件来支持)
红色部分请替换为实际的插槽/端口号,下同。

输出结果中,RX即为交换机侧的接收光功率,EMC推荐RX值不要低于-7dBm(注意是负值,所以数字小反而值大,一般应该在-2到-5之间),否则,请检查光纤线、配线架和末端设备。
其次需要确定末端设备和交换机支持的速率匹配。对于交换机,一般来说自协商模式下支持的速率是SFP模块/交换机端口最大速率及向下两档,以16G交换机16G SFP为例,自协商支持4/8/16Gbps三种端口速率,末端设备必须至少支持这些速率中的一种;如果手动设置了交换机端口速率,也需要确保末端设备能够工作在此速率下。
同样,通过上述两条命令来显示当前SFP支持的速率:
博科交换机

思科交换机

达成以上两点后,一般链路就能够起来了。
Step 2 FLOGI
接下来,末端设备会发起FLOGI(Fabric Login),这类似于IP网络中的DHCP。设备向交换机Fabric Login Server(地址0xFFFFFE)发送申请,交换机回复一个24bit的FC地址给设备,用于路由,类似于IP地址。

在交换机命令行下,通过以下命令来确认:
博科交换机
portloginshow [slot/]port
Example:
DS-5100B:admin> portloginshow 5
Type PID World Wide Name credit df_sz cos
=====================================================
fe 010500 50:06:01:6c:3c:e0:32:e7 8 2048 8 scr=0x3
ff 010500 50:06:01:6c:3c:e0:32:e7 4 128 8 d_id=FFFFFC
思科交换机
show flogi database interface fc x/y details
Example:
`show flogi database details`
--------------------------------------------------------------------------------------------
INTERFACE VSAN FCID PORT NAME NODE NAME FLAGS
--------------------------------------------------------------------------------------------
fc2/20 700 0x290140 50:00:09:74:08:31:12:34 50:00:09:74:08:31:56:78 P
如果能够返回末端设备的PWWN及FC地址,那么FLOGI就成功了。
Step 3 PLOGI到Name Server
随后,末端设备会向交换机发起PLOGI(Port Login),交换机将设备的信息写入Name Server(交换机上的服务,地址0xFFFFFC),这些信息包括PWWN,NWWN,FC4类型等等。

随后末端设备会向Fabric Controller(同样也是交换机上的服务,地址0xFFFFFD)发起SCR(State Change Registration),申请接收RSCN(Registered State Change Notification,注册状态更改通知。

之后,每当FC网络拓扑发生改变或者设备上下线后,交换机会向已完成SCR的设备发出通知)。

在交换机命令行下,通过以下命令来确认PLOGI到Name Server是否成功:
博科交换机
nsshow -r
Example:
Type Pid COS PortName NodeName SCR
N 030000; 3;50:00:09:74:08:35:12:34;50:00:09:74:08:35:56:78; 0x00000003
FC4s: FCP
PortSymb: [94] "SYMMETRIX::000292601357::RAF- 7fA::FC::5875_286+::EMUL F80F0000 381AA71D 802DB0 07.02.13 14:26"
NodeSymb: [38] "SYMMETRIX::000292601357::FC::5875_286+"
Fabric Port Name: 20:00:00:05:33:7d:90:ab
Permanent Port Name: 50:00:09:74:08:35:12:34
Port Index: 0
Share Area: No
Device Shared in Other AD: No
Redirect: No
Partial: No
LSAN: No
思科交换机
show fcns database detail vsan x
Example:
------------------------
VSAN:100 FCID:0x290000
------------------------
port-wwn (vendor) :50:06:04:8c:4a:37:ab:cd (EMC)
node-wwn :50:06:04:8c:4a:37:ab:cd
class :3
node-ip-addr :0.0.0.0
ipa :ff ff ff ff ff ff ff ff
fc4-types:fc4_features :scsi-fcp 253
symbolic-port-name :EMC SYMMETRIX 000287892468 SAF- 4cB EMUL B61F0000 1294AB11 3D1900 2C97C4 04.20.10 12:24 5671_081
symbolic-node-name :EMC SYMMETRIX 000287892468 SAF- 4cB EMUL B61F0000 1294AB11 3D1900 2C97C4 04.20.10 12:24 5671_081
port-type :N
port-ip-addr :0.0.0.0
fabric-port-wwn :20:07:00:05:73:f0:98:76
hard-addr :0x000000
permanent-port-wwn (vendor) :50:06:04:8c:4a:37:ab:cd (EMC)
connected interface :fc1/9
switch name (IP address) :switch01 (1.2.3.4)
从Name Server的数据库中,我们可以得到端口所连末端设备的PWWN/NWWN甚至厂商、设备类型、驱动等等信息。
在PLOGI到Name Server的过程中,末端设备Initiator(通常是主机)会发起查询,Name Server根据Zoning的配置,回复该末端设备可以访问的节点信息。只有在同一个Zone中的成员才可以相互通讯。如果Zoning已经开启,而一个设备没有在任何Zone中,那么它就不能和任何节点通讯。如果Zoning没有开启,那么所有的节点都在一个默认的大Zone中,节点是否可以与任意其他节点通讯就取决于默认Zone的策略。
在交换机命令行下,通过以下命令来检查Zoning信息:
博科交换机
cfgactvshow
Example:
Effective configuration: //已经激活的cfg信息
cfg: Brocade //cfg名字为Brocade
zone: VER093046 //cfg包含名为VER093046的Zone,其成员如下
10:00:00:05:33:90:ab:7e
10:00:00:05:33:90:ab:7f
50:06:01:67:3e:a0:04:4a
50:06:01:6e:3e:a0:04:4a
思科交换机
show zoneset active vsan x
Example:
`show zoneset active vsan 100`
zoneset name Fabric_A vsan 100 //Zoneset名为Fabric_A
zone name Mercury_A_VNX1408_SPA0_SPB1 vsan 100 //Zone名为Mercury_A_VNX1408_SPA0_SPB1
* fcid 0x370000 [pwwn 50:06:01:60:47:20:12:34] //Zone成员的fcid及PWWN
* fcid 0x370100 [pwwn 50:06:01:69:47:20:12:34] //*表示FLOGI成功
* fcid 0x370200 [pwwn 10:00:8c:7c:ff:21:ab:cd]
做Zone时,EMC推荐使用PWWN作为成员,并且每个Zone只包含一个Initator(通常情况下理解为一个HBA端口),以避免不同Initiator之间互相干扰。
Step 4&5 端到端PLOGI与PRIL
当末端设备完成FLOGI/PLOGI/SCR到交换机,并且Zoning的配置也正确后,Initiator(主机)和Target(存储)之间在FC Layer2层面上已经可以互相通讯。
Initiator需要再次发起PLOGI到Target,成功后再发起PRIL(Process Login),为上层协议(Upper Layer Protocol)搭建环境,FC 的ULP一般为SCSI。在此阶段,交换机只是转发FC帧,对端到端的PLOGI/PRIL不做任何干预。
综上:
交换机参与了端到端通讯初始化过程的1至3阶段。当发现主机没有Login到存储时,在FC交换机上要检查的内容为:
1. 末端设备是否分配到了FC地址(FLOGI成功)
2. 末端设备是否已经注册到Name Server(PLOGI到Name Server成功)
3. Zoning是否配置正确并且已经激活生效
4. 交换机端口是否看到丢帧
如果以上4项都没有问题,那么基本可以排除交换机的问题,需要在主机、存储上继续查找原因(驱动、固件、兼容性等等)。
EMC光纤交换机故障处理和命令分析的更多相关文章
- EMC DS300B光纤交换机扩展光口license
一.通过EMC指定的网站激活license 激活license,生成激活码需要三个信息: 1.交换机WWN号:可在交换机铭牌上查看:(16位) 2.SN号码:AQA00***9*6(11位) 3.ke ...
- IBM B16光纤交换机ZOON划分方法
一.ZOON的含义及划分原则 Zoon在光纤存储交换机中的功能类似于以太网交换机VLAN的作用,主要是为了在一台交换机划分出多个逻辑区,用于防范不同应用的存储连接发起广播包,提高光纤交换机 ...
- 博科Brocade 300光纤交换机配置zone教程
光纤交换机作为SAN网络的重要组成部分,在日常应用中非常普遍,本次将以常用的博科交换机介绍基本的配置方法. 博科300实物图: 环境描述: 如上图,四台服务器通过各自的双HBA卡连接至两台博科300光 ...
- 博科brocade光纤交换机alias-zone的划分-->实操案例
一,图形化操作 光纤交换机作为SAN网络的重要组成部分,在日常应用中非常普遍,本次将以常用的博科交换机介绍基本的配置方法. 博科300实物图: 环境描述: 如上图,四台服务器通过各自的双HBA卡连接至 ...
- Boke光纤交换机的snmp配置
今天我配置了一下Boke光纤交换机e-300的snmp trap的配置 敲击help命令你会发现配置snmp的命令共有四个 snmpconfig Config ...
- 重置Brocade光纤交换机的管理IP地址
1.使用串口登录光纤交换机 使用RS/232 (9针)串口连接线将笔记本连至交换机的串口. 输入以下参数: Bits per second (每秒位数): 9600 Data Bits (数据位): ...
- Brocade博科光纤交换机zone配置
1.规划 交换机 端口 用途 DS6520B-A 94 存储模块1-1 95 存储模块2-1 68 DB1网卡1-1 69 DB2网卡1-1 DS6520B-B 94 存储模块1-2 95 存储模块2 ...
- H3C S6800交换机 BCM shell命令
H3C S6800交换机 BCM shell命令 http://wgli978.blog.163.com/blog/static/13592877220172315858831/ <H3C> ...
- MySQL中使用SHOW PROFILE命令分析性能的用法整理(配合explain效果更好,可以作为优化周期性检查)
这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下 show profile是由Jerem ...
随机推荐
- POJ3460 Booksort(IDA*)
POJ3460 Booksort 题意:给定一个长度为n的序列,每次可以取出其中的一段数,插入任意一个位置,问最少需要几次操作才能使整个序列变为1~n 思路:IDA*+迭代加深搜索 小技巧:将一段数插 ...
- 数据结构:广义表的实现(Java)
广义表的简单理解在这篇博文中:https://blog.csdn.net/lishanleilixin/article/details/87364496,在此不做赘述. Java实现广义表: pack ...
- Https 客户端与服务器交互过程梳理
本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...
- js 实现星级评分
最近的项目中有一个星级评分的需求, 自己就写了一下, 由于可能一个页面要用到多个,就采用了面向对象的写法. 用到的png图片也放到这里. js要用到jquery. css: .sr-star{ ...
- 蓝桥杯-学霸的迷宫(BFS+记录操作)
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡 ...
- 使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本
关于Visual Studio 2012中使用InstallUtil对Windows服务进行安装与卸载的文章,在MSDN中的http://msdn.microsoft.com/en-us/librar ...
- C#面试:委托
面试常见题: 1.委托是什么?★☆ 2.为什么需要委托?★☆ 3.委托能用来做什么?★☆ 4.如何自定义委托★☆ 5..NET默认的委托类型有哪几种?★☆ 6.怎样使用委托?★★★ 7.多播委托是什么 ...
- 【Guava】Optional接口来避免空指针错误
null会带来很多问题,从开始有null开始有无数程序栽在null的手里,null的含义是不清晰的,检查null在大多数情况下是不得不做的,而我们又在很多时候忘记了对null做检查,在我们的产品真正投 ...
- hibernate多对一单向关联注解方式
多对一单向关联,在多的一方加上一的一方作为外键.在程序里表现为:在多的一方加上一的引用. 小组类Group,用户User: Group: package com.oracle.hibernate; i ...
- HUE配置文件hue.ini 的liboozie和oozie模块详解(图文详解)(分HA集群)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...