Windows Server 2016/2012 R2でMPIOを有効化・構成する完全ガイド
MPIO(Multipath I/O)とは
本記事では、Windows Server 2016/2012 R2環境においてMPIOをインストールし、構成する手順を詳しく解説します。MPIO(Multi-Path Input/Output)は、冗長化された複数のパスを利用して、ストレージシステム(またはストレージサーバー)への耐障害性の高いデータ転送経路を構築するための技術です。サーバーとストレージ間の追加パスは、スイッチ、ケーブル、HBAやNICなどの物理コンポーネントを冗長化することで実現されます。
ただし、このような冗長構成には一つ注意点があります。OSは同一のLUNを複数のパス経由で認識した際、それらを別個のディスクとして扱ってしまう可能性があるのです。
サーバーが複数のiSCSIイニシエーターアダプターや複数のFibre Channelポート経由で論理ディスク(LUN)にアクセスできる場合、MPIOモジュールが導入されていないと、デバイスマネージャーやディスクの管理上、実際のLUN数より多く表示されます(表示数 = LUNへのパス数 × 提示されているLUN数)。
次のスクリーンショットでは、MPIO非搭載のWindowsが異なるパスを持つ2つのドライブを認識していますが、実際には同一のLUNです(提示されたディスクの一覧は、PowerShellのGet-Diskコマンドレットで確認できます)。

OSがMPIOに対応していれば、提示された各ディスクを1つずつ認識します。MPIOを有効にすると、サーバーは複数のパス経由でストレージ上のデータにアクセスでき、接続されたLUNへのアクセスが高速化されるとともに、複数のネットワークアダプターやHBAを活用できるようになります。
また、一部のコンポーネントに障害が発生した場合でも、MPIOは代替の論理パスへ自動的に切り替えるため、OSは別のルートでLUNにアクセスし続けられ、データアクセスの一貫性が維持されます。つまり、MPIOは耐障害性の高いストレージ・データアクセスシステムにおける重要な構成要素であり、同一LUNへの負荷を複数パスに分散させることも可能です。
ヒント: OSがMPIOに対応していない場合は、データ損失を防ぐためにLUNへのパスを1本だけにしてください。サーバー側ではFibre ChannelポートまたはiSCSIイニシエーターアダプターを1つだけ有効にし、さらにストレージ装置およびSAN/ネットワークスイッチレベルでもLUNへの追加パスを無効化しておきましょう。
Windows Server 2016/2012 R2へのMPIOのインストール
Windows Serverは、Windows Server 2008 R2以降でマルチパスI/O(MPIO)をサポートしています。Microsoft MPIOは、ストレージへの複数接続による高可用性と負荷分散を提供し、特定のプロトコルに依存せず、iSCSI、Fibre Channel、SASによるディスクアレイやストレージ接続をサポートします。
デフォルトでは、Windows ServerのMPIOモジュールは無効になっています。Windows Server 2016にインストールする方法は2つあります。
- Server Manager(サーバーマネージャー)コンソールのGUIからインストールする
- PowerShellのコマンドラインからインストールする
Server Managerを使用してMPIOを有効化する
- サーバーマネージャーを開きます。
- [機能]の一覧で[マルチパス I/O](Multipath I/O)を見つけてチェックします。

- MPIOのインストールを完了し、サーバーを再起動します。
PowerShellを使用してMultipath-IOをインストールする
PowerShellコンソールを管理者として起動し、以下のコマンドでWindows Serverの機能をインストールします。
Add-WindowsFeature -Name 'Multipath-IO'

MPIOが正しくインストールされたか確認するには、次のコマンドを実行します。
Get-WindowsFeature -Name 'Multipath-IO'

注: MPIOを無効化する場合は、以下のコマンドを使用します。
Remove-WindowsFeature -Name 'Multipath-IO'
Windows Server 2016でのMPIOの構成
MPIOモジュールのインストール後、複数パスで利用可能なLUNに対してMPIOを有効化する必要があります。デフォルトでは、Windowsはディスクへの各接続を別々の論理ディスク(LUN)として認識します。
ヒント: MPIOのコンポーネントには、負荷分散ポリシーを管理できる特別なモジュールMSDSM(Microsoft Device Specific Module)が含まれています。デフォルトでは、MPIOは標準のMicrosoft DSMと共にインストールされます。しかし、多くの場合、ストレージベンダーが提供するDSMモジュール(IBM DSM、HP DSM MPIOなど)のインストールが推奨されます。一般的に、ベンダー純正のDSMは、自社ハードウェアの動作条件や特性に基づいて設計されているため、Microsoft製よりも高いパフォーマンスと多くの機能を提供します。
MicrosoftのDSMモジュール(MSDSM)に対して、接続タイプに基づいてSANディスクを自動的に統合することを許可しましょう。MSDSMは、ストレージへの複数パスを持つLUNを自動的に検出し、主要なストレージデバイスのほとんどをサポートしています。
コマンドラインから以下のように実行できます。
- SASディスクの場合:
Enable-MSDSMAutomaticClaim -BusType SAS - iSCSIディスクの場合:
Enable-MSDSMAutomaticClaim -BusType iSCSI
注: 同じ操作はmpclaimツール(Windows 2008 R2で登場)でも可能です。次のコマンドは、システムが検出したすべてのデバイスをスキャンし、複数パスを持つデバイスを検索して、それらのMPIOサポートを有効にします。
mpclaim.exe -r -i -a ""
GUIからDSMを有効にすることもできます。サーバーマネージャーを開き、[ツール]メニューから[MPIO]を選択します(またはmpiocplコマンドを実行)。
[マルチパスの検出](Discover Multi-Paths)タブに移動し、[SASデバイスのサポートを追加する](Add support for SAS devices)にチェックを入れます(iSCSIストレージを使用している場合は[iSCSIデバイスのサポートを追加する]を選択)。[追加]をクリックし、サーバーを再起動します。

再起動後、デバイスマネージャー(またはディスクの管理)を開き、サーバーから利用可能な接続ディスク(LUN)の数が半分になったことを確認します(ストレージ装置へのパスが2本ある場合)。
MPIOサポートが有効なデバイスの一覧は、[MPIO デバイス]タブで管理できます(PowerShellではGet-MSDSMSupportedHwコマンドを使用)。

[追加]ボタンをクリックするか、PowerShellから新しいMPIOデバイスを追加できます。
New-MSDSMSupportedHw -VendorId <vend> -ProductId <product>
クラスタを構築する場合は、必ずすべてのノードでMPIOを構成してください。
2つのパス経由でiSCSIターゲットに接続し、MPIOを使用したい場合は、ターゲット接続時にiSCSI LUNを選択し、[接続]をクリックして[マルチパスを有効にする](Enable multi-path)オプションにチェックを入れます。

次に[詳細設定]をクリックし、異なるイニシエーターIPアドレスを異なるターゲットIPアドレスにバインドします。

現在のMPIO設定は、PowerShellで確認できます。
Get-MPIOSetting

PathVerificationState : Disabled PathVerificationPeriod : 30 PDORemovePeriod : 20 RetryCount : 3 RetryInterval : 1 UseCustomPathRecoveryTime : Disabled CustomPathRecoveryTime : 40 DiskTimeoutValue : 60
MPIOのタイマー設定は以下のように変更できます(例:オールフラッシュアレイ向けの推奨設定を有効にする場合)。
Set-MPIOSetting -NewPathRecoveryInterval 20 -CustomPathRecovery Enabled -NewPDORemovePeriod 30 -NewDiskTimeout 60 -NewPathVerificationState Enabled
利用可能なMPIO負荷分散ポリシーは以下の通りです。
- FOO — Fail Over Only(フェイルオーバーのみ)
- RR — Round Robin(ラウンドロビン)
- LQD — Least Queue Depth(最小キュー深度)
- LB — Least Blocks(最小ブロック)
負荷分散ポリシーを変更するには:
Set-MSDSMGlobalLoadBalancePolicy -Policy RR
また、接続済みLUNのプロパティにある[MPIO]タブで負荷分散ポリシーを選択することもできます。この例では、アレイに対してRound Robinポリシーが選択されています。

MPIOモジュールで利用可能なPowerShellコマンドの全リストを表示するには、次のコマンドを実行します。
Get-Command –Module Mpio

Windows ServerのSAN(ディスク)ポリシー
Windowsには、ホストに接続されたディスクを自動的にマウントするかどうかを決定する特別なディスクポリシー(SANポリシー)があります。
現在のSANポリシー設定はdiskpartで確認できます。デフォルトでは、SANに対してOfflineSharedポリシーが使用されます。
diskpartDISKPART> san
このSANポリシーが原因で、外部ストレージのLUNが再起動後にオフラインになる場合があります。詳細については、「管理者によって設定されたポリシーのためディスクがオフラインになる」問題に関する記事を参照してください。
ドライブを自動的にマウントするには、SANポリシーの値をOnlineAllに変更します。
DISKPART> san policy=OnlineAll

SANポリシーに設定できる値は以下の通りです。
| OfflineAll | すべてのディスクがデフォルトでオフライン |
| OfflineInternal | 内部バス上のすべてのディスクがオフライン |
| OfflineShared | iSCSI、FC、SAS経由で接続されたすべてのディスクがオフライン |
| OnlineAll | すべてのディスクが自動的にオンライン(推奨) |
-
Windows 10のOffice 365でダークモードを有効にして設定する方法
ダークモードは美しいものです。多くのアプリやオペレーティングシステムで人気を集めているこの機能は、画面の明るさを抑え、目の負担を軽減しながら、内容を読みやすくしてくれます。しかし、Officeアプリそれぞれにも独自のダークモードが搭載されていることをご存じでしょうか。このガイドでは、Windows 10のOffice 365でダークモードを有効にする方法を詳しく解説します。 Office 365でダークモードを有効にする手順 まず、Wordで新しい文書、PowerPointでプレゼンテーション、またはExcelでスプレッドシートなど、いずれかのOfficeアプリを起動します。次に、開いているウ
-
Windows 10・8.1・7でFTPサーバーを構築・設定する完全ガイド(2022年最新版)
ネットワーク経由でファイルを共有・アクセスするために、Windows 10のFTPサーバーを設定したいとお考えですか?この記事では、Windows 10や8.1でFTPサーバーを作成する方法を詳しく解説します。さらに、FTPサーバー経由でファイルを共有する方法、LAN・WAN経由でどこからでもアクセスする方法、ユーザー名とパスワードによるアクセス制限や匿名アクセスの設定方法についてもご紹介します。内部ネットワーク用か外部ネットワーク用か、FTPサーバーの用途に応じて適切な設定を選びましょう。 FTPは「File Transfer Protocol(ファイル転送プロトコル)」の略で、クライアント