fcスイッチゾーニング設定ガイド
TRANSCRIPT
Brocade FCスイッチ ゾーニング設定ガイド
はじめに
本資料はFabric OSが稼働するBrocade Fibre Channelスイッチのゾーニングについて理解するための参考資料として作成しています。
資料内に出てくるコマンド及び出力結果はFabric OS 7.2を元にしていますが、バージョンによっては結果が異なる場合があります。
詳細情報はFabric OS Command Reference及びAdministrator’s Guideをご参照下さい。
資料内の推奨設定はBrocadeの見解であり、各ストレージベンダーで推奨が異なっていることもあります。 サポートの観点上、ストレージベンダーの推奨に従って下さい。
Zoning 2
目次
• ゾーニングの基礎
• デフォルト ゾーニング
• ゾーン マージ
• 特殊なゾーニング
• CLIによるゾーニング手順
• WebToolsによるゾーニング手順
• Network Advisorによるゾーニング手順
• トラブルシュート他
Zoning 3
ゾーニングの基礎
Zoning 4
ゾーニングとは ファブリック内のアクセスグループを構成する機能
Zoning 5
• ゾーニング(Zoning)の目的
‒ Fabric内のNode間のアクセスを制御する機能
• 1つのFabricを論理的なアクセスグループに分割する機能
• Ethernet L2-SwitchにおけるVLAN(Virtual LAN)と似た機能
‒ セキュリティーの向上 • 他のデバイスによるストレージへのアクセスを制限することでデータの一貫
性を保証
‒ 障害伝搬範囲の低減
• RSCNやLIPの伝達範囲を、影響のあるゾーン内に制限
‒ RSCNはソフトウェア処理であるため、大規模環境では負荷が大きい
‒ 無関係なRSCNの受信を低減し、安定したデータI/Oを提供
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
zone2 zone3
zone4 zone1
ゾーニング構築の大まかな流れ
• 事前準備
‒ ファブリックの詳細構成図の作成
• 定義
‒ 命名規則の決定
• ゾーンメンバー、ゾーン定義の命名ルール
‒ メンバーの識別手段の決定
• ポート(Domain,Index)、WWPN、WWNN のどれを使ってメンバーを識別するか
‒ ゾーンオブジェクト(エイリアス、ゾーン、ゾーンコンフィグ)の作成
• ゾーン設定のレビュー
‒ CLI、Network Advisor、WebTools、SAN Healthを使用
• ゾーン設定の有効化
• ゾーンメンバー間の通信の確認
Zoning 6
ゾーンオブジェクトの階層構造
• 3つのゾーンオブジェクト
‒ Alias
• ポートやpWWN, nWWNをAlias(別名 ex: Server_1,Disk_A)で定義
• 最大64文字まで
‒ Zone
• ゾーンに所属するメンバーを記述
• 単一のゾーンに3つ以上の複数のメンバーを登録可能
• 同一メンバーは複数ゾーンに所属できる
‒ Zone configuration (もしくはzonesets)
• ファブリック内で有効化するZoneのグループ
• 複数の zone configuration (cfg) を作成できるが、有効化にできるのは一つの cfg のみ
Zoning 7
alias D,I pWWN nWWN
zone (alias1;alias2;alias3)
cfg (zone1;zone2)
ゾーニングオブジェクト定義の流れ
• エイリアスを作成
‒ WWNやPortロケーション(Domain, Port number)に分かりやすい名前を付ける
• 必須ではないが、管理が容易になるのでエイリアスの使用を推奨
‒ alicreateコマンド alicreate “server_1”,”01:23:45:67:89:ab:cd:ef”
• ゾーン定義を作成
‒ アクセスさせるメンバーをまとめたゾーン定義を作成
• メンバーの指定はエイリアスを使用
• スイッチ間接続ポート(E_Port)は指定不要
‒ zonecreateコマンド zonecreate “sample_zone”,“server_2;storage_B”
• ゾーンコンフィグレーションを作成
‒ ゾーン定義を1つ以上含んだコンフィグレーションを作成
‒ cfgcreateコマンド crgcreate “sample_cfg”,”sample_zone1;sample_zone2;sample_zone3”
Zoning 8
ゾーニング管理方法(ツール)
• ゾーニングの設定、管理は下記の手段(ツール)を使用
Zoning 9
操作方法 利点 必要機材 有償・無償
CLI コマンド ターミナルソフトのスクリプト等で大量設定が容易 ターミナルソフト 無償(標準機能)
WebTools GUI コマンドを覚える必要が無い WWN等の入力間違いが少ない
Java環境、Webブラウザ 無償(標準機能)
Brocade Network Advisor (BNA)
GUI
WebToolsの利点に加え、BNAサーバにゾーンDBを保持できる(有償版のみ) 下記の様な操作が可能 編集前後の差分比較 ゾーンDBの移行・マージ 有効ゾーンDBのロールバック ゾーンDBのエクスポート・インポート オフライン編集 ゾーニング設定のレポーティング
Windows/Linuxサーバ BNAパッケージソフト
無償版、有償版 (ソフトウェア製品) ※無償版は機能制限有 有償版は75日の試用期間有
ゾーンエイリアス 別名をつけてデバイス管理を簡単にする
• Alias(別名)はデバイスやデバイスのグループに割り当てる名前
• Aliasを作ることで、デバイスに分かりやすい名前を付けたり、複数のデバイスを一つの名前で扱うことができる
• 面倒なエントリーを簡略化したり、直感的な名前空間を作ることができる
• Zone Aliasesはゾーンオブジェクトの繰り返しの入力、たとえばPort WWNを簡略化する
• Alias指定は以下の制約を持つ
‒ 名前
• アルファベットから始まる
• 大文字、小文字を区別した英数字とアンダースコアのみ
• 最大64文字
‒ メンバー
• Domain, Index (Indexはポート番号のこと)
• Node World Wide Name
• Port World Wide Name
‒ Node WWNがゾーンオブジェクトになった場合、そのデバイスのすべてのポートがゾーンに含まれる
‒ Port WWNがゾーンオブジェクトになった場合、当該ポートだけがゾーンに含まれる
Zoning 10
ゾーン設計 1イニシエーター1ゾーンが推奨
• Zoneのメンバー
‒ Zoneに含めるメンバーは2つの方法で指定可能
• デバイスの固有名(WWN)で指定
‒ WWNゾーニング
• デバイスを接続するスイッチのポートで指定
‒ Portゾーニング
‒ スイッチ間接続ポート(ISL)はメンバーに含めない
• 推奨設計
‒ 1つのZone内には1つのイニシエータのみ指定
• イニシエータ(サーバHBA)のこと
• 複数のターゲット(ストレージ)を含んでも構わない
‒ 一つのメンバーを複数のZoneで指定可能
‒ 同一ファブリック内ではWWNかPortゾーニングで統一
• WWNゾーニング、Portゾーニングの混在も可能だが推奨しない
Zoning 11
LUN1
zone2
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
WWN1 WWN2 WWN3
LUN2 LUN3 LUN4 LUN5 LUN6
WWN4 WWN5
LUN1 LUN2 LUN3 LUN4 LUN5 LUN6
zone1 zone3
zone1: (1,0;1,10)
zone2: (1,2;1,10;1,12)
zone3: (WWN1;WWN5)
DomainID:1
Portゾーニングの定義
• Domain,Index (D,I) の形式で指定
‒ Indexとはスイッチのポート番号のこと
‒ ダイレクタではスロット毎に同じポート番号が存在する為、Indexはダイレクタ筐体全体におけるポートの通し番号
• カスケードポートはメンバーに含めない
• デバイスを入れ替えてもゾーンの変更は不要
‒ サーバHBA,ストレージコントローラの交換保守等
• デバイス接続ポート移動時にはゾーンの変更が必要
‒ FCスイッチのモデル変更、ポート保守等
以前はよく利用されていた定義方法だが、仮想環境などWWNを使うケースが増えてきた現在ではWWNゾーンが推奨。PortゾーンはFICON環境など特定用途で使用する
Zoning 12
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Domain ID:1 Domain ID:2
Storage#A
Storage#B
Server#1
Server#2
Server#3
Blue_Zone 1,10 ; 2,1 Red_Zone 1,12 ; 2,4 Green_Zone 1,14 ; 2,2
Server#1とServer#3のみがStorage#Aにアクセス可能 Server#2のみがStorage#Bにアクセス可能
WWNゾーニングの定義
• デバイスのWWNを指定
‒ pWWNとnWWNどちらでも可能
‒ pWWNを指定するのが一般的
• カスケードポートはメンバーに含めない
• 接続ポートを変更してもゾーンの変更は不要
‒ FCスイッチのモデル変更、ポート保守等
‒ 仮想サーバ(NPIV)デバイスのマイグレーション
• デバイスの入れ替え時にゾーンの変更が必要
‒ サーバHBA,ストレージコントローラの交換保守等
• ゾーンメンバ入れ替えコマンドの実装によりWWNゾーンの運用が容易になっている(FOS7.1以降)
• スイッチのポート構成に依存しないので移行が容易
Zoning 13
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Domain ID:1 Domain ID:2
Storage#A
Storage#B
Server#1
Server#2
Server#3
Blue_Zone WWN_1;WWN_A1 Red_Zone WWN_2;WWN_B Green_Zone WWN_3;WWN_A2
Server#1とServer#3のみがStorage#Aにアクセス可能 Server#2のみがStorage#Bにアクセス可能
WWN_A1
WWN_A2
WWN_B
WWN_1
WWN_2
WWN_3
ゾーンコンフィギュレーション たくさんのゾーン定義をまとめて有効化する
• Zone Configurationは、有効にしたいゾーン定義の集合体
‒ ゾーン定義は複数のzone configurationに属することができる
‒ 複数のconfigurationを用意して用途毎に使い分ける(本番用、保守用等)
‒ Zone configurationを有効にすると、zone configurationに含まれる全てのゾーンが有効となる
• Defined configuration
‒ ファブリックで定義されたすべてのゾーンオブジェクト
• Effective configuration
‒ 今有効になっているzone configuration
‒ zone configurationを有効にした時点で形成される
Zoning 14
B6510-01:FID128:admin> cfgshow Defined configuration: cfg: Smpl_cfg Zone_1 zone: zone_1 Svr_1; Stor_1 alias: Stor_1 50:0a:09:81:99:fb:8f:f9 alias: Stor_2 50:00:00:e0:da:81:38:30 alias: Svr_1 10:00:8c:7c:ff:08:f9:00 Effective configuration: cfg: Smpl_cfg zone: Zone_1 10:00:8c:7c:ff:08:f9:00 50:0a:09:81:99:fb:8f:f9
ゾーン有効化の挙動
• ゾーンを有効にするには cfgenable コマンドを使用
‒ セーブコマンドで明示しなくてもゾーン設定がFlash memoryに保存される
‒ 電源投入、再起動時にも内容は保持される
• cfgenable Cfg_EngMkt を実行
① Cfg_EngMktがEffective configurationになる
② Defined configurationがFlash Memoryに保存される
③ 有効化したゾーンコンフィグ名(“Cfg_EngMkt”)がFlash Memoryに保存される
• 指定されたzone configurationは未定義なゾーン名、ゾーンの別名、その他の一貫性に誤りが無いかを確認される
• 失敗した場合、直前の状態が維持される(ゾーンが無効か、直前に有効であったzone configurationが有効のままになる)
Zoning 15
Defined configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
Effective configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
①
Flash Memory
② ③ RAM
ゾーン無効化の挙動
• ゾーンを無効にするには cfgdisable コマンドを使用
‒ ゾーンを無効にするとDefault Zoneで指定したアクセスポリシーが適用される (All Access / No Access)
• cfgdisable Cfg_EngMkt を実行
① Effective configuration が無効化
② Defined configurationがFlash Memoryに保存される
③ Effective configuration名が”none”としてFlash Memoryに保存される
• 他のスイッチで編集中のゾーン設定(Transaction)は破棄される
‒ cfgdisableを実行するスイッチで編集中の場合はFlash Memoryに保存される
Zoning 16
Defined configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
Effective configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
①
Flash Memory
② ③ RAM
ゾーン定義消去の挙動
• ゾーン定義をクリアにするには cfgclear コマンドを使用
‒ cfgclearコマンドを使うと、Defined configurationのゾーンオブジェクトが削除される
‒ cfgdisableしていない状態(ゾーンが有効化したまま)ではcfgclearコマンドは実行できない
‒ cfgclearだけではFlash Memoryに何も保存されない
• cfgclear を実行
① Defined configuration がRAMから クリアされる
• ゾーン定義を完全にクリアし、状態を保持するためには下記の手順を実行する
1. cfgdisable
2. cfgclear
3. cfgsave
Zoning 17
Defined configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
Effective configuration
①
Flash Memory
RAM
ゾーン設定保存の挙動
• 変更したゾーン設定を保存するには cfgsave コマンドを使用
‒ 変更したゾーン設定を保存してもそれらは有効にはならない
‒ 変更した設定を有効化するにはcfgenableを実行する
• cfgsave を実行
① 編集中の内容がDefined configurationに反映
② Defined configurationがFlash Memoryに保存される
③ 有効化したゾーンコンフィグ名(“Cfg_EngMkt”)がFlash Memoryに保存される
• ゾーン設定が保存されると、Defined configurationおよびEffective configurationがファブリックのすべてのスイッチのフラッシュメモリに書き込まれる
‒ 保存された設定は、電源投入時に呼び出される
• Cfgsaveコマンドは現在のトランザクションを終了しコミットする
• Defined configurationがサポートされているゾーンデータベースのサイズを上回った場合、以下のメッセージが表示される
Commit zone DB larger than supported - <zone db size> greater than <max zone db size> Zoning 18
Defined configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
xxxx
xxxx…..
Effective configuration
Cfg_EngMkt
Zone_Eng
Zone_Mkt
①
Flash Memory
② ③ RAM
Zoning 設定における注意事項
• Zone 設定はファブリック内に伝播する
‒ どこかのスイッチで行った変更は、全てのスイッチに自動的に伝播する
• トラフィックは中断しない
• Zone 更新はトランザクション処理
‒ ファブリック内で同時に複数箇所からZone変更はしない運用が望ましい
• トランザクションの矛盾が発生する可能性(設定保存時にワーニングで通知される)
• ZoneのメンバーはデバイスのWWNもしくはポートのみ指定
‒ ISLポートは含めない(ただし、Traffic Isolation Zoning等の特殊なZoningは除く)
Zoning 19
ゾーニングの設計まとめ
• LUNマスキングをする/しないに関わらず、ファブリックでゾーニング設定は必ず実施
• メンバー指定はpWWNで統一するのがセキュリティと操作の一貫性において推奨
• エイリアスを作成するとデバイスの特定が容易
• オブジェクトの名前は判りやすく、かつ最小限の文字数にする
• 1イニシエーターにつき1ゾーニングを定義(Single Inisiator Zoning)
‒ ターゲットは複数でもよい
‒ DiskストレージとTapeストレージは別ゾーンに分ける
• default zoneはnoaccessを設定
• ゾーン設定するスイッチ
‒ (エッジスイッチよりも)コアスイッチから実施した方が良い
‒ Fabric OSのバージョンの新しいスイッチから実施した方が良い
• ゾーン情報はconfiguploadコマンドでバックアップ Zoning 20
コアスイッチ
エッジスイッチ
FOS6.x
FOS7.x (最新)
FOS7.x
Zone DBとトランザクション
• ゾーン情報は、スイッチ内でデータベース (Zoning DB)として保持されている
‒ cfgsizeコマンドでDBサイズを確認
• v2.6.x,v3.1.xは96KB、v3.0.x, v4.0~4.2.xは128KB、v3.2.x, v4.4.x, v5.0~5.1.xは256KB
• v5.2x以降,v6.x以降は1MB
‒ 複数のスイッチで構成されるファブリックのゾーンDBの最大値はDBサイズの小さいFOSバージョンに合わせる
• ゾーンオブジェクトの作成・編集は、「トランザクション」として管理される
• 以下のコマンド実行時にトランザクションは「コミット」される
‒ cfgenable/cfgdisable、cfgsave
• コミット時にリモートスイッチとZoning DBを同期
‒ cfgtransshowコマンド
• トランザクションIDと中止 (abort)可能かどうかを表示
‒ cfgtransabortコマンド
• トランザクションを中止 (abort) = 「ロールバック」
Zoning 21
エイリアス (alias) 作成
ゾーン (zone) 作成
コンフィグ (zone config) 作成
コンフィグ有効 (cfgenable)
トランザクションのコミット
トランザクションのロールバック
(cfgtransabort)
FOSv7.0.0と6.xの混在時の考慮点
• FOS v7.0.0が稼働するスイッチとv6.x以前のバージョンで稼働するスイッチが混在する環境においてはパッチが適応されたバージョンへアップグレードしておくこと
‒ パッチ未適応の場合、128KB以上のゾーンサイズを各スイッチに展開することが出来ない
‒ 以前存在したXPATH OS 7.0とリリース名が同じ7.0になってしまうため
• XPATH OSとはAP7420 FC Routing装置で稼働していたOS
‒ FOS v7.0.0のみ該当する不具合
‒ 各バージョンのリリースノートを参照
Zoning 22
メジャーバージョン パッチ適応バージョン
6.2 6.2.2d以降
6.3 6.3.2a以降
6.4 6.4.1以降
ゾーニングの実装方法 Brocade スイッチはASICによるHardware Enforced
• ゾーニングの実装方法
‒ Frame based hardware Enforcement
• ASICが送信先ポートをチェックし、ゾーン定義されていない場合はフレームを破棄
• Brocadeの推奨
• Portゾーニング、WWNゾーニング、PortゾーニングとWWNゾーニングが重なっていない状態
‒ Session based hardware Enforcement • PLOGI (+ADISC/PDISC)セッションによる実装
• Name Serverの情報を元にPLOGIセッションでアクセス制御
• Mixedゾーニング、PortゾーニングとWWNゾーニングが重なっている状態
• 同一ファブリック内ではWWNかポートどちらかに統一
Zoning 23
ゾーニングの構成 名称
ポート(D,P)のみ Portゾーニング
pWWNのみ WWNゾーニング
ポートとpWWN Mixedゾーニング
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
WWN1
Domain 2
(2,0)
Mixed Zoning
Session Enforced
WWN2 WWN3
WWN Zoning
Frame Enforced
(2,9) (2,8)
Port Zoning
Frame Enforced
WWN4 WWN5 (2,14) (2,15)
WWN Zoning
Frame Enforced
Port Zoning
Frame Enforced
portzoneshowコマンドで実装方法を確認可能
Switch:FID128:admin> portzoneshow PORT: 0 (0) E-Port PORT: 1 (1) F-Port Enforcement: SESSION BASED HARD defaultHard: 0 IFID: 0x43020005 PORT: 2 (2) F-Port Enforcement: HARD WWN defaultHard: 0 IFID: 0x43020002 Session Enforced
デフォルト ゾーニング
Zoning 24
Default Zoning
• Default Zoneは、「zoningが無効になっている場合」のデバイスアクセスを制御するポリシー
• defzone –allaccess により、全てのデバイスがアクセス可能
• defzone –noaccess により、全てのデバイスで通信不可
• Default zoneはユーザーが定義したゾーン設定が無効な場合に効力を持つ
• Default zoneの機能はファブリック単位で設定により有効・無効にできる
‒ Default zoneはFC-GS (Fibre Channel – Generic Service) 標準に基づく
• defzoneコマンドはdefault zoneの設定と現在の設定の表示を行う
• Default zoneの設定はzoningのトランザクションバッファに保存される
‒ 通常、cfgsaveによりcommitされる
‒ Cfgenableあるいはcfgdisableもcfgsaveと同様にcommitを暗黙的に行う
‒ Cfgtransabortコマンドにより、defzoneコマンドの結果もアボートできる
Zoning 25
Default Zoning 設定例
Zoning 26
B6510-01:FID128:admin> defzone --show Default Zone Access Mode committed - All Access transaction - No Transaction B6510-01:FID128:admin> defzone --noaccess You are about to set the Default Zone access mode to No Access Do you want to set the Default Zone access mode to No Access ? (yes, y, no, n): [no] y B6510-01:FID128:admin> defzone --show Default Zone Access Mode committed - All Access transaction - No Access B6510-01:FID128:admin> cfgsave You are about to save the Defined zoning configuration. This action will only save the changes on Defined configuration. Do you want to save the Defined zoning configuration only? (yes, y, no, n): [no] y Updating flash ... B6510-01:FID128:admin> defzone --show Default Zone Access Mode committed - No Access transaction - No Transaction
現在の設定を表示
アクセス禁止(no access)に変更
設定の保存
Default Zoning有効化
Zoning 27
B6510-01:FID128:admin> cfgshow Defined configuration: cfg: smpl_cfg 途中省略 alias: svr_0 10:00:8c:7c:ff:08:f9:00 Effective configuration: cfg: smpl_cfg zone: smpl_zone 50:0a:09:81:99:fb:8f:f9 B6510-01:FID128:admin> cfgdisable 途中省略 Effective configuration is empty. "No Access" default zone mode is ON. B6510-01:FID128:admin> cfgshow Defined configuration: 途中省略 Effective configuration: No Effective configuration: (No Access)
ゾーン定義・状態の表示
稼働中のゾーン設定を停止
ユーザーが定義したゾーン設定が有効になっている
有効になっているゾーン設定は無いが、default zoneで設定したNo Accessの状態になっている
Default Zone “noaccess”時のゾーンマージ
Zoning 28
SW1 (既存側) SW2(追加側) FOS7.0以前の挙動
FOS7.0以降の挙動
備 考 Defzone状態 Zone設定 Defzone状態 Zone設定
No Access Zone Config No Access Empty Zone conflict Fabric 形成 Zone ConfigがSW2へマージ
No Access Empty No Access Zone config Zone conflict Fabric 形成 Zone ConfigがSW1へマージ
All Access Zone Config No Access Empty Zone conflict Zone conflict
無停止でコンフリクトを解決するためにはDefzone を変更する • SW1でNo Access (もしくは) • SW2でAll Access
No Access Empty All Access Zone config Zone conflict Zone conflict
無停止でコンフリクトを解決するためにはDefzone を変更する • SW1でAll Access (もしくは) • SW2でNo Access
スイッチ同士のDefault Zoneの設定が異なった場合、FOS7.0以前と以降ではファブリックマージの挙動が異なる
ゾーン マージ
Zoning 29
ファブリックへスイッチ追加する
• スイッチが保持するゾーン情報がそれぞれ異なっている場合、正しくカスケード接続ができず、ファブリックのマージに失敗する
• ゾーンが有効になっているファブリックにスイッチを追加する場合は下記の手順で行う
1. 追加するスイッチにゾーン設定が無いことを確認
• cfgdisable;cfgclear;cfgsaveを実行してクリアする
2. デフォルトゾーニングの設定を既存ファブリックと合わせておく
3. 既存ファブリックに追加スイッチを接続
4. 既存ファブリックからDefined/Effective configurationが追加スイッチへ伝播する
Zoning 30
ゾーンが有効なファブリックのマージ
Zoning 31
エラーメッセージ 記述内容
Configuration mismatch 二つのファブリックでゾーニングが有効になっていて、互いのEffective configurationが異なる場合。
Type mismatch
同じ名前のオブジェクトが他方のゾーニング設定で違うタイプになっている場合に発生。
例:Fabric A: alias: Mkt_Host 1,16
Fabric B: zone: Mkt_Host 1,16
Content mismatch
互いのファブリックでオブジェクト名やタイプが同じでも、設定内容が異なったり、順番が違っている場合に発生。
例:Fabric A: alias: Eng_Stor wwn2; wwn1
Fabric B: alias: Eng_Stor wwn1; wwn2
スイッチ(ファブリック)をマージする場合、それぞれでゾーン設定を保持、有効化していた場合、zoning conflict による segmentation状態になる。マージするためにはゾーンオブジェクトを完全に同じ状態にしなければならない。
Network Advisorによるゾーンマージ BNAゾーンデータベース編集機能の活用
• Brocade Network Advisor (BNA)では複数のファブリックのゾーンデータベースを保持することができる
‒ 保持したゾーンデータベースは比較、編集が可能
‒ 二つのゾーンデータベースをマージし、新たなゾーンデータベースをスイッチへ展開することでファブリックマージする際のゾーンデータベース不整合を回避できる
Zoning 32
特殊なゾーニング
Zoning 33
ゾーニングの種類 トラフィックを制御する特別なゾーニング
• Brocade FC Switchではデバイスのアクセス制御に定義するゾーニング(Normal zone)の他にもトラフィックを制御する用途のゾーニングがある
‒ LSAN zone
• 独立したファブリック間をルーティングする論理SANを構成する
‒ Traffic Isolation zone (TI zone)
• 静的にISL経路を指定する
‒ QoS zone
• 特定のホストとターゲットの間のトラフィックに優先度を設定
※本資料はNormal zoneの説明を目的とする為、本章では他のゾーニングに関して紹介のみとする
Zoning 34
LSAN Zone 異なるファブリックのデバイス間で通信
• LSAN (Logical SAN)ゾーン
‒ 異なるセグメント間(ファブリック間)のデバイス同士の通信を実現する
• LANでいうL3ルーティングの様なもの
• pWWNゾーン定義することで通信を実現する (要Integrated Routing ライセンス)
‒ 定義方法は通常のゾーンと同じだが、ゾーン定義名を”lsan_”で始まる文字列にする(大文字可)
• 利用例
‒ 離隔地間のファブリックをマージせずに通信する災対ソリューション
‒ 管理運用上(別システム、別組織など)ファブリックをマージさせない統合バックアップ
Zoning 35
Backup
DataBase
Traffic Isolation Zone (TI Zone) 静的な経路指定手段
• ファブリック上に専用の経路を設定
‒ 通常のゾーン定義とは別定義
• 専用のzoneコマンドで指定
‒ 他のアプリケーションによる帯域消費の影響を防ぐ
‒ アプリケーションが必要とする帯域を確保する
‒ FCルーティング経路(LSAN)にも適応可能
‒ Fabric OS 6.0以降が動作する全ての製品でサポート
‒ オプションライセンスは不要
• 適用例
‒ Backup専用パス (赤)
‒ 専用のTrunkingやISL (E_Port)を指定し、経路を確保
‒ DataBase: TIゾーンの設定無し (黒)
‒ Backup用以外の経路を使用
Zoning 36
Traffic Isolation専用のゾーン定義(TI Zone)を指定すると
特定のノード間通信で使用するISLを明示的に指定できる。
Traffic Isolation (続き)
• 導入における注意点等
‒ TI ZoneはDefined Configにのみ現れ、Effective Configには現れない
‒ TI ZoneにはE_PortおよびN_Portを必ず含める
‒ NL_Portはサポートしない
‒ {Domain, Index (≒port)}で設定
‒ Backboneファブリック (FC Routing環境)でTI Zoneを設定する場合は、ポート以外にinitiator/targetをpWWNで指定
‒ TI Zoneの設定はCLIのみ (Web Toolsは不可)
‒ TI ZoneはRouting情報は変更しない
• サポート構成
‒ Fabric OS 6.0以上
‒ EX/VEX_PortはFabric OS 6.1でサポート
• Failover mode
‒ Enable: TI Zone内の最後のISLがオフライン時、同一コストの他のISLへフェールオーバー
‒ Disable: TI Zone内の最後のISLがオフライン時、他のISLへフェールオーバーしない
Zoning 37
QoS Zone トラフィックに優先順位を決めてQoSを実現
• QoS Zone
‒ FCトラフィックの優先順位を指定するゾーニング
‒ 通常のゾーニングとして定義する
• ゾーン定義名は”QOSH_”, “QOSL_”から始まる文字列にする
• ゾーンメンバーはWWNで指定する
‒ Fabric OS7.2.0以降は標準機能
• FOS7.2以前はAdaptive Networkingライセンス必要
Zoning 38
CLIによるゾーニング手順
Zoning 39
Zoning関係コマンド
Zoning 40
Create
オブジェクト作成
Delete
オブジェクト削除
Add
メンバー追加
Remove
メンバー削除
Show
設定表示
Alias aliCreate aliDelete aliAdd aliRemove aliShow
Zone zoneCreate zoneDelete zoneAdd zoneRemove zoneShow
Config cfgCreate cfgDelete cfgAdd cfgRemove cfgShow
Zone 設定の有効化 cfgEnable
Zone 設定の無効化 cfgDisable
Zone 設定の Flash への格納 cfgSave
Zone 設定のクリア cfgClear
その他 zonehelpでゾーニング関連コマンドが表示される
オブジェクト内の
メンバー入替
(FOS7.1~)
オブジェクト名称変更 オブジェクトコピー オブジェクト削除
Alias zoneObjectReplace
zoneObjectRename zoneObjectCopy zoneObjectExpunge Zone
Config -
CLIを使ったゾーニング設定例
• エイリアスの作成 admin> alicreate “Eng_Host”,”1,0” admin> alicreate “Eng_Stor1”,”1,1” admin> alicreate “Mkt_Host”,”10:00:8c:7c:ff:08:f9:00” admin> alicreate “Mkt_Stor2”,”50:0a:09:81:99:fb:8f:f9” admin> alicreate “Mkt_Stor3”,”50:00:00:e0:da:81:38:30” • ゾーン定義の作成 admin> zonecreate “Zone_Eng”,”Eng_Host; Eng_Stor1” admin> zonecreate “Zone_Mkt”,”Mkt_Host; Mkt_Stor2; Mkt_Stor3” • ゾーンコンフィギュレーションの作成 admin> cfgcreate “Cfg_EngMkt”,”Zone_Eng; Zone_Mkt”
Zoning 41
Domain 1
Engineering Host
Marketing Host
Storage 2
Storage 1
Storage 3
Marketing Host WWN 10:00:8c:7c:ff:08:f9:00 Storage2WWN 50:0a:09:81:99:fb:8f:f9 Storage3WWN 50:00:00:e0:da:81:38:30
Engineering Host Port 0 Storage1 Port 1
複数のメンバーを指定するときはセミコロン(;)で区切る
CLIを使ったゾーニング設定例
• 現在の設定を確認 admin> cfgshow Defined configuration: cfg: Cfg_EngMkt Zone_Eng; Zone_Mkt zone: Zone_Eng Eng_Host; Eng_Stor1 zone: Zone_Mkt Mkt_Host; Mkt_Stor2; Mkt_Stor3 alias: Eng_Host 1,0 alias: Eng_Stor1 1,1 alias: Mkt_Host 10:00:8c:7c:ff:08:f9:00 alias: Mkt_Stor2 50:0a:09:81:99:fb:8f:f9 alias: Mkt_Stor3 50:00:00:e0:da:81:38:30 Effective configuration: No Effective configuration: (No Access)
Zoning 42
Domain 1
Engineering Host
Marketing Host
Storage 2
Storage 1
Storage 3
Marketing Host WWN 10:00:8c:7c:ff:08:f9:00 Storage2WWN 50:0a:09:81:99:fb:8f:f9 Storage3WWN 50:00:00:e0:da:81:38:30
Engineering Host Port 0 Storage1 Port 1
まだゾーニングを有効にしていない為、No Effective のままになっている
CLIを使ったゾーニング設定例
• ゾーンコンフィグを有効にする admin> cfgenable Cfg_EngMkt You are about to enable a new zoning configuration. 途中省略 zone config "smpl_cfg" is in effect Updating flash ... admin> cfgshow Defined configuration: cfg: Cfg_EngMkt Zone_Eng; Zone_Mkt 途中省略 alias: Mkt_Stor3 50:00:00:e0:da:81:38:30 Effective configuration: cfg: Cfg_EngMkt zone: Zone_Eng 1,0 1,1 zone: Zone_Mkt 10:00:8c:7c:ff:08:f9:00 50:0a:09:81:99:fb:8f:f9 50:00:00:e0:da:81:38:30 Zoning 43
Domain 1
Engineering Host
Marketing Host
Storage 2
Storage 1
Storage 3
Marketing Host WWN 10:00:8c:7c:ff:08:f9:00 Storage2WWN 50:0a:09:81:99:fb:8f:f9 Storage3WWN 50:00:00:e0:da:81:38:30
Engineering Host Port 0 Storage1 Port 1
cfg_EmgMktが有効になっている
ゾーンオブジェクトの操作コマンド
• ゾーンオブジェクト(エイリアス、ゾーン定義、ゾーンコンフィグ)に対して下記の操作コマンドが用意されている
• zoneobjectcopy (オブジェクトのコピー)
‒ zoneobjectcopy “Cfg_EngMkt”,”Cfg_Test”
• zoneobjectrename (オブジェクトのリネーム)
‒ zoneobjectrename “Zone_Engg”,”Zone_Eng”
• zoneobjectexpunge(オブジェクトの削除)
‒ zoneobjectexpunge “Mkt_Host”
‒ 他のオブジェクトの中からも当該オブジェクトが削除される。例えば、エイリアスを削除した場合、このエイリアスを使ったゾーン定義の中からも削除される
• zoneobjectreplace(オブジェクト内のメンバー入替)
‒ zoneobjectreplace “WWN_1” “WWN_2”
‒ FOS7.1からサポートされたコマンド、ゾーンデータベース内のオブジェクトメンバーを入れ替える
Zoning 44
ゾーニング関連コマンドの機能拡張 FOS7.1で実装されたゾーンメンバーの入れ替えコマンド
• zoneObjectReplaceコマンド
‒ ゾーンメンバー (WWN/Domain,Index)を、他のメンバーと置き換え
‒ Zone DB上のすべてのオブジェクトを置き換え
‒ TI Zoneなど特殊なゾーンは対象外
‒ 入替後に設定を有効にするには、cfgEnableコマンドを実行
Zoning 45
B6510-01:FID128:admin> zoneshow Defined configuration: cfg: smpl_cfg smpl_zone zone: smpl_zone stor_0; svr_0 alias: stor_0 50:0a:09:81:99:fb:8f:f9 alias: stor_1 50:00:00:e0:da:81:38:30 alias: svr_0 10:00:8c:7c:ff:08:f9:00 Effective configuration: cfg: smpl_cfg zone: smpl_zone 50:0a:09:81:99:fb:8f:f9 10:00:8c:7c:ff:08:f9:00
B6510-01:FID128:admin> zoneobjectreplace “50:0a:09:81:99:fb:8f:f9” “50:0a:09:81:99:fb:ab:cd” B6510-01:FID128:admin> zoneshow Defined configuration: cfg: smpl_cfg smpl_zone zone: smpl_zone stor_0; svr_0 alias: stor_0 50:0a:09:81:99:fb:ab:cd alias: stor_1 50:00:00:e0:da:81:38:30 alias: svr_0 10:00:8c:7c:ff:08:f9:00 Effective configuration: cfg: smpl_cfg zone: smpl_zone 50:0a:09:81:99:fb:8f:f9 10:00:8c:7c:ff:08:f9:00
ゾーニング関連コマンドの機能拡張 FOS7.1からAliasをワイルドカード指定可能
• Aliasにおけるワイルドカード (*)の使用
• zoneCreate/zoneRemoveコマンドなどで、Aliasをワイルドカード指定が可能
Zoning 46
B6510-01:FID128:admin> zonecreate “new_zone”,”s*” B6510-01:FID128:admin> zoneshow Defined configuration: cfg: smpl_cfg smpl_zone zone: new_zone stor_0; stor_1; svr_0 zone: smpl_zone stor_0; svr_0 alias: stor_0 50:0a:09:81:99:fb:8f:f9 alias: stor_1 50:00:00:e0:da:81:38:30 alias: svr_0 10:00:8c:7c:ff:08:f9:00
ゾーン表示関連のコマンド
• nsaliasshow
‒ スイッチのネームサーバの表示情報(nsshow)にエイリアスの情報を付加して表示
• nodefind <WWN | PID | Alias>
‒ WWN,PID,Aliasで指定したノードの情報を表示
• nszonemember –a
‒ オンラインのデバイスでゾーンのメンバーになっているデバイスのPIDとエイリアスを表示
• nszonemember –u
‒ オンラインのデバイスでゾーンのメンバーになっていないデバイスのPIDとエイリアスを表示
Zoning 47
admin> nsaliasshow { Type Pid COS PortName NodeName TTL(sec) N 011c00; 3;10:00:8c:7c:ff:07:d4:00;20:00:8c:7c:ff:07:d4:00; na 途中省略 LSAN: No Aliases: N 011d00; 3;10:00:8c:7c:ff:08:f9:00;20:00:8c:7c:ff:08:f9:00; na 途中省略 LSAN: No Aliases: svr_0 The Local Name Server has 4 entries }
ゾーニング関連コマンドの機能拡張 FOS7.1からトランザクションの差分情報表示
• zoneShow/cfgShowコマンド: 以下のオプションを追加
‒ -transdiffs: 実行中のトランザクション情報を含めて、ゾーン情報を表示
‒ -trasdiffsonly: 実行中のトランザクションがあるゾーン情報のみを表示
• 表記については以下の通り
‒ “*”: 変更が行われているゾーン (トランザクションが実行中)
‒ “+”: トランザクションで追加されたメンバー
‒ “-”: トランザクションで削除されたメンバー
Zoning 48
B6510-01:FID128:admin> zoneshow --transdiffs Defined configuration: cfg: smpl_cfg smpl_zone *zone: +new_zone stor_0; stor_1; svr_0 zone: smpl_zone stor_0; svr_0 alias: stor_0 50:0a:09:81:99:fb:8f:f9 alias: stor_1 50:00:00:e0:da:81:38:30 alias: svr_0 10:00:8c:7c:ff:08:f9:00
B6510-01:FID128:admin> zoneshow --transdiffsonly *zone: +new_zone stor_0; stor_1; svr_0
WebToolsによるゾーニング手順
Zoning 49
Zone Adminの起動
• WebToolsを起動し、メニューバーからZone Adminを起動する
‒ Configure > Zone Admin
※ WebTools起動方法についてはAdministrator’s Guide等、別の資料を参照のこと
Zoning 50
Zone Admin画面
Zoning 51
Port WWN
Node WWN メンバー追加
メンバー削除
他のスイッチのポートやオフラインデバイス等、左側のSelection Listに表示されないものを追加
通常のゾーニングはBasic Zonesモードで操作する
エイリアスの作成
Zoning 52
Alias tabを選択する 新規作成、削除、名前変更
作成後に編集する場合はプルダウンで目的のエイリアスを選択
ゾーンの作成
Zoning 53
Zone tabを選択する
作成したAliasを選択し、Zone Memberに追加する
新規作成、削除、名前変更、コピー
ゾーンコンフィグの作成
Zoning 54
Zone Config tabを選択する
作成したZoneを選択し、Zone Config Memberに追加する
新規作成、削除、名前変更、コピー
ゾーンの有効化、設定保存、etc
Zoning 55
ゾーン有効化、設定保存、設定全消去
Enable Config をクリックするとゾーンコンフィグの選択画面が表示される。
有効にするコンフィグを選んでOKをクリック
Network Advisorによるゾーニング手順
Zoning 56
Zoning 画面の起動
• Network Advisorのメイン画面のツールバーからZoning管理画面を起動する
‒ Configure > Zoning > Fabric
※ Network Advisorの入手、インストール、起動方法についてはAdministrator’s GuideやInstallation Guideを別途参照のこと
本章は有償版を基にしているため、無償版では一部使用できない機能がある
Zoning 57
1
2
Zoning管理画面
Zoning 58
エイリアス エリア ゾーン エリア ゾーンコンフィグ エリア
デフォルトゾーニング設定
ゾーニング有効化
各オブジェクトの作成、編集
設定対象のファブリックを選択
表示中のゾーンデータベース スイッチ上のデータベースやBNAサーバに保存されたデータベースを選択できる
Alias, PID, WWNを選択
現在有効なオブジェクトは緑のマークが付く
エイリアスの作成
Zoning 59
New Aliasをクリックすると別画面が表示される
1 エイリアス名の入力
2 エイリアスの対象になるデバイスを選択
3 追加ボタンをクリック
4 OKボタンをクリックして設定完了
オフラインデバイスのWWNを直接入力して追加
ゾーンの作成
Zoning 60
1
新規ゾーンの作成
2 ゾーン名を入力
3 ゾーンに追加したいメンバーを選択
(複数選択可)
ゾーンを選択し右クリックでメニュー表示 4
ゾーンコンフィグの作成
Zoning 61
新規ゾーンコンフィグの作成
ゾーンコンフィグ名の入力
3
ゾーンコンフィグに追加するゾーンを選択
(複数選択可)
1
2
4
ゾーンの有効化
Zoning 62
有効化するゾーンコンフィグを選択し、Activateをクリックすると確認画面が開く
既存で有効なコンフィグとの差異が表示される
問題なければ、OKをクリックし、有効化
有効なゾーンコンフィグの表示
Zoning 63
Active Zone Configuration タブ選択すると現在有効なゾーンコンフィグの表示画面になる
Zone Member Displayでは
・全メンバー表示
・オンライン(ログイン)メンバーのみ表示
・オフラインメンバーのみ表示
が選択可能
※オフラインメンバーの表示はWWNを手入力したときの記述間違いや取り外したデバイスの特定に便利
ゾーンデータベースの比較・マージ
Zoning 64
Zoning 画面右上のZone DB Operation
のプルダウンメニューからCompareを選ぶとゾーンDBの比較やマージができる
BNAサーバ上で編集するので運用中のシステムに影響を与えない
※この画面から直接スイッチ上のゾーンDBを上書きすることはできない
参照ゾーンDB 編集ゾーンDB
トラブルシュート他
Zoning 65
ゾーンDBのバックアップ・リストア
• ゾーンDBをFCスイッチ外部に保存する手段
‒ FCスイッチ設定ファイルとして保存
• configupload コマンド(CLI)、WebTools、BNA
‒ BNA Zoning画面でXMLファイルとしてエクスポート
• BNA有償版のみ
• ゾーンDBのリストア
‒ FCスイッチ設定ファイルのダウンロード
• configdownload コマンド(CLI)、WebTools、BNA
• 1台のスイッチでファブリックを構成している場合の手段
• スイッチ上にゾーン情報が存在する場合、設定ファイルの内容と混在してしまうので、事前にスイッチ上の情報はクリアしておくこと
‒ カスケード接続で他のスイッチから情報を伝播させる
• 2台以上のスイッチでファブリックを構成している場合の手段
‒ BNA Zoning画面でXMLファイルをインポート
• configファイルやエクスポートしたファイルは編集せずに使用すること
‒ 改行コードや不要なキャラクタが挿入されトラブルの原因になる
Zoning 66
[Zoning] cfg.Cfg_EngMkt:Zone_Mkt;Zone_Eng zone.Zone_Eng:Eng_Host;Eng_Stor1 zone.Zone_Mkt:Mkt_Host;Mkt_Stor2;Mkt_Stor3 alias.Eng_Host:1,28 alias.Eng_Stor1:1,1 alias.Mkt_Host:10:00:8c:7c:ff:08:f9:00 alias.Mkt_Stor2:50:0a:09:82:89:fb:8f:f9 alias.Mkt_Stor3:50:0a:09:82:99:fb:8f:f9 defzone:allaccess enable:Cfg_EngMkt
configファイル内のゾーンDB例
ゾーニングのトラブル例 ゾーニングトラブルあるある
• スイッチ1台のゾーンDBをクリアしようとしたら、カスケードしている他のスイッチの情報も全部クリアされた・・・
‒ ゾーンDBはファブリック全体に伝播するので、当たり前の話ですが、ついうっかり陥るミス
• 作業前にconfiguploadでスイッチ情報のバックアップ
• cfgsaveコマンドの実行は慎重に
• ゾーンを設定したのに、サーバからストレージが認識されない・・・
‒ サーバ、ストレージ側のLUNマスキング等の設定の確認も必要
‒ ゾーンメンバーの記述ミスに注意(特にWWN)
• nszonemember –uやオフラインデバイスの確認
• 設定したゾーンをゾーンコンフィグに追加忘れに注意
‒ デバイスがファブリックに認識されていない(オンラインになっていない)
• nsshow、switchshowでデバイスの存在を確認
• fcpingコマンドによる疎通確認
Zoning 67
fcpingによるデバイス接続確認
• fcpingコマンド
‒ Fibre Channel ELS ECHOリクエストを発行
‒ 送信元とあて先をファイバチャネルアドレス (24ビット/3バイト)またはWWNで指定
‒ ゾーニングのチェックなどに有効
‒ ELS ECHOリクエストは、fcpingコマンドを発行したスイッチのEmbedded Port (SID = 0xFFFCxx, xx = domain id)から発行される
‒ fcpingコマンドを発行するスイッチは、source/destinationのいずれかを含むスイッチとすることを推奨
‒ 第三者となるスイッチから発行することも可能だが、送出されるリクエストは実際の経路と異なる場合がある
‒ 全てのデバイスがELS ECHOに対応しているとは限らないので注意
Zoning 68
fcpingはSANスイッチからSource/Destinationデバイスに送信
ありがとうございました
本件に関するお問い合わせ ブロケード コミュニケーションズ システムズ株式会社 https://www.brocadejapan.com/form/contact