fchosts3 コマンド( supportData コレクションの一部)を使用してフロントエンド SAN の問題をトラブルシューティングする方法
のとう
のとう
に適用されます
Fibre Channel
説明
はじめに
この資料fcHosts 3
では、受信した不良 FC フレームが多すぎる場合に、フロントエンド SAN でシェルコマンドを使用して不良コンポーネントを検出する方法について説明します。このような場合、コントローラは次のいずれかのイベントをメジャーイベントログ( MEL )に記録します。
0x1207 Fibre channel link errors - threshold exceeded
or
0x1206 Fibre channel link errors continue
しきい値は、オフセット 0x38 の NVSRAM で定義されます。経験則では、上記のイベントがイベントログに記録されている場合は、影響を受けるサーバにも影響があるため、問題を調査する必要があります。
概要
fcHosts 3
シェルコマンドは非常に古いものですが、便利なコマンドです。statecapturedata.txt
FC ホスト接続が検出された場合は、 SupportData コレクション(でキャプチャ)に含まれます。- 出力には、 FC HBA と HBA が記録されているコントローラポート間の通信履歴が表示されます。
- 表示されるイベントの最大数は 50 です。
- コマンドの欠点は、出力には日付ではなく時刻だけが表示されることです。そのため、イベントが発生してから数日前に発生している可能性があります。ただし、問題が発生した場合は、通常、多数のイベントが短期間でログに記録されます。ほとんどの場合、サポートデータが取得された現在の日から記録されます。
例:
次に、表示される情報の例を示します。
Executing fcHosts(3,0,0,0,0,0,0,0,0,0) on controller A:
<-snip->
=============== HOST 10 =====================
Hst-Role(Ch) PortId PortWwn NodeWwn DstNPort CmdRecv Label
10-Host( 2) 0e0000 10008c7c-ff2057ba 20008c7c-ff2057ba 0eaabf80 195719 SRV-MDC2-HBA-P0
PERMITS: 0x00000008 HsdPort
FLAGS: 0x00001406 Plogi Prli LoginRcvd Analyze
LastActivity: 11/19/13-17:15:47 (GMT)
HOST LOG==> logCtl:0eab1540 logIndex: 5 goodIoCount:88836
dstNPort:0eaabf80 maxIndex: 50 logIoCount:1
RepeatCounts -- IO Types
(R=read,W=write,O=other,N=nonScsi)
Num Time LogCode Qualifier LogCode GoodIo Outstand
Cnt Type Cnt Type Cnt Type
1 11:58:40 First 00000000 1 ---- >100K RWO- 1 ----
2 13:45:47 RscnRecv 000e0000 1 ---- 1 ---- 1 ----
3 13:45:47 Logout RscnMis 1 ---- 1 ---- 1 ----
4 13:49:51 Login ff2057ba 1 ---- <100 R--- 1 ----
5 13:49:51 ChkCond 06290400 <10 R--- <100 R--- 1 R---
6 13:49:51 RscnRecv 000e0000 1 ---- <100K RWO- 1 ----
説明
10-Host
: 10 は、同じコントローラの tditnall 出力の ITN 番号と同じですCh(X)
:2 は HBA がログインされているチャネル ( ホストポート ) です。fcAll/chall を使用して、ホストポートを特定しますPortId
0e0000 は、 HBA が接続されているスイッチポートの 24 ビットアドレスですPortWwn
:10008c7c-ff2057ba は、 HBA の FC ポート WWN ですNodeWwn
: 20008c7c-ff2057ba は 、 HBA の FC ノード WWN ですCmdRecv
195719 に ' この HBA から受信した SCSI コマンドの数を示しますLabel
: SRV-MDC2-HBA-P0 は、 SANtricity で定義されている HBA のエイリアスですTime
: イベントが発生した時刻 ( 日付がありません ) 。LogCode
: 発生したイベントQualifier
: チェック条件 (ChkCond) の場合にイベントを修飾しますこれはセンスデータですLogCodeCnt
: この logCode イベントの連続した発生回数GoodIo Cnt
: 最初の発生後に正常なステータスで返された IOS の数Outst. Cnt
: 最初の発生がログに記録されたときの未処理の IO の数
上記の例からは、次のようになります。
WWPN 10008C7C-FF2057BA を持つ HBA は、 FC スイッチポート 0x0E0000 に接続されています。チャネル 2 を介してコントローラに接続さfcAll/chall
れている(実際のホストポートを見つけるために使用)。ユーザーが SANtricity のホストマッピングセクションで HBA にエイリアス SRV-MDC2-HBA-P0 を割り当てました。履歴から、 HBA が 問題なく複数の IOS を最初 に送信した(キャプチャ開始時の)ことを確認し、 FC ポートのログアウトとログイン後に再スキャンを送信することができます。コントローラは、「デバイス内部リセット」にデコードされる Sense Key 06 ASC29 ASCQ04 を使用して、ログアウト / ログインを確認しました。次に HBA から再スキャンが送信されました。全体的に、 HBA とコントローラ間の通信の問題は示されません。ログイン / ログアウトは、通常は問題ではありません。
ログコードと資格のリスト
ログコード:
AbtsRecv
= セッションの中断を受信しました (パスの問題を示しています)ChkCond
= コントローラが SCSI チェック条件(センスデータ)を HBA に送信します (詳細については、修飾子を参照してください)First
= キャプチャの開始GoodIo
= HBA が良好な IO を送信していますLogin
= HBA はコントローラへのポートログインを行いましたLogout
= HBA がコントローラからログアウトしましたLinkDown
= HBA への接続が停止していますQfull
= キューがいっぱいですResvCon
= コントローラが HBA に対してリザベーションの競合を返しました(クラスタ構成では正常な場合があります)。RscnRecv
= HBA は再スキャンを送信しますScsiStat
= 他の SCSI ステータスが発生しました
修飾子(最も一般的なもののみ)
Count
= count (低レベル FC エラー)パスの問題の兆候)Discnct
= 切断しますFreezeTO
= フリーズタイムアウトLogo
= ログアウトObserved
= 観察されたイベントReplyTO
= リプレイタイムアウト(パス問題の表示)RscnMis
= デバイスが見つからない場合は再スキャンします
次に、 HBA がコントローラと通信する際の問題の例を 2 つ示します。
RepeatCounts -- IO Types (R=read,W=write,O=other,N=nonScsi) Num Time LogCode Qualifier LogCode GoodIo Outstand Cnt Type Cnt Type Cnt Type42 15:20:40 GoodIo 00000000 1 ---- <100 -W-- 1 -W-- 43 15:21:16 SetError ReplyTO 1 -W-- <100 -W-- 1 -W-- 44 15:21:21 ChkCond 0b470000 <5 -W-- <100 -W-- <5 -W-- 45 15:21:26 SetError ReplyTO 1 -W-- <10 RW-- 1 -W-- 46 15:21:28 ChkCond 0b470000 <5 -W-- <100 -W-- 1 -W-- 47 15:22:36 AbtsRecv 00000000 1 -W-- <1K RW-- 1 -W-- 48 15:22:42 ChkCond 0b470000 <10 -W-- <1K RW-- 1 -W-- 49 15:23:11 GoodIo 00000000 1 ---- <10 -W-- 1 -W-- 50 15:23:12 ChkCond 0b470000 <10 -W-- <1K RW-- 1 -W--
The sense 0b/47/00 decodes to "SCSI Parity Error". In a FC work this means that the the controller received a FC frame with incorrect CRC.
および
42 17:13:11 SetError ReplyTO <5 -W-- <1K -W-- <5 -W-- 43 17:13:14 GoodIo 00000000 1 ---- <1K -W-- <10 -W-- 44 17:13:14 SetError ReplyTO <5 -W-- <1K -W-- <5 -W-- 45 17:13:16 GoodIo 00000000 1 ---- <1K -W-- <5 -W-- 46 17:13:19 SetError ReplyTO 1 -W-- <100K RW-- 1 -W-- 47 17:13:55 SetError Count <5 -W-- <1K -W-- 1 -W-- 48 17:13:56 GoodIo 00000000 1 ---- <1K -W-- <5 -W-- 49 17:14:05 SetError ReplyTO <5 -W-- <100 R--- <5 -W-- 50 17:14:12 GoodIo 00000000 1 ---- <100K RW-- 1 R---
メモ:上記のエラーが多い HBA がある場合、 HBA に障害があることを自動的に示すわけではありません。これは、 FC フレームが破損しているか、この HBA とコントローラの間のどこかでドロップされていることを意味します。問題の原因となっている可能性があるのは、 HBA が不良であることだけです。