fc san fabric環境におけるパフォーマンストラブルの対処法

24
FC SAN Fabric環境におけるパ フォーマンストラブルの対処法

Upload: brocade

Post on 27-Jan-2017

252 views

Category:

Technology


44 download

TRANSCRIPT

Page 1: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

FC SAN Fabric環境におけるパフォーマンストラブルの対処法

Page 2: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

目次

• SAN環境のトラブルシュート

• FCのフロー制御の仕組みとパフォーマンス障害のアプローチ

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 2

Page 3: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

SAN環境のトラブルシュート

© 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. INTERNAL USE ONLY3

Page 4: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

HBA

Driver

MPIO/devmapper

Filesystem/Apps

トラブルシューティングの基礎SANスイッチ、サーバ、ストレージ、アプリ全体でアプローチ

• 時刻同期はトラブル早期解決の第一歩

‒ トラブルの被疑箇所は多岐にわたるため、各種ログの比較検討が重要

‒ 障害発生当時のログを付き合わせはタイムスタンプが基準

• サーバ・ストレージ・SANスイッチそれぞれで時間差があるとログ比較が難しい

• NTP等で機器間の時差をなくしておくべき

• 適切な情報収集と事象の明確化

‒ 何も知らない第三者(ベンダー等)へ的確に問題を伝え、情報を提供すること

• 事象は何か?(いつ、何が、どうした、再現性、etc)

• 運用環境の情報

• 障害時のログ

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 4

App ログ、

Kernelメッセージ

SAN スイッチRAS ログ

ストレージ各種ログ

Page 5: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

情報の収集SANで起こり得る問題とSANスイッチにおける調査内容

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 5

問題の種類 調査事項 ツール

エンドデバイス接続(デバイス認識不可)

•Link, login•Fabric (ゾーニング、セキュリティ)

•End-to-End デバイス接続

•Switch LED•Switch コマンド•エンドデバイスのパラメータ

スイッチ接続(ファブリック構成)

•可用性がないLink

•不正なゾーニング、ACL、VF設定•不正なスイッチパラメータ

•Switch LED•製品情報•Switch コマンド•Web、GUIモニタリング機能、管理ソフトツール

パフォーマンス(I/Oが遅い)

•BBクレジットの状況•トラフィック量

•Switch コマンド•管理ソフトツール

ファームウェア保守•ネットワーク接続•FTPパラメータ•スイッチパラメータ

•ホスト側のツール、FTPパラメータの調査•スイッチのFTPパラメータの確認

セキュリティ(スイッチアクセス)

•ネットワーク接続•Switch認証、設定パラメータ

•ホスト側のツール•Switchのネットワークパラメータ、ユーザー認証

本資料ではパフォーマンス問題を取り上げます

Page 6: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

supportSave の取得どんなトラブルでも、とりあえず取得しておきたい情報群

• supportSave

‒ ベンダーサポートが解析に必要な情報を取得

• RASlog, TRACE, supportShow, Core file, FFDC data等を一つのコマンドで取得

• supportSaveはadmin権限のあるアカウントで実施

• supportFtpコマンドで事前にFTP/SCPサーバ・アカウントを設定しておくと便利

‒ supportSave実行時にサーバ情報の入力を省略可能 “supportsave –c –n” で一発取得

‒ trace dumpの自動保存

• 各種テキスト・バイナリファイルが大量に生成される(50ファイル以上)

‒ 一つのファイルにまとめてベンダーへ提出

‒ コマンド実行結果も出力される(*.txt.gzで保存)

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 6

FFDC : First Failure Data Capture

取得結果の一部

Page 7: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

errShow / errDump コマンドRAS Logを表示するコマンド

• スイッチに保存されているエラーやイベントを表示

‒ ErrShow :一画面ごとのPauseあり

‒ ErrDump :一画面ごとのPauseなし

• ログは1024エントリ分を保持し、古いものから上書きされる

‒ ログのクリアは errClear コマンド

• Message ID の詳細はFabric OS Message Reference を参照する

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 7

B6510-01:FID128:admin> errdump

Fabric OS: v7.2.1d

2015/05/12-18:24:07, [FW-1424], 4, FID 128, WARNING, B6510-01, Switch status changed from HEALTHY to MARGINAL.

2015/05/12-18:24:07, [FW-1439], 5, FID 128, WARNING, B6510-01, Switch status change contributing factor Switch

offline.

2015/05/12-18:25:08, [FW-1425], 6, FID 128, INFO, B6510-01, Switch status changed from MARGINAL to HEALTHY.

2015/05/12-18:25:20, [ZONE-1004], 7, FID 128, INFO, B6510-01, Base PID: 0x070c00, Port Index: 1, Port: 1:

enforcement changed to Session-based ARD Zoning.

2015/05/12-19:10:47, [SNMP-1005], 8, FID 128, INFO, B6510-01, SNMP configuration attribute, SNMPv3 User Name 6,

has changed from [snmpuser3] to [admin].

Message ID Severity

Page 8: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

FCのフロー制御の仕組みとパフォーマンス障害のアプローチ

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 8

Page 9: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

【参考】Ethernet のフロー制御受信側からフロー制御を要求する仕組み

• Ethernet PauseはIEEE 802.3Xで標準化されているフロー制御方法

• Pauseフレームを受信するとポート上の全トラフィック送信を一定時間停止させる

‒ 転送中のフレームは先に転送を完了させる

‒ Pauseフレーム0 (レジューム)を受信すると送信を再開する

‒ リンク上の全てのトラフィックが停止する

• Pauseフレームの受信タイミングによってはすでに送信したフレームが破棄される場合もある

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 9

送信ポート 受信ポートTransmit Frame

Receive Buffer

Pause Frame

送信停止

Transmit Frame

バッファが一杯

Page 10: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

Fibre Channelのフロー制御送信側が自立的にフロー制御し、ロスレス転送を実現する仕組み

• クレジットベース

‒ クレジットは受信ポートのバッファを監視するメカニズム

‒ ポート初期化時(FLOGI)に互いのクレジット情報を交換する(ノードースイッチ間)

‒ N個のバッファは「あなたは私にN個のフレームを送れます」ということを意味する

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 10

受信ポート送信ポート

クレジット 2

Transmit Frame Receive Buffer

クレジット 1

Transmit Frame Receive Buffer

クレジット 0

クレジット 1

クレジット 2

Transmit Frame

クレジット 1

Receive Buffer

空になった受信バッファ

クレジットが0になるまでフレームを送信

クレジットが0のときは自律的に送信を中断

受信ポートからのレスポンス(VC_RDY,R_RDY)を受け取るとクレジットカウントを増やし、送信再開

Page 11: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

FCファブリックにおけるパフォーマンス低下ファブリックの中で何が起きているか?

• リンクの障害等でデータ再送が多発している

‒トランシーバ(SFP)やケーブルの汚れ、破損、接続不良などによる送信エラーが原因

• フロー制御(トラフィック中断状態)が多発している

‒ファブリック内のバッファ枯渇によるフロー制御(停止)の多発

• ISLがあるファブリック(複数スイッチで構成されるファブリック)

• 高速デバイスと低速デバイス(高遅延)の混在環境

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 11

STOPSTOP

STOP

STOP

STOP

低速デバイスのフロー制御がISLポートのバッファ枯渇を引き起こし、ファブリック全体に波及することがある

→Slow Drain Device

Page 12: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

パフォーマンス障害のアプローチSANスイッチで確認すべきこと

• 各ポートのリンク状態

‒ CRCエラー、Encodeエラーの有無

SFP,ケーブルの汚れ、劣化、故障

• バッファクレジットの枯渇状況

‒バッファ0状態の程度、Class3フレーム破棄の程度

ファブリック構成の見直し(ISLの分散、デバイスの配置、クレジットサイズ)

• サーバ、ストレージの構成、障害有無

LUNの構成、デバイスドライバー設定、アプリケーション不具合等

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 12

Page 13: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

PortErrShowコマンド各ポートの信号レベルのエラーの有無を確認する

• 各ポートのエラーの積算総数を表示

‒ エラーの増加傾向を調べる

• エラー発生時間を特定できないので、数値の有無だけで障害かどうか判断できないことに注意

• 障害調査時にstatsClearコマンドで一度値をクリアし、エラー数の増分を調査する

‒ 主な項目の概要• frames tx/rx:転送/受信したフレームの数

• crc_err:CRCエラーのフレーム数‒ このカウンターが上昇する場合、物理層が疑われる(ケーブル、パッチパネル、SFP)

• enc_out:フレーム外で発生したエラーで、通常はプリミティブの問題を示す‒ 8Gbps FCスイッチの場合、portcfgfillwordコマンドを検討する(Gen5 FCでは自動判別のため考慮不要)

• disc_c3:(discarded class 3)保持時間を過ぎ、破棄したフレームの数

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 13

porterrshow:

frames enc crc too too bad enc disc link loss loss frjt fbsy

tx rx in err shrt long eof out c3 fail sync sig

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

0: 464k 968k 0 0 0 0 0 83 0 21 14 0 0 0

1: 626k 488k 0 0 0 0 0 101 1 27 13 0 0 0

2: 392k 75k 0 0 0 0 0 358 0 12 1 0 0 0

3: 909k 547k 0 0 0 0 0 5.0m 0 9 20 0 0 0

4: 83k 276k 0 0 0 0 0 19k 1 15 7.3k 1 0 0

5: 165k 324k 0 0 0 0 0 66 2 9 0 0 0 0

6: 0 0 0 0 0 0 0 0 0 6 0 1 0 0

Page 14: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

portStatsShowコマンドポート毎の詳細情報を表示

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 14

B6510-01:FID128:admin> portstatsshow 2

stat_wtx 119853225 4-byte words transmitted

stat_wrx 3831446267 4-byte words received

stat_ftx 11022853 Frames transmitted

途中省略

tim_txcrd_z 0 Time TX Credit Zero (2.5Us ticks)

tim_txcrd_z_vc 0- 3: 0 0 0 0

tim_txcrd_z_vc 4- 7: 0 0 0 0

tim_txcrd_z_vc 8-11: 0 0 0 0

tim_txcrd_z_vc 12-15: 0 0 0 0

er_enc_in 0 Encoding errors inside of frames

途中省略

er_rx_c3_timeout 0 Class 3 receive frames discarded due to timeout

er_tx_c3_timeout 0 Class 3 transmit frames discarded due to timeout

以下省略

バッファクレジット0の状態を2.5μ秒維持したときにカウント

スイッチのバッファに保持されているClass3フレームがタイムアウトで破棄された場合にカウント

このコマンドではポート単位の統計情報の詳細が出力されます。

パフォーマンス関連ではバッファクレジットが0の状態、すなわちフロー制御がどの程度発生しているかに着目します。

Page 15: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

portcfglongdistanceコマンド接続距離が10kmを超えるE_PortにてBBクレジットを設定するコマンド

• Extended Fabricsライセンスが必要

‒ portcfglongdistance [port] [distance_level] ….

‒ 設定できるモード(distance_level)• L0 ・・・通常のポート(デフォルト)

• LE・・・5km~10km未満のE_Port用 ライセンス不要で通常のE_Portよりも多めにBBクレジットを割り当てるときに設定

• LD・・・リンク初期化時に距離を計測し、動的にクレジットを設定。ただし、指定値(距離・バッファ数)が上限値。ポート帯域のオートネゴシエーションでは最大帯域でクレジット数を設定するため、狭帯域の場合は帯域速度を固定設定にする。

• LS・・・指定値(距離・バッファ数)に応じて静的にクレジットを設定。ポート帯域のオートネゴシエーションでは最大帯域でクレジット数を設定するため、狭帯域の場合は帯域速度を固定設定にする。

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 15

admin> portcfglongdistance 3 LS

Please enter the vc translation link init -- 1

Please enter the option "distance" or "buffers" : distance

Please enter the value : 100

Do you want to configure frame size [y/n]: n

Reserved Buffers = 806

Warning: port (3) may be reserving more credits depending on port speed.

Page 16: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

portBufferShowコマンドバッファクレジットの状態確認

• 各ポートのバッファクレジットの割り当て状況を確認するコマンド

© 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. 16

admin> portbuffershow

User Port Lx Max/Resv Avg Buffer Usage & FrameSize Buffer Needed Link Remaining

Port Type Mode Buffers Tx Rx Usage Buffers Distance Buffers

---- ---- ---- ------- ---------------------------- ------ ------- --------- ----------

0 E - 8 - ( - ) - ( - ) 26 26 <2km

1 F - 8 - ( - ) - ( - ) 8 - -

2 F - 8 - ( - ) - ( - ) 8 - -

3 E - 8 - ( - ) - ( - ) 34 34 <2km

途中省略47 - 8 - ( - ) - ( - ) 0 - - 7668

事前に割り当てられているバッファ数 現在使用中のバッファ数

Page 17: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

portCfgEportCredits / portCfgFportBuffersE-Port,F-Portに任意のバッファクレジットを割り当てる

• 10km以下の接続環境でもバッファクレジットを増やすことが可能

‒ E-Portは portcfgeportcredits コマンドを使う(FOS7.2から追加された機能)

‒ F-Portは portcfgfportbuffers コマンドを使う

‒ ライセンス不要

© 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. 17

admin> portcfgeportcredits --enable 3 30

Success.

admin> portcfgfportbuffers --enable 2 30

Success.

admin> portbuffershow

User Port Lx Max/Resv Avg Buffer Usage & FrameSize Buffer Needed Link Remaining

Port Type Mode Buffers Tx Rx Usage Buffers Distance Buffers

---- ---- ---- ------- ---------------------------- ------ ------- --------- ----------

0 E - 8 - ( 84) - ( 76) 26 26 <2km

1 F - 8 - ( - ) - ( - ) 8 - -

2 F - 30 - ( - ) - ( - ) 30 - -

3 E - 126 1( 124) 1( 108) 134 134 3km

4 - 8 - ( - ) - ( - ) 0 - -

Port3 E-Portのバッファクレジットを設定

Port2 F-Portのバッファクレジットを設定

E-PortのVC2,3,4,5にそれぞれ30ずつバッファを追加、予約分の2バッファ減らしている

Page 18: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

パフォーマンス低下の検知Bottleneck detection (FabricOS 6.3~7.3)

• Slow Drain

‒ 世代混在のFCファブリック(スピードが異なる)場合、顕在化することがある

• バッファクレジット型のフロー制御をするすべてのリンクレイヤが持つ課題

• Bottleneck Monitor

‒ Bottleneckmonコマンドを使うと、F_PortやE_Portの遅延や輻輳のボトルネックを検出できる

‒ Slow drain deviceはポートのegressで検出

‒ ライセンス不要

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 18

switch:admin> bottleneckmon --enable –alert

switch:admin> bottleneckmon --config –alert -cthresh .8 -time 240 1-15

switch:admin> bottleneckmon --show -interval 5 -span 30 2/4

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

Wed Jan 13 18:54:35 UTC 2010

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

Percentage of

From To affected secs

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

Jan 13 18:54:05 Jan 13 18:54:10 20.00%

Jan 13 18:54:10 Jan 13 18:54:15 60.00%

Jan 13 18:54:15 Jan 13 18:54:20 0.00%

Jan 13 18:54:20 Jan 13 18:54:25 0.00%

Jan 13 18:54:25 Jan 13 18:54:30 40.00%

Jan 13 18:54:30 Jan 13 18:54:35 80.00%

Page 19: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

パフォーマンス低下の検知Fabric Performance Impact (FPI) Monitoring (FabricOS7.4以降)

• F_PortにおけるLatency Bottleneckをモニタリング

‒ I/O停止 (disruption): IO_PERF_IMPACT

• フレームのタイムアウトもしくはAbort

‒ I/Oフレーム・ロス: IO_FRAME_LOSS

• “Slow drain”デバイスからのバック・プレッシャ

‒ RASLOGメッセージを生成

‒ Latency Bottleneckの可視性を向上

‒ “Fabric Performance Impact”カテゴリー (新規)

• Bottleneck Detection (BD)に比べてシンプルな設定

‒ MAPS内に事前定義のポリシー/ルール

• FPIモニタリングの有効化 (CLI)

‒ mapsconfig --enableFPImonコマンド

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 19

Page 20: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

【参考】Virtual Channel アーキテクチャQoS Enable/DisableによるVirtual Channelの構成

• Brocade ISLは内部的にVirtual Channelという経路を使用し、データ送受信

‒ 仮想チャネルによってISL上のフレーム転送をインターリーブし、ノンブロッキング転送を実現

‒ FOSは、R_RDYの代わりにFC-SW5 Fibre Channel standards VC_RDY buffer credit flow control modeを使用

• QoSの設定によりVirtual Channel構成が変更される

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 20

VC# Assigned to

0 Class F 通信

1 Class2 Ack/Link Control

2 Data

3 Data

4 Data

5 Data

6 Class 3 Broadcast

7 Broadcast / Multicast

VC# Assigned to % Bandwidth

0 Class F 通信

1Class2 Ack/Link Control

2 Medium Priority QoS

30%(変更可)3 Medium Priority QoS

4 Medium Priority QoS

5 Medium Priority QoS

6 Class 3 Broadcast

7 Broadcast / Multicast

8 Low Priority QoS10%(変更可)

9 Low Priority QoS

10 High Priority QoS

60%(変更可)

11 High Priority QoS

12 High Priority QoS

13 High Priority QoS

14 High Priority QoS

15

QoS Disable (Default)

QoS Enable (Optional)

Page 21: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

Port Level Credit Recovery長距離接続時の自律回復機能(ポート単位)

• 長距離接続のE-Portにてバッファクレジットやフレームロストを検知し、自律回復する機能

‒ 長距離E-Port のみサポート

• LE,LD,LSモードのみ (EX,VE,VEXは未サポート)

‒ R_RDYサポート

‒ バッファクレジットかフレームのロストを検知したときに、Link Resetを行いリンクを復旧

‒ portlogdumpにLR2イベントとして記録されるほか、RASlogにエラーメッセージとして記載

© 2015 BROCADE COMMUNICATIONS SYSTEMS, INC. 21

長距離接続リンク

フレームとBBクレジットのロスを監視

Page 22: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

VCレベルのクレジット・ロス検知・回復パフォーマンス劣化を自律回復

• VC単位のクレジットロス検知・回復

‒ ISL/IFL(Inter Fabric Link)でサポート(長距離接続を含む)

• Gen5以降の製品で対応、Port Level Credit Recoveryを発展させた機能

• 1クレジットのロスはオンラインのまま自動回復

• 複数クレジットのロスはリンクリセットにより自動回復(ポート単位)

• RASLOGおよびSNMP Trapによる通知

DCX8510-8

VCレベルのクレジット・ロス検知およびリカバリ

DCX8510-8

Condor3 ISL

Page 23: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

まとめFC SAN環境でパフォーマンスが悪いと感じたときには・・・

• FCスイッチのポート統計を確認

‒リンクリセット、CRCエラー

• ケーブル・光トランシーバ(SFPモジュール)の清掃・交換を検討

‒ Credit Buffer 0の多発(フロー制御)

• 応答の悪いデバイス(Slow Drain Device)の特定・対処

• ISL経由のトラフィックを減らす

• Credit数を追加

• FC SANのパフォーマンス監視を検討

‒ Fabric Vision / Brocade Network Advisorの導入

• ストレージベンダーもしくはBrocadeへお問い合わせください

© 2016 BROCADE COMMUNICATIONS SYSTEMS, INC. 23

Page 24: FC SAN Fabric環境におけるパフォーマンストラブルの対処法

ありがとうございました。