LoginSignup
2
3

More than 5 years have passed since last update.

Hyper-Vクラスター環境(S2D)にノードを追加する方法

Posted at

記憶域スペースダイレクト(StorageSpacesDirect:S2D)を用いたHyper-Vクラスター環境はHCIであるため、スケールアウトが可能である。

検証環境

既存クラスター

以下のページで作成したクラスター環境を既存とする。
https://qiita.com/SkyLaptor/items/a1815b077b3db510fb5a

追加ノードサーバー

追加するノードサーバーは、既存のクラスターを構築しているノードと同じ機種・スペックであること。

  • 機種: 第二世代 Hyper-V仮想マシン
  • ストレージ: HDD: 300GB x5
  • NIC: 1Gpbs NIC x1
  • CPU: 16core
  • メモリ: 16GB
  • OS: WindowsServer2016 DataCenter 評価版

ネットワーク

  • 【既存】ActiveDirectoryサーバー: 192.168.1.20/24
  • 【既存】ノードサーバー1: 192.168.1.31/24
  • 【既存】ノードサーバー2: 192.168.1.32/24
  • ノードサーバー3: 192.168.1.33/24
  • 【既存】クラスターIP: 192.168.1.35/24

サーバーへのOSインストール

以下の点に気を付けてOSをインストールする。

  • GUIありでインストールする
  • WindowsUpdateの適用状態をノードサーバー同士で同じ状態にする
  • S2D用ディスクは全てGPTでフォーマットする
  • 時刻同期が正しく行われるようにする

Nested Hyper-Vの有効化

追加ノードサーバーはHyper-V仮想マシンであるため、そのままではHyper-Vの機能をインストールできない。
そこで、ノードサーバーに対してNested Hyper-Vを有効にしておく。

PowerShell
PowerShell
Set-VMProcessor -VMName <仮想マシン名> -ExposeVirtualizationExtensions $true

当たり前だが、実際の物理マシンの場合はこの作業は不要である。

ドメインへの参加

追加ノードサーバーをドメインに参加させる。ドメイン参加手順の詳細は省略。
add_node.jpg

クラスターへの追加

クラスター関連機能のインストール

追加ノードサーバーに対し、サーバーマネージャーから以下の機能をインストールする。インストールの詳細は省略。

  • Hyper-V
  • フェールオーバークラスタリング

クラスターへの参加

追加ノードサーバーを既存クラスターに参加させる。
1台の既存ノードサーバー上でのみ実施する。
"フェールオーバークラスターマネージャー"を起動し、クラスターツリーの中にある"ノード"を選択する。その後、"ノードの追加"を選択する。
add_nodecluster.jpg

about_addnode.jpg

追加するノードサーバー名を入力し、選択済みサーバーに表示されるようにして次に進む。
choose_addnodename.jpg

疑似環境であるため検証作業は省略する。
マイクロソフトサポートを受けるために必要であるため、実機では必ず実施して問題が無いことを確認すること。
check_certificate.jpg

"使用可能な記憶域をすべてクラスターに追加する"のチェックを外し、次に進む。
noadd_storages.jpg

正常にノードが追加されることを確認する。問題がなければクラスターノード一覧に追加したノードサーバーが表示される。
complete_addnode.jpg

listed_nodes.jpg

クラスター共有ボリュームを拡張

ノードを追加することで、自動的にS2Dの領域が増える。(同期処理のため時間はかかる)
しかし、S2Dの領域が増えたからといってクラスター共有ボリュームが増えるわけではない。よって、次の手順にてクラスター共有ボリュームを拡張する。

Get-VirtualDisk <対象ボリューム名> | Resize-VirtualDisk -Size <拡張後のサイズ>
Get-VirtualDisk <対象ボリューム名> | Get-Disk | Get-Partition | where PartitionNumber -Eq 2 | Resize-Partition -Size <拡張後のサイズ>

【例】
Get-VirtualDisk "Volume1" | Resize-VirtualDisk -Size 1.7TB
Get-VirtualDisk "Volume1" | Get-Disk | Get-Partition | where PartitionNumber -Eq 2 | Resize-Partition -Size 1.7TB

実際に増えているかどうかは、クラスターのディスクを確認するとよい。
check_extends.jpg

以上でノード追加によるスケールアウトが完了する。

備考: サイズの計算

仮想ディスクのサイズはモードによって設定可能な最大値が変動する。
今回ノードを追加したことで、300GBのディスク4本を使用したノード3台構成となったため物理的な容量は約3.6TBとなる。双方向ミラーで仮想ディスクを作成しているため実際に設定可能な最大値は約1.8TB(50%)となる。
TB/TiB問題もあり、-Sizeオプションで指定可能なサイズは結局1.7TB程度。(設定可能な値を超えるとエラーになる。)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3