Windows Server 2008 では、Windows Server サーバーとSAN デバイスの接続性に関連する多くの機能強化が行われています。その機能強化の1 つで、Windows Server サーバーとSAN の接続に関して高い可用性を持つのが、統合Microsoft MPIO(マルチパスI/O) サポートです。
Microsoft MPIO アーキテクチャは、複数のセッションと接続をストレージアレイに設定し、iSCSI、ファイバチャネル、およびSAS(Serial Attached SCSI)のSAN 接続性をサポートします。マルチパスソリューションとは、アダプタ、ケーブル、スイッチなどの冗長な物理コンポーネントを使用して、サーバーとストレージデバイスの間に論理パスを作成するものです。
これらのコンポーネントのいずれか、またはいくつかが障害を起こしてパスが機能しなくなると、マルチパス論理によってI/O に代替パスが使用されるので、アプリケーションはそのままデータにアクセスできます。ストレージファブリックコンポーネントに障害が起きたときにも、継続的にストレージへアクセスできるには、各NIC(iSCSI の場合)やホットバスアダプタ(HBA:Host Bus Adapter)が冗長スイッチインフラストラクチャによって接続されていなければなりません。
フェールオーバー時間はストレージベンダーによって異なり、Microsoft iSCSI Software Initiator ドライバとFC HBA ドライバのいずれか、またはその両方のパラメータをタイマで設定できます。Windows Server 2008 の新しいMicrosoft MPIO 機能には、非対称論理ユニットアクセス(ALUA:Asymmetric Logical Unit Access)コントローラモデル(SPC-3 に定義される)をサポートするストレージアレイと、アクティブ/アクティブコントローラモデルをサポートするストレージアレイに対応するように設計されたネイティブなデバイス固有モジュール(DSM:Device Specific Module)が含まれています。
Microsoft DSM には、次に示すような負荷分散ポリシーがあります(負荷分散ポリシーは一般に、ALUA や真のアクティブ/アクティブなどの、Windows に付属するストレージアレイのコントローラモデルによって異なります)。
- フェールオーバー
負荷分散は行われない。アプリケーションによって、プライマリパスとスタンバイパスのセットを指定する。プライマリパスは、デバイス要求の処理に使用される。プライマリパスが失敗すると、スタンバイパスの1 つが使用される。スタンバイパスは優先順位の降順にリストされる(最も優先順位の高いパスがリストの先頭になる)。 - フェールバック
指定された優先パスが使用可能であれば、必ずそれをI/O 専用に使用する機能である。優先パスに障害が起きると代替パスに切り替わるが、優先パスが再び使用可能になると、自動的に元の優先パスに切り替わる。 - ラウンドロビン
DSM は、すべての使用可能なパスを負荷分散方式で順繰りにI/O に使用する。 - パスサブセットのラウンドロビン
ラウンドロビン方式で使用されるパスのセットと、スタンバイパスのセットはアプリケーションで指定する。DSM は、使用可能なパスが1 つでもあれば、プライマリパスプールのパスを使用してリクエストを処理する。DSM は、すべてのプライマリパスが失敗した場合に限り、スタンバイパスを使用する。スタンバイパスは、優先順位の降順にリストされる(最も優先順位の高いパスがリストの先頭に来る)。1 つでもプライマリパスが使用可能になると、DSM はプライマリパスをその優先順位に従って使用し始める。たとえば、A、B、C、D の4 個のパスがあり、A、B、C がプライマリパスとしてリストされており、D はスタンバイパスであるとする。DSM は、A、B、C の1 つでも使用可能である限り、その中からパスをラウンドロビン方式で選択する。この3 個のパスがすべて失敗すると、DSM はスタンバイパスであるD を使用し始める。A、B、C のいずれかが復旧して使用可能になると、DSM はD の使用を止め、A、B、C の使用可能パスに切り替える。 - 動的最小キューの深さ
DSM は、I/O を未処理のリクエスト数が最小であるパスにルーティングする。 - 加重パス
アプリケーションが各パスに重み付けをする。重みは、特定のパスの相対的な優先順位を示す。数が大きくなるほど優先順位は低くなる。DSM は、使用可能なパスの中から重みの小さいパスを選択する。
Microsoft DSM は、保存した負荷分散の設定を再起動ごとに再設定します。管理アプリケーションによってポリシーが設定されていない場合にDSM が使用する既定のポリシーは、ストレージコントローラが真のアクティブ/アクティブモデルの場合はラウンドロビンとなり、SPC-3 ALUA モデルのストレージコントローラの場合は単純なフェールオーバーとなります。単純なフェールオーバーの場合、使用可能なパスのいずれかがプライマリパスとして使用され、残りのパスはスタンバイパスとして使用されます。
Microsoft MPIO は、特にWindows に対応するように設計されています。Microsoft MPIO ソリューションは、マイクロソフトによってWindows との互換性と信頼性がテストされ、適格と認められたものです。多くの顧客が、マルチパス化を含むマイクロソフトによるストレージソリューションを必要としています。Microsoft MPIO ベースのソリューションの場合は、問題が発生すると顧客はマイクロソフトのサポートを受けられます。Microsoft MPIO以外のマルチパスが実装されている場合、マイクロソフトのサポートはベストエフォート型のサポートに限定され、顧客はマルチパスソリューションのプロバイダに連絡して支援を求めなければなりません。Microsoft MPIO ベースのマルチパスソリューションを入手するには、顧客のストレージベンダーに連絡する必要があります。
Microsoft MPIO ソリューションは、別途インストールされるコンポーネントとして、Windows Server 2003 とWindows 2000 Server にも使用できます。