目錄

簡介

什麼是中止？

FNIC在堆疊中的位置？

FNIC是否因FNIC驅動程式而中止？

什麼會導致FC中止？

此中止消息表示在日誌中發現了什麼？

中止和FCPIO不相符訊息之間的區別是什麼？

相關資訊

簡介

本檔案將說明什麼是光纖通道網路介面卡(FNIC)中止，並提供常見問題(FAQ)的答案。

什麼是中止？

光纖通道(FC)無法恢復丟棄或損壞的幀。當交換器發生問題時，會傳送Abort(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時間，在vmhba2上為帶有主機作業系統SCSI標籤0xc8的LUN 0xa00上的FCID 0x50a00呼叫中止。

LUN ID 0xA 轉換為十進位制，確定LUN ID 10是作業系統嘗試與陣列上的LUN進行通訊。

標籤 0xc8 是請求的主機scsi層的IO標籤，可用於與VIC介面卡上的日誌條目匹配。

裝置例項2可以使用fnic-tracetool -i匹配vmware vmhba編號

/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

- 序列號=> 0x0

- rx_id => 0

狀態

- 狀態3 = write命令

- 狀態1 = read命令

交換類型(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

交換狀態值(s_stat):

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

0x00未收到任何幀

0x01至少收到一個幀

0x02序列仍處於活動狀態

0x04序列已完成

0x08傳輸序列初始化

0x10輸出序列處於活動狀態

0x20 rsp fr和主機條目已傳送

0x40交換資料序列掛起

中止和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光纖可調諧器

- 將LIBfc與VMware和Cisco VIC結合使用，對啟動器/目標通訊進行故障排除

- SAN擁塞！瞭解、故障排除、緩解思科交換矩陣

- 技術支援與文件 - Cisco Systems