ファイバー・チャネル・デバイスの動的追跡

AIX® は、ファイバー・チャネル (FC) デバイスの動的追跡をサポートします。

AIX より前のバージョンでは、ユーザーは System Area Network (SAN) の設定を変更する前に FC ストレージ・デバイスとアダプター・デバイスのインスタンスを構成解除する必要があり、その結果すべてのリモート・ストレージ・ポートの N_Port ID (SCSI ID) が変更されることがありました。

FC デバイスの動的追跡が使用可能になっている場合、FC アダプター・ドライバーはデバイスのファイバー・チャネル N_Port ID が変更されると検出します。 FC アダプター・ドライバーは、そのデバイスを宛先としたトラフィックを、デバイスがまだ接続されている間に新規アドレスに転送します。 N_Port ID が変更される原因となるイベントには、次のいずれかのシナリオが含まれます。
  • スイッチとストレージ・デバイスの間のケーブルを 1 つのスイッチ・ポートから別のスイッチ・ポートへ移動する。
  • スイッチ間リンク (ISL) を使用して 2 つの別々のスイッチを接続する。
  • スイッチをリブートする。
FC デバイスの動的追跡は、新規 fscsi デバイスの新規属性 dyntrk によって制御されます。 この属性のデフォルトの設定値は no です。 FC デバイスの動的追跡を使用可能にするには、例に示すように、この属性を dyntrk=yes に設定します。
chdev -l fscsi0 -a dyntrk=yes  
この例では、fscsi デバイス・インスタンスは fscsi0 です。 リモート・ストレージ・デバイス・ポートに関連したリンク・イベントがあるという通知をアダプター・ドライバーがスイッチから受け取ると、動的追跡ロジックが呼び出されます。
動的追跡サポートには、次の構成が必要です。
  • スイッチ環境。 公用ループを含め、アービトレーテッド・ループ環境ではサポートされません。
  • FC 6227 アダプター・ファームウェア、レベル 3.22A 1 以上。
  • FC 6228 アダプター・ファームウェア、レベル 3.82A 1 以上。
  • FC 6239 アダプター・ファームウェア、全レベル。
  • FC アダプターの後続リリースはすべて、高速入出力障害をサポートしています。
  • World Wide Name (ポート名) デバイスおよび World Wide Node Name (ノード名) デバイスは固定された値であり変更はできません。また、World Wide Name デバイスは固有でなければなりません。使用可能なデバイスまたはオンライン・デバイスの World Wide Name またはノード名を変更すると、入出力障害が起こることがあります。 さらに、それぞれの FC ストレージ・デバイス・インスタンスは world_wide_name 属性および node_name 属性を持っている必要があります。 sn_location 属性 (次の項目を参照) を含む更新済みファイルセットも、この両方の属性を含むように更新する必要があります。
  • ストレージ・デバイスは、各 LUN の固有のシリアル番号を抽出するための信頼できる方法を提供する必要があります。 AIX FC デバイス・ドライバーは、シリアル番号の位置を自動検出しません。 特定デバイスの動的追跡をサポートするために、ストレージ・ベンダーはシリアル番号抽出の方法を提供する必要があります。この情報は、各ストレージ・デバイスの sn_location ODM 属性を使用してドライバーに伝達されます。ディスクまたはテープ・ドライバーが、sn_location ODM 属性が欠落していることを検出すると、INFO タイプのエラー・ログが生成され、動的追跡が使用不可になります。
    注: hdisk 上で lsattr コマンドを実行すると、sn_location 属性が表示されない場合があります。 つまり、ODM 内にこの属性名があっても表示されません。
  • SAN ファブリック 上の N_Port ID が 15 秒以内に安定した場合、FC デバイス・ドライバーは SAN ファブリック上のデバイスを追跡することができます。SAN ファブリック は単一のホスト・バス・アダプターから見えるファブリックです。最初の 15 秒を過ぎてもケーブルが再装着されない場合や N_Port ID が変化し続ける場合は、入出力障害が起こります。
  • デバイスの追跡は、複数のホスト・バス・アダプターをまたいで行われません。 デバイスの追跡は、そのデバイスが最初に接続されたのと同じ HBA から可視のままである場合に行われます。

    例えば、デバイス A が、ホスト・バス・アダプター A に接続されているファブリック A 上のある場所から別の場所に移動された場合 (すなわち、ファブリック A での N_Port が変更された場合)、そのデバイスはユーザーの介入なしに追跡され、このデバイスの入出力を続行することができます。

    しかし、デバイス A が HBA A からは可視だが HBA B からは可視でなく、デバイス A が HBA A に接続されているファブリックから HBA B に接続されているファブリックに移動されると、デバイス A はファブリック A でもファブリック B でもアクセスできません。cfgmgr コマンドを実行してこのデバイスをファブリック B で使用可能にするには、ユーザー介入が必要となります。 ファブリック A の AIX デバイス・インスタンスは使用できないため、ファブリック B にデバイス・インスタンスを作成する必要があります。このデバイスは、ボリューム・グループ、マルチパス・デバイス・インスタンスなどに手動で追加する必要があります。この手順は、ファブリック A からデバイスを除去し、ファブリック B にデバイス追加することと似ています。

  • AIX システム・メモリー・ダンプの進行中は、FC ダンプ・デバイスの動的追跡を行うことはできません。 また、動的追跡は、システム再始動中にはサポートされず、cfgmgr コマンドの実行によってもサポートされません。 これらの操作のいずれかが進行中であれば、SAN の変更を行うことはできません。
  • デバイスの追跡を行った後、ODM 内に失効した情報が含まれている場合があります。 これは、ODM 内の SCSI ID が SAN 上の実際の SCSI ID を反映しなくなるためです。 ODM は、cfgmgr コマンドを手動で実行するまで、または (サード・パーティーの FC SCSI ターゲット・ドライバーを含むすべてのドライバーが動的追跡をサポートしている場合に) システムをリブートするまで、このままの状態です。 cfgmgr コマンドを手動で実行する場合、影響されるすべての fscsi デバイスを対象として実行してください。 これは、オプションを指定せずに cfgmgr を実行するか、各 fscsi デバイスで個別に cfgmgr を実行することによって実現できます。
    注: SCSI ID を再調整するためにランタイム時に cfgmgr を実行した場合、ODM 内でストレージ・デバイスの SCSI ID が更新されない可能性があります。 これは、ストレージ・デバイスがオープンされている (ボリューム・グループがオンに変更された) 場合に当てはまります。オープンされていないデバイスで cfgmgr コマンドを実行するか、システムをリブートして SCSI ID を再調整する必要があります。 ODM 内にある失効した SCSI ID が FC ドライバーに悪影響を与えることはありません。また、FC ドライバーが正しく機能するために ODM 内の SCSI ID を再調整する必要もありません。 しかし、ioctl 呼び出しを使用してアダプター・ドライバーと直接通信し、ODM からの SCSI ID 値を使用するアプリケーションは、失効している SCSI ID を使用するのを避けるために更新する必要があります (次の項目を参照)。
  • FC 動的追跡が正しく機能するためには、ioctl 呼び出しを通じて、あるいは FC ドライバーのエントリー・ポイントを使用して直接、FC アダプター・ドライバーと通信するすべてのアプリケーションおよびカーネル拡張は、バージョン 1 ioctl および FC アダプター・ドライバーの scsi_bufAPI をサポートする必要があります。 非準拠アプリケーションまたはカーネル拡張は正しく機能しなかったり、動的追跡イベント後に失敗する可能性があります。 新しいバージョン 1 ioctl および scsi_buf API に調和しないアプリケーションまたはカーネル拡張を FC アダプター・ドライバーが検出すると、INFO タイプのエラー・ログが生成され、このアプリケーションまたはカーネル拡張が通信しようとしているデバイスの動的追跡が使用可能になりません。

    AIX ファイバー・チャネル・ドライバー・スタックと通信するカーネル拡張またはアプリケーションを開発する ISV の場合、動的追跡をサポートするために必要な変更について、『必要な FCP、iSCSI、および仮想 SCSI クライアント・アダプター・デバイス・ドライバー ioctl コマンド』および『scsi_buf 構造の理解』を参照してください。

  • 動的追跡が使用可能になっている場合でも、ユーザーは SAN の変更 (ケーブルの移動またはスワッピング、および ISL リンクの確立など) は、保守ウィンドウの間に行う必要があります。完全実動中に SAN の変更を行うことは、SAN の変更を行う時間のインターバルが短すぎるためお勧めできません。例えば、ケーブルが正しく再装着されていない場合、入出力障害が起こることがあります。トラフィックが少ないとき、または全くないときにこれらの操作を行うと、入出力障害の影響を最小化することができます。
  • AIX 区画の動的追跡では、SAN からの構成イベントをリカバリーするという明確な目的を持つソフトウェアを使用できます。 構成イベントは LPAR モビリティー操作中に発生することが予想されます。 この AIX ポリシーは、モビリティー・イベントに対する準備中またはモビリティー・イベントの発生中のサービス停止を回避するために使用されます。 したがって、仮想 FC クライアント・アダプター用の動的追跡は常に使用可能であり、使用不可にすることはできません。

ベースの AIX FC SCSI ディスクおよび FC SCSI テープおよび FastT デバイス・ドライバーは、動的追跡をサポートしています。 IBM® ESS、EMC Symmetrix、および HDS ストレージ・デバイスは、必要な sn_location 属性および node_name 属性を持つ ODM ファイルセットをベンダーが提供している場合に、動的追跡をサポートします。 現行レベルの ODM ファイルセットで動的追跡がサポートされているかどうかについては、ストレージ・ベンダーにお問い合わせください。

ベンダー固有の ODM エントリーがストレージ・デバイスに使用されていないが、ESS、Symmetrix、または HDS ストレージ・サブシステムが MPIO Other FC SCSI Disk メッセージで構成されている場合、この構成内のデバイスの動的追跡がサポートされます。この方式では sn_location 属性の必要性がなくなります。AIX ベースに同梱された現行の AIX Path Control Modules (PCM) はすべて、動的追跡をサポートします。

標準の AIX デバイス・ドライバーを使用する STK テープ・デバイスも、STK ファイルセットに必要な sn_location および node_name 属性が含まれている場合、動的追跡をサポートします。
注: テープ・デバイスに関連する SAN の変更は、アクティブな入出力がないときに行ってください。テープ・デバイスは逐次処理の性質を持っているため、1 つの入出力障害だけでアプリケーション (テープのバックアップを含む) が失敗する可能性があります。

構成時に Other FC SCSI Disk (他の FC SCSI ディスク) または Other FC SCSI Tape (他の FC SCSI テープ) メッセージが表示されたデバイスは動的追跡をサポートしません。

一部の FC デバイスは、デバイスが Available 状態にある間の、動的追跡の使用可能化および使用不可化をサポートします。 デバイスが動的追跡をサポートするかどうかを検証するには、lsattr コマンドを使用します。 サポートするデバイスに対する動的追跡は、デバイスの構成解除および再構成またはリンク・サイクルなしで変更することができます。 この変更は、SAN (Storage Area Network) ファブリックが安定しているときに要求する必要があります。要求時にエラー・リカバリーが SAN 内でアクティブである場合は、その要求は失敗します。ディスクやテープ・デバイスなどの関連デバイスが変更に耐えることができない場合は、変更要求は失敗する可能性があります。