LoginToTarget
LoginToTarget メソッドは、HBA イニシエーターを管理するミニポート ドライバーにターゲット ポータルにログオンするよう指示します。
MSISCSI_OPERATIONS WMI クラスを実装するミニポート ドライバーは、このメソッドをサポートする必要があります。
ミニポート ドライバーは MSiSCSI_InitiatorSessionInfo WMI class を使用して作成するセッションに関する情報を公開する必要があります。
次のテーブルはイニシエーターが確立できるログオン セッションの種類について説明します。
ログイン セッション | 説明 |
---|---|
探索 |
探索セッションは SendTargets の操作にのみ使用されます。 |
情報提供 |
情報セッションではターゲットの情報に対するクエリ実行をイニシエーターに許可しますが、イニシエーターはターゲットの論理ユニット番号 (LUN) を プラグ アンド プレイ (PnP) マネージャーに報告しません。ストレージ ポート ドライバーは LUN を列挙したり、ローカル デバイスとして公開したりしません。 管理アプリケーションは、情報セッションを確立して、SendScsiInquiry、SendScsiReportLuns、SendScsiReadCapacity などの iSCSI ユーザーモード ライブラリ ルーチンを呼び出すことにより、これらのリモート LUN にクエリを実行できます。 |
データ |
データ セッションはフル機能のセッションです。 セッションを開始するミニポート ドライバーはターゲットの LUN をポート ドライバーに報告するため、ポート ドライバーはそれらの LUN を列挙して適切なドライバーを読み込みます。 ソフトウェアはこれらのリモート デバイスがローカル デバイスであるかのようにアクセスできます。 |
Boot |
ブート セッションは、iSCSI LUN をブート デバイスとして使用するフル機能のセッションです。 |
LoginToTarget メソッドがセッションに割り当てる識別子 (ID) は、セッションの有効期限中に一定である必要があります。 非同期ログオフまたはネットワーク イベントがターゲットへの接続を切断し、ミニポート ドライバーを強制的に再接続する場合でも、ミニポート ドライバーは同じセッション ID を使用し続ける必要があります。
データセッションと情報セッションを再確立する場合、ミニポート ドライバーは次のガイドラインを使用する必要があります。
定期的な再接続試行
ログオンが成功するか、ミニポート ドライバーがログオフ要求を受け取るまで、ミニポート ドライバーは定期的な再接続を試行する必要があります (5 秒間隔をお勧めします)。
デバイス削除の待機時間
ミニポート ドライバーは、ローカル オペレーティング システムのデバイス スタックからターゲットの論理ユニットをすぐには削除しません。 代わりに、ミニポート ドライバーは、ミニポート ドライバーがリモート ターゲットに送信して処理する必要がある INQUIRY と REPORT LUNS 要求およびキュー要求を、ローカルにキャッシュされたデータを使用して処理する必要があります。
ミニポート ドライバーが約 60 秒後にターゲットとのセッションを再確立できていない場合は、ターゲットの論理ユニットをローカル デバイス スタックから削除する必要があります。 デバイス スタックからのデバイス削除に 60 秒の待機時間を導入すると、リモート ターゲットのデータにアクセスするローカル アプリケーションの作業をミニポート ドライバーが不必要に中断せずに済みます。 ただし、待機時間が 60 秒を超えるとミニポート ドライバーが多数の要求キューを実行する必要が生じる場合があり、これらの要求のために消費されるシステム リソースが許容量を超える可能性があります。 正確な待機時間は設定で変えられる必要があります。
LoginToTarget WMI メソッドは MSiSCSI_Operations WMI クラスに属しています。
iSCSI ユーザーモード ライブラリがログの確立に使用するアルゴリズムの詳細については、「LoginIScsiTarget」を参照してください。