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

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

Jan 27, 2017

Download

Technology

Brocade
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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環境におけるパフォーマンストラブルの対処法

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