Hyper-V ワークグループクラスター検証

ここのところ Windows Server 2025 (v.Next) の情報が続々公開されており、その中に Hyper-V ワークグループクラスターの情報が入ってきました。
巷ではV社の動向に気を揉んでいる方も多いと思います、これがどこまで使えるものなのかの検証してみましたので一服の安らぎ程度にご覧になっていただけますと幸いです。

## ワークグループクラスターとは

ワークグループクラスターは、Windows Server 2016以降で実装された機能で、ドメインに依存しないクラスターを構築します。これは、複数のサーバーを1つのフォールトトレラントクラスタにグループ化するための新機能と機能強化を提供します
「ドメインに依存しない」によりActive Directoryドメインコントローラーが不要となりますので、システム構成のシンプル化と作業量の削減に効果のある仕組みとなっています。
ただしいくつかの制約がありよろずに対応可能なものではありませんので、本稿の内容を理解いただき用法・用量を守って正しくお使いください。

## ワークグループクラスターの制約

Windows Server 2016/2019/2022のワークグループクラスターでは、<ins>ライブマイグレーション (ダウンタイムなしで仮想マシンのホストを移動可能な機能) がサポートされておらず</ins>クイックマイグレーション (ダウンタイムあり) のみのサポートとなります。
一般的にメンテナンスなどで仮想マシンを別ホストに移動 → ホスト再起動と言うオペレーションがあると思います。この際ライブマイグレーションであれば移動操作だけですが、クイックマイグレーションの場合は仮想マシン停止 → 別ホストに移動 → 仮想マシン起動と言うオペレーションが必要となります。 (更に戻す場合も同様、あとクラスター対応更新も使えません)
これはホスト数に比例して作業量も多くなりますので、規模のある基盤ではなかなか厳しい要件になるでしょう。

<ins>**がなんとWindows Server 2025ではワークグループクラスターでライブマイグレーションがサポートされます！**</ins>

[What’s New in Windows Server v.Next](https://ignite.microsoft.com/en-US/sessions/f3901190-1154-45e3-9726-d2498c26c2c9?source=sessions)
![0fdef6174b2bf7ef07e5_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620633/ff5067d8-5167-9e4f-e21a-9a2d038b2a6b.png)

弊社でもWindows Server 2025 Preview (Build 26085) にてライブマイグレーションの正常動作を確認いたしました。

## システム構成

ワークグループクラスターは下図のようなシステム構成になります。
いわゆるハイパーコンバージドインフラの構成ですが、共有ストレージを用いた3Tier構成も可能です。

![0fdef6174b2bf7ef07e5_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620633/1dbf4c5e-74e3-b640-70fd-ea39cde539dd.png)

通常のフェールオーバークラスターの場合これに加えてActive Directoryドメインコントローラー×2が必要となり、かつそのうち1台はクラスター外への設置が必要ですので追加で1台ないしは2台のホストが必要になることが多いですね。

## 構築手順

構築手順はざっくりこんな感じです。

<table>
<colgroup>
<col style="width: 5%" />
<col style="width: 31%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr class="header">
<th>#</th>
<th>手順</th>
<th>補足</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>ハードウェア組み上げ</td>
<td>記憶域スペースダイレクト (S2D) の要件でOS以外に最低4本のディスクが必要</td>
</tr>
<tr class="even">
<td>2</td>
<td>ネットワーク結線</td>
<td></td>
</tr>
<tr class="odd">
<td>3</td>
<td>OSインストール</td>
<td><ul>
<li><p>各ホストのAdministratorのパスワードを同一に設定</p></li>
<li><p>各ホストのDNSサフィックスを同一に設定 (ドメイン下だと自動設定されるので忘れがち)</p></li>
</ul></td>
</tr>
<tr class="even">
<td>4</td>
<td>役割と機能の有効化</td>
<td><p>役割：Hyper-V (Hyper-V)</p>
<p>役割：ファイルサーバー (FS-FileServer)</p>
<p>機能：フェールオーバークラスタリング (Failover-Clustering)</p>
<p>機能：データセンターブリッジング (Data-Center-Bridging)</p></td>
</tr>
<tr class="odd">
<td>5</td>
<td>クラスターを構成</td>
<td><a href="https://techcommunity.microsoft.com/t5/failover-clustering/workgroup-and-multi-domain-clusters-in-windows-server-2016/ba-p/372059">Workgroup and Multi-domain clusters in Windows Server 2016</a></td>
</tr>
<tr class="even">
<td>6</td>
<td>Hyper-V 仮想スイッチの作成</td>
<td>各ホストで同一名称の仮想スイッチを作成</td>
</tr>
<tr class="odd">
<td>7</td>
<td>S2D の有効化</td>
<td>クラスター内のいずれかのホストで Enable-ClusterStorageSpacesDirect を実行</td>
</tr>
<tr class="even">
<td>8</td>
<td>S2D のボリューム作成</td>
<td><a href="https://learn.microsoft.com/ja-jp/windows-server/storage/storage-spaces/deploy-storage-spaces-direct">Azure Stack HCI および Windows Server クラスター上でボリュームを作成する</a></td>
</tr>
</tbody>
</table>

## 検証項目

クラスター上での仮想マシンの基本的な動作に加えて、主に非機能の観点で実施した検証項目となります。

<table>
<colgroup>
<col style="width: 5%" />
<col style="width: 29%" />
<col style="width: 65%" />
</colgroup>
<thead>
<tr class="header">
<th>#</th>
<th>検証項目</th>
<th>検証結果</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>ノードリストア</td>
<td><ul>
<li><p>ノード障害の復旧検証</p></li>
<li><p>Windows Serverバックアップからのリストアでノード障害の復旧が可能</p></li>
</ul></td>
</tr>
<tr class="even">
<td>2</td>
<td>ディスクリペア</td>
<td><ul>
<li><p>S2Dを構成する物理ディスク障害の復旧検証</p></li>
<li><p>新しいディスクに付け替えることで自動的に修復される</p></li>
<li><p>全ディスクを新しいディスクに交換しても稼働ノードがあれば自動的に修復される</p></li>
</ul></td>
</tr>
<tr class="odd">
<td>3</td>
<td>2ノード→3ノードへのノード追加</td>
<td><ul>
<li><p>2ノードのクラスターを3ノードに増強する検証</p></li>
<li><p>必要となる機能を追加済みの同一構成のサーバーを、クラスターのノード追加を行うことで自動的にS2Dの構成も行われた</p></li>
<li><p>ノード追加後25分程度すると追加したノードのローカルディスクが自動的に S2Dに組み込まれ、さらに15分程度経過すると、追加されたディスクへのデータの均衡化が行われた</p></li>
</ul></td>
</tr>
<tr class="even">
<td>4</td>
<td>クラスター対応更新</td>
<td>クラスター対応更新はドメイン環境でのみサポートされており、ワークグループでは有効にすることができなかった。(エラーメッセージとしてドメイン環境でのみ有効化できるというメッセージが出力される)</td>
</tr>
<tr class="odd">
<td>5</td>
<td>優先ノード</td>
<td>優先所有者の設定を使用することで、クイックマイグレーション実行時に優先的に移動させることができた</td>
</tr>
</tbody>
</table>

クラスター対応更新はライブマイグレーションと関連していますので仕方ないと言えば仕方ないですね。

## (参考情報) ライセンス

参考としてライセンス関連の情報を下記に記載します。

<table>
<colgroup>
<col style="width: 5%" />
<col style="width: 31%" />
<col style="width: 63%" />
</colgroup>
<thead>
<tr class="header">
<th>#</th>
<th>ライセンス</th>
<th>補足</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td>サーバーライセンス</td>
<td><ul>
<li><p>通常のWindows Server ライセンスが必要</p></li>
</ul>
<ul>
<li><p>物理コアライセンスで、ホストあたり最低16コアから購入可能</p></li>
<li><p>実行できる仮想マシンの数はStandard：2/Datacenter : 無制限</p></li>
<li><p><u>ライセンスのカウント対象にはフェールオーバー等で一時的に実行される仮想マシンも含む</u></p></li>
</ul></td>
</tr>
<tr class="even">
<td>2</td>
<td>CAL</td>
<td><ul>
<li><p>ホストの管理は「OS管理のみを目的としてアクセスする最大2台のデバイスまたは2人のユーザ」の範囲でCAL不要</p></li>
<li><p>仮想マシンでCALが必要な要件がある場合は個別に購入</p></li>
</ul></td>
</tr>
<tr class="odd">
<td>3</td>
<td>サポート</td>
<td><ul>
<li><p><u>ライセンスにはサポートが付随しないため別途契約が必要</u></p></li>
<li><p>ハードウェアベンダーもしくはマイクロソフト社との契約が一般的と思われる</p></li>
</ul></td>
</tr>
<tr class="even">
<td>4</td>
<td>価格</td>
<td><a href="https://www.microsoft.com/ja-jp/windows-server/pricing">Windows Server 2022 の価格とライセンス</a></td>
</tr>
</tbody>
</table>

## おわりに

Hyper-V ワークグループクラスター検証いかがでしたでしょうか？
本稿はV社の買収をトリガーにカウンターとして執筆しましたが、改めて検証するとその件がなくても意外と使えるのではと思いました。
ライブマイグレーションできないのはかなり痛い制約ではありますが、例えば「2ノードでのActive/Standby構成でそもそもライブマイグレーション不要」な場合などいくつかはまるケースはありそうです。

もちろんV社からの移行となるとオペレーションやサポートは大幅に変わりますのでその観点の検討もお忘れなく。