【Hyper-V/Windows Server 2025】 3Tier 構成:iSCSI+MPIO の設定手順

Hyper-V ホスト 3 台を、外部の iSCSI ストレージに 2 本の経路で接続し、マルチパス I/O(MPIO)で 1 本のディスクにまとめる手順です。ここで接続した 2 つの LUN を、次の記事でフェールオーバー クラスタの共有ボリューム(CSV)と監視ディスクに使います。

目次

この記事の前提

参照した公式ドキュメント

構成

項目内容
iSCSI ターゲットiqn.2026-10.local.lab:hyperv-lun(Linux の LIO で作成)
LUNLUN 0:100 GB(CSV 用)、LUN 1:2 GB(クラスタの監視ディスク用)
ターゲットのポータル10.20.81.10(経路 A)、10.20.82.10(経路 B)
ホストの NICiSCSI-A(10.20.81.x)、iSCSI-B(10.20.82.x)。ネットワーク設定手順の設計のとおり
MPIOインストール手順で機能「Multipath I/O」を追加済み

ターゲットには、各ホストの iSCSI イニシエーター名(例:iqn.1991-05.com.microsoft:doc-hv1.hvdoc.local)を登録してアクセスを許可しておきます。イニシエーター名は、iSCSI イニシエーターの [Configuration] タブか、PowerShell の (Get-InitiatorPort).NodeAddress で確認できます。

MPIO で iSCSI のディスクを扱うようにする

(1) [Win]+[R] で mpiocpl を実行します(サーバーマネージャーの [Tools] → [MPIO] でも開けます)。[Discover Multi-Paths] タブで [Add support for iSCSI devices] をオンにして [Add] をクリックします。

MPIO のプロパティ

(2) 「The operation completed successfully.」と表示されたら [OK] をクリックし、MPIO のプロパティも [OK] で閉じます。設定を反映するには再起動が必要です(この後、iSCSI を接続してから再起動します)。

MPIO の設定の完了

PowerShell で設定する場合は、次のコマンドです。

Enable-MSDSMAutomaticClaim -BusType iSCSI

iSCSI ターゲットへの接続(2 経路)

(1) [Win]+[R] で iscsicpl を実行します(初回は iSCSI サービスを起動するか確認されるので [Yes])。[Discovery] タブの [Discover Portal] をクリックします。

Discovery

(2) [IP address or DNS name] にポータルの IP アドレス(10.20.81.10)を入力して [OK] をクリックします。同じように 10.20.82.10 も追加します。

ポータルの追加

(3) [Target portals] に 2 つのポータルが表示されます。

ポータルの一覧

(4) [Targets] タブの [Discovered targets] に、ターゲットの一覧が表示されます。接続するターゲット(iqn.2026-10.local.lab:hyperv-lun)を選んで [Connect] をクリックします。

ターゲットの一覧

検証環境の iSCSI サーバーには、Proxmox VE 用・vSphere 用のターゲットもあります。それらは Hyper-V ホストのイニシエーター名を許可していないので、接続してもディスクは見えません。

(5) [Connect To Target] で [Enable multi-path] をオンにし、[Advanced] をクリックします。

Connect To Target
項目説明設定値
Add this connection to the list of Favorite Targets再起動後に自動で接続し直しますオン(既定)
Enable multi-path同じターゲットへの複数のセッションを MPIO でまとめますオン

(6) [Advanced Settings] で、経路 A の組み合わせを指定して [OK] をクリックし、[Connect To Target] も [OK] で閉じます。

経路 A
項目設定値
Local adapterMicrosoft iSCSI Initiator
Initiator IP10.20.81.123(このホストの iSCSI-A の IP アドレス)
Target portal IP10.20.81.10 / 3260

[Default] のままにすると、どの NIC から接続するかを Windows が決めるため、2 つのセッションが同じ NIC を通ることがあります。経路ごとに NIC とポータルを明示します。

(7) もう一度ターゲットを選んで [Connect] をクリックし、[Enable multi-path] をオンにして、[Advanced] で経路 B を指定します。

経路 B
項目設定値
Local adapterMicrosoft iSCSI Initiator
Initiator IP10.20.82.123(このホストの iSCSI-B の IP アドレス)
Target portal IP10.20.82.10 / 3260

(8) ターゲットを選んで [Properties] をクリックすると、[Sessions] タブに 2 つのセッションが表示されます。

セッション

(9) DOC-HV2・DOC-HV3 でも同じように接続します。PowerShell で接続する場合は、次のコマンドです(DOC-HV2 の例)。

New-IscsiTargetPortal -TargetPortalAddress 10.20.81.10 -InitiatorPortalAddress 10.20.81.124
New-IscsiTargetPortal -TargetPortalAddress 10.20.82.10 -InitiatorPortalAddress 10.20.82.124
Connect-IscsiTarget -NodeAddress iqn.2026-10.local.lab:hyperv-lun -IsMultipathEnabled $true -IsPersistent $true -InitiatorPortalAddress 10.20.81.124 -TargetPortalAddress 10.20.81.10
Connect-IscsiTarget -NodeAddress iqn.2026-10.local.lab:hyperv-lun -IsMultipathEnabled $true -IsPersistent $true -InitiatorPortalAddress 10.20.82.124 -TargetPortalAddress 10.20.82.10

(10) 3 台のホストを再起動して、MPIO の設定を反映します。

マルチパスの確認とディスクの準備

(1) 再起動後、PowerShell で mpclaim -s -d を実行すると、2 つの LUN が MPIO のディスク(MPIO Disk0・Disk1)として表示されます。経路が 2 本あっても、ディスクは 1 本ずつです。

mpclaim -s -d
Get-Disk | Where-Object BusType -eq iSCSI

(2) 1 台のホスト(DOC-HV1)で、iSCSI の 2 つのディスクをオンラインにして初期化(GPT)し、NTFS でフォーマットします。ボリューム名は CSV01(100 GB)と Witness(2 GB)にしました。ディスクの管理(diskmgmt.msc)で、2 つのボリュームを確認します。

Set-Disk -Number 3 -IsOffline $false
Initialize-Disk -Number 3 -PartitionStyle GPT
New-Partition -DiskNumber 3 -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel CSV01
ディスクの管理

ディスクの管理を開くと、未初期化のディスクの初期化を求められます。Disk 1・Disk 2(ローカルの 40 GB)は HCI 構成(S2D)で使うので、初期化しないで [Cancel] をクリックしてください。ディスクの準備は 1 台のホストだけで行い、ほかのホストではオフラインのままにします(クラスタに追加すると、クラスタが所有権を管理します)。

(3) ディスクを右クリックして [Properties] → [MPIO] タブを開くと、MPIO のポリシーと経路が表示されます。既定のポリシーは [Round Robin With Subset] で、2 つの経路がどちらも [Active/Optimized] になっています。

MPIO の経路
ポリシー動作
Fail Over Only1 本の経路だけを使い、障害時に切り替えます
Round Robinすべての経路に順番に I/O を振り分けます
Round Robin With SubsetActive/Optimized の経路の間で順番に振り分けます(既定)
Least Queue Depth処理待ちの I/O が少ない経路を使います

次の手順

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次