STIOのデコード方法:ハングしたcmdが検出されました
環境
- ONTAP 9以降
- ONTAP 8.3.x
- ONTAP 8.2 7-Mode
回答
STIO
(SCSITarget I/O)メッセージは、SCSIプロトコルレベルのエラーであり、ルート原因でSCSI関連の問題が発生していないかどうかを確認、解釈、診断するために使用されます。- 処理中にFCターゲットアダプタでSCSIコマンドエラーが発生すると、そのアダプタは EMS /メッセージに記録されます。
STIO
メッセージには異なる意味があり、コマンドがハングしたチェック状態の「状態」に基づいてデコードすることができます。
EMSログノレイ
STATE 5 : Mon Apr 18 00:37:03 EDT [controller1: fct_tpd_thread_6: fcp.io.status:debug]: STIO Adapter:0a, found hung cmd:0xffffff0200ef83a0(state=5, flags=0x0, ctio_sent=1/1,RecvExAddr=0x127524, OX_ID=0x43xx, RX_ID=0xffff,SID=0x10axx, Cmd[2A])
STATE 8: Tue Aug 16 11:33:01 MST [controller2: fct_tpd_thread_2: fcp.io.status:debug]: STIO Adapter:0f, found hung cmd:0xffffff02023592b0(state=8, flags=0x1, ctio_sent=0/1,RecvExAddr=0x1222b0, OX_ID=0x5dxx, RX_ID=0xffff,SID=0x400xx, Cmd[88])
上記のように、各状態には異なる意味があり、以下の表でデコードすることができます。
状態: | 理由 |
1 | FREE |
2 | PREPROCESS |
3 | SCSITCB_WAIT |
4 | DATAIN_SENT |
5 | DATAOUT_WAIT |
6 | DATAOUT_RCVD,STIO |
7 | RESP_SENT |
8 | DATAINRESP_SENT |
9 | DATAINRESP_CMPL |
10 | TERMINATE_WAIT |
11 | SCSITMF_WAIT |
12 | LAST |
13 | t |
上記の表を使用して、FC targetコマンドによって問題が発生した場所を診断できます。
たとえば、各状態に小さなコンテキストを追加します。
state=5: DATAOUT_WAIT
これは、FCターゲットが書き込み要求を受け入れたあとにホストからの何かの復帰を待機していたにもかかわらず、想定タイムアウト値の範囲内には何も戻らなかったことを示しています。
state=8: DATAINRESP_SENT
これは、FCターゲットが読み取り要求を受け入れたあとにホストから何かが戻るのを待っているにもかかわらず、想定されるタイムアウト値内にペイロードを受信しなかったことを示しています。
追加情報
AdditionalInformation_text