Windows Server 2012 R2 のフェールオーバー クラスターに新ノードを追加した直後、iSCSI 共有ディスクが「Offline/Reserved」と表示されて焦った——この現象は、実は“異常ではなく仕様”です。本記事では、なぜそう見えるのか、同時オンライン化したいときはどうするのか、メンテナンス モードの影響は何かを、運用の現場で迷わない具体手順とコマンド、設計の勘所までまとめて解説します。
事象の要約と結論
- 「Offline/Reserved」は正常:標準のクラスターディスクは常に1 台のノードだけが所有(Online)し、その他ノードは Reserved(予約済み)として見える。
- 全ノード同時アクセスをしたいならCSV(Cluster Shared Volumes)に変換する。
- メンテナンス モードはクラスタのヘルス監視と自動フェールオーバーを一時停止するだけで、I/O は継続する(作業後は必ず解除)。
- ディスク操作は必ず Failover Cluster Manager またはクラスタ向け PowerShellで行い、各ノードの「ディスクの管理」から強制オンライン化しない。
なぜ「Offline/Reserved」になるのか ― 仕組みから理解する
フェールオーバー クラスタでは、共有ディスクの整合性を保つためにSCSI-3 Persistent Reservation(PR)を使います。所有ノードだけが書き込み権を保持し、他ノードは予約状態(Reserved)のため OS の「ディスクの管理」では Offline または Reserved と表示されます。このとき、他ノードから直接オンライン化を試みると、次のようなエラーとなります。
指定されたディスクまたはボリュームは Microsoft Failover Clustering コンポーネントによって管理されています。操作を行うにはディスクをクラスター メンテナンス モードにし、リソース状態を Online にする必要があります。
つまり、「Reserved」表示=クラスタが正しく制御できている証拠です。所有権(OwnerNode)を変更したい場合はクラスタ側で移譲(Move)します。
CSV(Cluster Shared Volumes)にするとどう変わるか
CSV に追加すると、対象 LUN はクラスターにより特別に公開され、全ノードから C:\ClusterStorage\VolumeX\ の共通パスで同時アクセスできます。Hyper‑V のライブ マイグレーションやバックアップがシンプルになります。一方で、SQL Server FCI のようにディスク独占を前提とするワークロードでは CSV を使わないのが一般的です。
| ワークロード | CSV 利用推奨 | ポイント |
|---|---|---|
| Hyper‑V(VM 置き場) | 推奨 | 全ノード同時アクセス・ライブマイグレーションが容易 |
| スケールアウト ファイル サーバー(SOFS) | 推奨 | SMB 3 と併用、運用が簡素化 |
| SQL Server FCI | 非推奨 | 通常はクラスターディスク(非 CSV)を使用 |
| 汎用アプリの共有ディスク | 要検討 | アプリの I/O パターンとサポート方針を事前確認 |
よくある質問(FAQ)
複数ノードで同時にディスクをオンライン化できないのか?
標準のクラスターディスクでは同時オンライン化は不可です。CSV に変換すれば、全ノードから同時アクセスが可能です。
メンテナンス モードにすると本番影響はあるのか?
メンテナンス モードはリソースの IsAlive/LooksAlive 監視と自動フェールオーバーを一時停止します。ディスクはオンラインのままなので、I/O は継続します。バックアップ、整合性チェック(chkdsk)、パス切替試験など一時作業時に限定して使い、完了後は解除しましょう。
| 項目 | 通常状態 | メンテナンス モード中 |
|---|---|---|
| ディスク I/O | 継続 | 継続(停止しない) |
| ヘルス監視 | 有効 | 一時停止 |
| 自動フェールオーバー | 有効 | 抑止 |
| 運用の注意 | — | 作業後に必ず解除(解除忘れに注意) |
新ノード追加後にディスクが「Reserved」のまま/認識されないときの確認ポイント
| 課題 | 確認・対処 | 補足 |
|---|---|---|
| クラスター内で「Offline/Reserved」と表示 | 仕様どおりで正常。所有者ノードのみ Online。他ノードは Reserved。 | 所有権は Failover Cluster Manager または PowerShell で手動移譲可能。 |
| すべてのノードで同時にアクセスしたい | CSV に追加(右クリック →「Cluster Shared Volumes に追加」または PowerShell)。 | C:\ClusterStorage\ パスで共通アクセス。 |
| 新ノードが LUN を認識しない | SAN 側マッピング:各ノードの iSCSI イニシエーター IQN を同一 LUN に割り当てているか。 MPIO:機能が導入済み・パスが冗長化されているか。 クラスタ検証:Validate a Configuration(Storage が Success)。 追加可能ディスクの検出:ストレージ → ディスク → 「ディスクの追加」。 | OS の「ディスクの管理」からは操作しない(クラスタ制御下)。 |
| ディスク署名競合/古い PR が残る | SAN 側で古い予約解除、または全ノード切断後に PR をクリア。 必要に応じてディスクのオフライン/オンラインをクラスタ側で切り替え。 | バックアップや復元直後に起きがち。 |
正しい操作手順(Windows Server 2012 R2)
前提の整備
- MPIO を導入(全ノード):
Install-WindowsFeature Multipath-IO - iSCSI イニシエーターを起動し、ターゲットへ永続セッションで接続。全ノードで同一 LUN に到達できるようSAN 側で各ノードの IQN をマッピング。
- SAN ポリシーは既定(Offline Shared)のまま。diskpart で確認:
diskpart san exit
クラスタへの取り込み
- クラスター検証(必須):
Test-Cluster -Include "Storage","System Configuration","Network","Inventory" - 追加可能ディスクを登録:
Get-ClusterAvailableDisk | Add-ClusterDisk - 所有権の確認:
Get-ClusterResource -ResourceType "Physical Disk" | ft Name,State,OwnerGroup,OwnerNode -Auto - CSV に変換(必要な場合):
Add-ClusterSharedVolume -Name "Cluster Disk 4"
メンテナンス モードの安全な使い方
# ディスクをメンテナンス モードへ
Suspend-ClusterResource -Name "Cluster Disk 4" -MaintenanceMode 1
# 所有権を別ノードへ移譲
Move-ClusterResource -Name "Cluster Disk 4" -Node "NODE02"
# 作業完了後にメンテナンス解除
Suspend-ClusterResource -Name "Cluster Disk 4" -MaintenanceMode 0
※「Cluster Group」全体の移譲が必要なケースでは次を使用:
Move-ClusterGroup -Name "Cluster Group" -Node "NODE02"
運用のコツ(現場で迷わないチェックリスト)
- 操作主体は常にクラスタ:OS の「ディスクの管理」でのオンライン化はしない。
- 所有権を意識:I/O が重いジョブ(バックアップ等)は所有ノード側で実行。
- 監視停止の影響範囲:メンテナンス モード中は自動復旧しない。作業ウィンドウ内で完結させる。
- クォーラム設計:2012 R2 では Disk/File Share Witness を活用。CSV と Witness 用ディスクは分離。
- MPIO の一貫性:全ノードで同一 DSM/同一パス構成に統一。パス障害試験は時間差で行う。
- バックアップ:CSV ではリダイレクト I/O が発生する製品もあるため、バックアップ時間帯の負荷計画を事前確認。
代表的なエラーと対処早見表
| 症状 | 想定原因 | 確認/対処 |
|---|---|---|
| 「このディスクは他のサーバーにより予約されています」 | 所有権が他ノード | クラスタ側で所有権を移譲(Move-ClusterResource)。 |
| 新ノードのみディスクが見えない | SAN マッピング漏れ/MPIO 未構成 | 各ノードの IQN を LUN へ割当、MPIO を導入し再起動。 |
| CSV へ追加できない | ディスクにクラスタ非対応の属性/予約が残存 | PR クリア、クラスタ検証を再実行。役割が利用中ならメンテナンス モードで安全に操作。 |
| フェールオーバー直後にディスク Offline | 署名競合/ドライバ差異 | 全ノードのストレージ ドライバと DSM を揃える。署名重複は回避。 |
確認に使える PowerShell スニペット集
# 物理ディスクリソースの一覧
Get-ClusterResource -ResourceType "Physical Disk" | ft Name,State,OwnerNode -Auto
# CSV の一覧と状態
Get-ClusterSharedVolume | ft Name,State,OwnerNode -Auto
# クラスタ グループと所有ノード
Get-ClusterGroup | ft Name,OwnerNode,State -Auto
# 追加可能ディスクの検出
Get-ClusterAvailableDisk
# 直近のクラスタログを収集(ローカル時間で過去15分)
Get-ClusterLog -UseLocalTime -TimeSpan 15
# CSV から除外して通常ディスクへ戻す(事前にワークロード停止)
Remove-ClusterSharedVolume -Name "Cluster Disk 4"
設計で押さえるべき 5 つのポイント
- ワークロード適合性:CSV の可否はアプリのサポート マトリクスで判断(Hyper‑V=○、SQL FCI=×が基本)。
- クォーラムと Witness:可用性要件とノード数に応じて Disk/File Share Witness を選択。Witness とデータ LUN は分離。
- パス冗長と MPIO:物理配線・スイッチ冗長を含めて 2 経路以上を確保。DSM は統一。
- 監視と運用:メンテナンス稼働時は監視一時停止に留意。解除忘れを防ぐ運用チェック表を用意。
- ライフサイクル:Windows Server 2012 R2 はサポート終了済み。長期運用なら 2019/2022 以降への更新を計画。
現場でそのまま使える作業フロー(テンプレート)
- 計画:変更申請・作業手順・ロールバック案・停止許容時間を確定。
- 事前確認:SAN マッピング、MPIO、MSiSCSI サービスの自動起動、クォーラム状態を確認。
- 接続:新ノードを iSCSI ターゲットに永続接続。ディスクは OS 上では Offline のまま。
- 検証:
Test-Cluster(Storage Success を必ず確認)。 - 登録:
Get-ClusterAvailableDisk | Add-ClusterDisk。 - (必要時)CSV 化:
Add-ClusterSharedVolume -Name "<Cluster Disk #>"。 - 稼働確認:所有ノードでワークロードの I/O を確認。イベントログと
Get-ClusterLogを採取。 - 引き継ぎ:手順書・構成図・所有権ポリシー(Preferred Owners)を更新。
実運用でありがちな“つまずき”と回避策
- Disk Management からうっかり Online:誤操作防止で運用手順に「クラスタ ツール以外での操作禁止」を明記。権限分離も有効。
- CSV 化の影響を見落とす:バックアップ方式(スナップショット/VSS)や監視のパスを事前に棚卸し。
- Witness を CSV と同居:障害時の複合要因になるため分離。
- PR 残存による所有権取得失敗:計画停止中に SAN 側で PR を解放し、全ノード再認識を徹底。
- MPIO 不統一:ノードごとに DSM やバージョンが異なるとフェールオーバーで不安定化。ビルド標準化を維持。
サンプル:GUI での操作手順(CSV へ追加)
- Failover Cluster Manager を開く。
- [ストレージ] → [ディスク]で対象「Cluster Disk #」を右クリック。
- [Cluster Shared Volumes に追加]を選択。
- [CSVFS のパス(C:\ClusterStorage\VolumeX)]が表示されることを確認。
- Hyper‑V の VM 設定で保存先を CSV パスへ変更(必要に応じて)。
安全な切替のミニプレイブック
| 手順 | コマンド/操作 | 期待結果 | 失敗時の戻し |
|---|---|---|---|
| 監視停止 | Suspend-ClusterResource -MaintenanceMode 1 | ヘルス監視のみ停止、I/O 継続 | -MaintenanceMode 0 で解除 |
| 所有権移譲 | Move-ClusterResource -Node NODE02 | ノード変更、業務継続 | 元ノードへ再移譲 |
| CSV 化 | Add-ClusterSharedVolume -Name "Cluster Disk 4" | 共通パスで全ノード同時アクセス | Remove-ClusterSharedVolume で戻す(停止計画要) |
まとめ
- 「Offline/Reserved」表示は異常ではなく仕様。標準ディスクは 1 ノードだけが所有し、他ノードは予約状態になる。
- 全ノード同時アクセスが必要なら CSV 化。Hyper‑V や SOFS では特に有効。
- メンテナンス モードは I/O を止めないが自動復旧も止まる。使いどころを明確にし、解除を徹底。
- 操作は常にクラスタ ツールで。Disk Management からの直接操作は避ける。
- 新ノード追加時は:SAN マッピング(各ノードの IQN を同一 LUN に割当)→ MPIO → クラスタ検証 → 追加可能ディスク登録、の順番で確実に。
- Windows Server 2012 R2 はサポート終了済み。安定運用を続けるなら、2019/2022 以降への計画的アップグレードを推奨。
参考コマンド(再掲)
# ディスクを CSV に追加
Add-ClusterSharedVolume -Name "Cluster Disk 4"
# ディスクをメンテナンス モードへ
Suspend-ClusterResource -Name "Cluster Disk 4" -MaintenanceMode 1
# 所有権をノード02へ移譲
Move-ClusterGroup -Name "Cluster Group" -Node "NODE02"
チェックシート(コピーしてお使いください)
- [ ] 新ノードの MPIO 導入・再起動済み
- [ ] 各ノードの IQN を LUN に割当済み(SAN 側)
- [ ] iSCSI 永続セッションで接続済み(全ノード)
- [ ]
Test-Clusterで Storage が Success - [ ]
Get-ClusterAvailableDiskに対象 LUN が表示される - [ ] 追加後、OwnerNode/OwnerGroup を確認
- [ ] (必要時)CSV 化し、アプリの格納先を
C:\ClusterStorage\に統一 - [ ] メンテナンス モードは作業後に解除
- [ ] 変更記録・手順書・図面を更新

コメント