目录

简介

什么是中止？

FNIC在堆栈中的位置？

FNIC中止是否由FNIC驱动程序引起？

什么原因会导致FC中止？

此中止消息表示在日志中找到什么？

中止消息和FCPIO不匹配消息有何区别？

相关信息

简介

本文档介绍光纤通道网络接口卡(FNIC)中止的内容，并提供常见问题解答(FAQ)。

什么是中止？

光纤通道(FC)没有恢复丢弃或损坏帧的方法。当交换出现问题时，会发送中止(ABTS)消息。中止是指可由发起方或目标方发出的链路级别服务。恢复由小型计算系统接口(SCSI)层处理，超时为60-120秒，具体取决于操作系统配置。

FNIC在堆栈中的位置？

在Linux/ESXi中，FNIC驱动程序位于操作系统(OS)供应商提供的libfc库和实际硬件之间。  SCSI层向fnic驱动程序发送请求，fnic驱动程序向固件发送scsi请求。固件生成以太网光纤通道(FCoE)帧，并通过线路发送。

FNIC中止是否由FNIC驱动程序引起？

否，FNIC中止不一定是驱动程序问题，而是发起方（或目标）在超时期内未收到帧的一般消息，SCSI层终止交换并重试。

什么原因会导致FC中止？

FC中断可能由于各种原因引起，如拥塞、低性能设备（硬盘、存储处理器、低速链路）、固件问题、驱动程序问题、操作系统问题、链路丢失、链路断开/接通等。

由于中止是一般消息，因此第一步是缩小问题范围，提出以下问题：

- 它仅发生在存储交换矩阵的一侧还是同时发生？

- 它发生在单台主机还是多台主机上？

- 如果有多台主机，存在问题的主机之间有什么共同点，与没有出现问题的主机有何不同？

- 当它与SAN目标上的特定存储连接网络(SAN)目标或特定逻辑单元号(LUN)通信时，是否会发生此情况？

- 是否有其他SAN目标或LUN没有遇到问题，如果是，这些工作LUN/目标与非工作目标有何区别？

- 出现问题时（例如每周备份作业期间）是否有模式？

这些问题的答案可帮助您找出问题可能存在的位置以及关注的起点。

中止的最常见原因是第1层问题，建议检查从发起方到目标的整个路径是否存在任何接口错误，如循环冗余校验(CRC)错误或抖动接口。

中止的下一个常见原因是初始或/目标之间链路的超订用或目标上组件（如CPU和磁盘）的超订用。  这就是良好性能基准派上用场的地方。

此中止消息表示在日志中找到什么？

VMWare vmkernel log:

2017-07-27T14:54:10.590Z cpu6:33351)<7>fnic : 2 :: Abort Cmd called FCID 0x50a00, LUN 0xa TAG c8 flags 3

在本示例中，在2017-07-27T14:54:10 UTC时间，在主机OS SCSI标记为0xc8的LUN 0xa上对FCID 0x50a00的vmhba2调用中止操作。

LUN ID 0xA 转换为十进制，以确定LUN ID 10是操作系统尝试与阵列通信的LUN。

标签 0xc8 是主机scsi层的请求IO标记，可用于与VIC适配器上的日志条目匹配。

设备实例2 可与vmware vmhba编号fnic-tracetool -i匹配

/tmp # ./fnic-tracetool -i

HBA             Device

---             ------

vmhba1          fnic1

vmhba2          fnic2

如果交换矩阵互联在终端 — 主机模式下运行，则FCID 0x50c00可与北向交换矩阵交换机上fcns数据库中的特定目标进行匹配。

switch-A(nxos)# show fcns database fcid 0x50c00 detail vsan 1 ------------------------ VSAN:1 FCID:0x50c00 ------------------------ port-wwn (vendor) :50:00:00:00:ff:ff:ff:01 (EMC) node-wwn :50:00:00:00:ff:ff:ff:00 class :3 node-ip-addr :0.0.0.0 ipa :ff ff ff ff ff ff ff ff fc4-types:fc4_features :scsi-fcp:both 253 symbolic-port-name :SYMMETRIX::SAF- 3fB::FC::5876_272+::EMUL B80F0000 41234F44 94F360 07.27.15 11:14 symbolic-node-name :SYMMETRIX::FC::5876_272+ port-type :N port-ip-addr :0.0.0.0 fabric-port-wwn :20:1e:00:2a:6a:ea:00:00 hard-addr :0x000000 permanent-port-wwn (vendor) :50:00:00:00:ff:ff:ff:01 (EMC) connected interface :fc1/30

VIC适配器日志

170727-14:54:10.590661 ecom.ecom_main ecom(4:0): abort called for exch abort called for exch 431b, status 3 rx_id 0s_stat 0x0xmit_recvd 0x0burst_offset 0x0sgl_err 0x0 last_param 0x0 last_seq_cnt 0x0tot_bytes_exp 0xa00h_seq_cnt 0x0exch_type 0x1s_id 0x36010fd_id 0x50c00 host_tag 0xc8

- s_stat 0x0=>未接收帧

- exch_type 0x1 => Exchange为入口且处于活动状态

- 预期的总字节数为=> tot_bytes_exp 0xa00

- 接收为=> 0x0

- burst_offset设置为=> 0x0

- 此请求的主机SCSI层的IO标记为=> 0xc8

- 源ID => 0x36010f

- 目标ID => 0x50c00

- 序列ID => 0x0

- rx_id => 0

状态

- 状态3 =写命令

- 状态1 =读取命令

交换类型(exch_type):

===============================

EXCH_NOT_IN_USE = 0,

EXCH_INITIATOR_INGRESS_ACTIVE = 1

EXCH_TARGET_INGRESS_ACTIVE = 2

EXCH_EGRESS_ACTIVE = 3

EXCH_ABORTED = 4

EXCH_DEBUG = 5

Exchange状态值(s_stat):

============================================

0x00未接收帧

0x01至少接收一个帧

0x02序列仍处于活动状态

0x04序列完成

0x08传输序列init

0x10出口序列处于活动状态

发送0x20 rsp fr和主机条目

0x40 exch数据序列挂起

中止消息和FCPIO不匹配消息有何区别？

当未收到所有预期数据时，可能会发生FCPIO不匹配。

Total bytes xmit < expecte ddata length

160621-04:26:51.733255 ecom.ecom_main ecom(8:3): ox_id 41d4 rx_id 44b seq_cnt 7 seq_id 1 160621-04:26:52.066235 ecom.ecom_main ecom(8:1): fcpio_data_cnt_mismatch for exch 4202 status 1 rx_id5f7 s_stat 0x3 xmit_recvd 0x3000 burst_offset 0x3000 sgl_err 0x0 last_param 0x2800 last_seq_cnt 0x0 tot_bytes_exp 0x8000 h_seq_cnt 0x5 exch_type 0x0 s_id 0xab800 d_id 0xab800 host_tag 0x377

相关信息

- Cisco UCS fnic可调

- 将LIBfc与VMware和Cisco VIC结合使用来排除启动器/目标通信故障

- SAN拥塞！了解、排除故障、缓解思科交换矩阵

- 技术支持和文档 - Cisco Systems