2023年1月29日日曜日

Azure Stack HCI Single Serverから2ノードクラスターにしましたが、更に3ノードクラスターにしてみます。

Azure Stack HCI 22H2をSingle Server/Single Nodeから、2ノードクラスターへ変更する

からの続き。

Azure Stack HCI Single Serverから2ノードクラスターにしましたが、更にノードを追加してます。つまり3ノードクラスターにしてみます。

念のため、Validateしておきます。

しばらく待つと、正常終了します。

3ノード目を追加します。

さて、ここからが本番でして、

2 ノードから 3 ノード以上のクラスター

に沿って進めます。

3ノードクラスターになっていますが、クラスターパフォーマンス履歴、CSVなどは、双方向ミラーのままです。

Get-VirtualDiskでは、クラスターパフォーマンス履歴のNumberOfDataCopiesを確認しました。
本環境では、CSVのNumberOfDataCopiesは、Get-StorageTierで確認しました。
※環境によっては、Get-VirtualDiskで確認できるケースもあります。

クラスターパフォーマンス履歴から、3方向ミラーに変えようとしましたが失敗しました。

容量不足ですか。。。

CSVも3方向ミラーに変えようとしましたが失敗しました。

よくよく見ると、"Set-StorageTier -NumberfOfDataCopies"となっています。赤字のfが余計です。正しくは"Set-StorageTier -NumberfOfDataCopies"なので、プルリクエストをあげて修正を依頼しました。。。
オプションなおして再実行しました。が、やはり容量不足です。
原因は、3ノード目のディスクがストレージプールに未追加でした。

しばらく待ってから、再確認。ストレージプールに3ノード目のディスクが追加されました。

Get-StorageJobでもディスクの追加を確認しました。

クラスターパフォーマンス履歴から、3方向ミラーに変更しました。

Get-VirtualDiskでは、クラスターパフォーマンス履歴のNumberOfDataCopiesは、3になっています。3方向ミラーになりました。

CSVも3方向ミラーに変更しました。

さて、これらの変更をストレージジョブで反映するはずですが、いつまでも動きません。

2 ノードから 3 ノード以上のクラスター

には、CSVを別ノードにライブマイグレーションしてみろとあったので、試してみます。

ストレージジョブを確認したところ、CSVに対するストレージジョブは動き始めました!

クラスターパフォーマンス履歴は、not CSVなので、別の方法でライブマイグレーションしなければなりません。そこでGet-ClusterGroupやGet-ClusterResourceを実行して、関連性を確認しました。

クラスターパフォーマンス履歴→SDDC Group→オーナーノード(この場合は、g2ashcios04)となっています。Move-ClusterGroupは、クラスターグループのライブマイグレーションが出来そうなので、試してみます。
目論見通り、クラスターパフォーマンス履歴が関連付けられているSDDC Groupが別ノードに移動しました。ストレージジョブは、どうでしょうか。
動いてくれました。しばらく放置します。

しばらく待つと、ストレージジョブは完了していました。
Windows Admin Centerのほうでも、リペアジョブが必要とのメッセージは無いので、完了ですね。こちらでも3方向ミラーになっていることが確認できました。

Azure Stack HCI 22H2をSingle Server/Single Nodeから、2ノードクラスターへ変更する

Azure Stack HCI Single Nodeを作りました。

の構成から、2ノードクラスターへ拡張してみます。

Change a single-node to a multi-node cluster (optional)

に沿って進めます。
※各ステップの内容は、日本語版を採用します。が、念のため英語版もご確認くださいね。

1. Azure Stack HCI クラスターの検証

「Validate-DCB ツールをインストールして実行する」を確認しました。今回の環境がNested Hyper-Vであるため、この確認はスキップとしました。Validate-DCB ツールを実行するところまで画面を貼っておきます。

素直に、下記を実行しました。
Install-Module Validate-DCB
エラーになってますね。なので、Validate-DCB ツールの実行もできませんし、そもそもモジュールのインポートもできません。
モジュールPester競合しているため、
Install-Module Validate-DCB -SkipPublisherCheck
として実行しないとダメでした。

Validate-DCB ツールを実行してみます。

物理サーバーであれば、このあたりを設定可能なので、本ツールは有用ですね。今回は、Nested Hyper-Vなのでここで止めてしまいます。
ちゃんと保存していないとメッセージ出ますw

シングルノードになっているクラスターをValidateします。[Validate cluster (Preview)]をクリックします。

[Yes]をクリックします。
しばらく待つと、Validateが正常終了しました。

2. クラスターにサーバーを追加する

ノードを追加します。[+ Add]をクリックします。

追加したいAzure Stack HCI OSのノードを入力し、しばし待ちます。検出できたら、[Add]をクリックします。

追加対象に入ったことを確認して、一番下にある[Add]をクリックします。
しばらく待つと、ノード追加が正常終了しました。

3. インライン 障害ドメインの変更

ストレージ プールの障害ドメインの種類を確認しておきます。
ストレージ プールの障害ドメインの種類を変更し、結果を確認します。


クラスターとしての仮想ディスクを確認しておきます。

クラスターパフォーマンス履歴ボリュームを削除します。

新しいストレージ層を生成し、クラスターのパフォーマンス履歴ボリュームを再作成します。

クラスターパフォーマンス履歴は、しばらく待つと出来上がります。すぐに出来上がっていないからと焦らないようにしましょう。

適用できなくなったストレージ層を削除する前に、どういうものがあるかを見ておきます。

ストレージ層の概要テーブルも参照したのですが、今一つ理解できない。2ノードクラスターとして作成したものと比較してみました。
PerformanceとParityOnHDDが対象かなと。注意深く進める観点から、ParityOnHDDだけを削除しました。
2ノードクラスターと、改めて比較しておきます。

既存のボリュームの障害ドメインの種類を確認します。

既存のボリュームの障害ドメインの種類を変更します。が"階層化ボリュームの場合"だったようでして、変更が失敗しました。

階層化ボリュームのFriendlyNameを確認します。

"階層化ボリュームの場合"として、既存のボリュームの障害ドメインの種類を変更します。
ストレージジョブが完了するまで待ちます。

4. Optionally, if more resiliency is needed, adjust the volume resiliency type from a 2-way mirror to a Nested 2-way mirror: Single-server to two-node cluster.
は、スキップしました。

5. クラスターウィットネス

でファイル共有ウィットネスを作成します。

以上で完了です。