The LoginToTarget method instructs a miniport driver that manages an HBA initiator to log on to a target portal.
MSISCSI_OPERATIONS WMI クラスを実装するミニポート ドライバーは、このメソッドをサポートする必要があります。
ミニポート ドライバーは、 MSISCSI_INITIATORSESSIONINFO WMI クラスを介して作成されるセッションに関する情報を公開する必要があります。
次の表では、イニシエーターが確立できるログオン セッションの種類について説明します。
| Login session | Description |
|---|---|
Discovery |
A discovery session is used exclusively for SendTargets operations. |
Informational |
情報セッションを使用すると、イニシエーターはターゲットに対して情報を照会できますが、イニシエーターはターゲットの論理ユニット番号 (LUN) をプラグ アンド プレイ (PnP) マネージャーに報告しません。記憶域ポート ドライバーは LUN を列挙したり、ローカル デバイスとして公開したりしません。 Management applications can query these remote LUNs by establishing an informational session and calling iSCSI user-mode library routines, such as SendScsiInquiry, SendScsiReportLuns, and SendScsiReadCapacity. |
Data |
データ セッションは、フル機能のセッションです。 セッションを開始するミニポート ドライバーは、ポート ドライバーを列挙し、適切なドライバーを読み込むので、ターゲットの LUN をポート ドライバーに報告する必要があります。 ソフトウェアは、ローカル デバイスであるかのように、これらのリモート デバイスにアクセスできます。 |
Boot |
ブート セッションは、iSCSI LUN がブート デバイスとして使用される、フル機能のセッションです。 |
The identifier (ID) that the LoginToTarget method assigns to the session must remain constant for the lifetime of a session. 非同期ログオフまたはネットワーク イベントがターゲットへの接続を切断し、ミニポート ドライバーを強制的に再接続する場合でも、ミニポート ドライバーは引き続き同じセッション ID を使用する必要があります。
ミニポート ドライバーは、データと情報セッションを再確立するときに、次のガイドラインを使用する必要があります。
定期的な再接続の試行
ミニポート ドライバーは、ログオンが成功するか、ミニポート ドライバーがログオフ要求を受け取るまで、定期的に再接続を試行する必要があります (5 秒間隔をお勧めします)。
デバイスの削除の待機時間
ミニポート ドライバーは、ローカル オペレーティング システムのデバイス スタックからターゲットの論理ユニットをすぐに削除しないでください。 代わりに、ミニポート ドライバーは、ローカルにキャッシュされたデータを使用して、ミニポート ドライバーが処理のためにリモート ターゲットに送信する必要がある、照会とレポート LUNS 要求とキュー要求を処理する必要があります。
ミニポート ドライバーが約 60 秒後にターゲットとのセッションを再確立できない場合は、ローカル デバイス スタックからターゲットの論理ユニットを削除する必要があります。 デバイス スタックからのデバイスの削除に 60 秒の待機時間を導入することで、ミニポート ドライバーは、リモート ターゲット上のデータにアクセスするローカル アプリケーションの作業を不必要に中断することを回避できます。 ただし、待ち時間が 60 秒を超える場合は、ミニポート ドライバーが多数の要求をキューに入れる必要があり、これらの要求は許容できない量のシステム リソースを消費する可能性があります。 正確な待機時間は構成可能である必要があります。
The LoginToTarget WMI method belongs to the MSiSCSI_Operations WMI class.
For an explanation of the algorithm that the iSCSI user-mode library uses to establish a log, see LoginIScsiTarget.