フェールオーバー クラスターのメンテナンス手順
適用対象: Azure Stack HCI バージョン 22H2 および 21H2、Windows Server 2022、Windows Server 2019、Windows Server 2016
この記事では、メンテナンスを実行するために物理サーバーを電源オフにすること、または他の何らかの理由で再起動することが必要であると想定しています。 サーバーをオフラインにせずに Azure Stack HCI クラスターに更新プログラムをインストールする場合は、「Azure Stack HCI クラスターを更新する」を参照してください。
メンテナンスのためにサーバーをオフラインにするには、フェールオーバー クラスター内のすべてのサーバー間で共有されている記憶域の一部をオフラインにする必要があります。 そのためには、オフラインにするサーバーを一時停止し、サーバーのディスクをメンテナンス モードにして、クラスタ化されたロールと仮想マシン (VM) をクラスター内の他のサーバーに移動して、クラスター内のその他のサーバーですべてのデータが使用できるようにする必要があります。 このプロセスにより、メンテナンス期間の最初から最後まで、データが安全でアクセス可能な状態に保たれます。
メンテナンスのためにサーバーをオフラインにするには、Windows Admin Center または PowerShell のどちらでも使用できます。 このトピックでは、両方の方法について説明します。
Windows Admin Center を使用してサーバーをオフラインにする
サーバーをオフラインにするための準備を行う最も簡単な方法は、Windows Admin Center を使用することです。
サーバーをオフラインにしても安全であることを確認する
Windows Admin Center を使用して、オフラインにするサーバーに接続します。 [ツール] メニューから [記憶域] > [ディスク] の順に選択し、各仮想ディスクの [状態] 列が [オンライン] と表示されていることを確認します。
次に、[記憶域] > [ボリューム] の順に選択し、各ボリュームの [正常性] 列が [正常] と表示されていること、および各ボリュームの [状態] 列が [OK] と表示されていることを確認します。
サーバーの一時停止とドレイン
サーバーをシャットダウンまたは再起動する前に、サーバーを一時停止し、実行中の VM などのクラスター化されたロールをドレイン (移動) する必要があります。 クラスター化されたサーバーをメンテナンスのためにオフラインにする前に、常に一時停止してドレインします。
Windows Admin Center を使用してクラスターに接続し、クラスター マネージャーの [ツール] メニューから [コンピューティング] > [サーバー] の順に選択します。
[インベントリ] を選択します。 一時停止してドレインするサーバーの名前をクリックし、 [一時停止] を選択します。 次のプロンプトが表示されます。
Pause server(s) for maintenance: Are you sure you want to pause server(s)? (メンテナンスのためにサーバーを一時停止: サーバーを一時停止しますか?) This moves workloads, such as virtual machines, to other servers in the cluster. (これにより、仮想マシンなどのワークロードがクラスター内の他のサーバーに移動されます。)
サーバーを一時停止してドレイン プロセスを開始するには、 [はい] を選択します。 クラスター ノードの状態は メンテナンス中、ドレイン処理 と表示され、Hyper-V や VM などのロールについては、クラスター内の他のサーバーへのライブ マイグレーションが直ちに開始されます。 これには数分かかることがあります。 再開されるまで、ロールをサーバーに追加することはできません。 ドレイン処理が完了すると、サーバーの状態が メンテナンス中、ドレイン完了と表示されます。 オペレーティング システムによって自動的に安全性のチェックが実行され、処理を続行しても安全であることが確認されます。 正常でないボリュームがある場合は、停止して、安全に続行できないことを警告します。
サーバーをシャットダウンする
サーバーのドレインが完了したら、メンテナンスのためにシャットダウンしたり、再起動したりすることができます。
警告
サーバーで Azure Stack HCI バージョン 20H2、Windows Server 2019 または Windows Server 2016 が実行されている場合は、サーバーをシャットダウンする前にディスクをメンテナンス モードにする必要があり、サーバーをクラスターで再開する前にディスクのメンテナンスモードを解除する必要があります。
サーバーを再開する
クラスター化された役割と VM のホストをサーバーで再び開始する準備ができたら、サーバーを電源オンにし、起動するのを待ってから、次の手順に従ってサーバーを再開します。
クラスター マネージャーで、左側にある [ツール] メニューから [コンピューティング] > [サーバー] を選択します。
[インベントリ] を選択します。 再開するサーバーの名前を選択し、 [再開] をクリックします。
クラスター化されたロールと VM については、すぐにサーバーへのライブ マイグレーションが開始されます。 これには数分かかることがあります。
記憶域が再同期されるまで待機する
サーバーが再開されると、利用できなかった間に発生した新しい書き込みについては再同期が必要になります。 これは、インテリジェントな変更の追跡を使用して自動的に行われます。 スキャンまたは同期する必要があるのは変更のみであり、"すべての" データではありません。 このプロセスは、実稼働ワークロードへの影響を軽減するために調整されます。 サーバーが一時停止されてからの時間と、書き込まれた新しいデータの量によっては、完了までに数分かかることがあります。
重要
クラスター内の他のサーバーをオフラインにする前に、再同期が完了するまで待機する必要があります。
ストレージの再同期が完了した場合にチェックするには:
- Windows Admin Centerを使用してクラスターに接続し、[ストレージ > ボリューム] を選択します。
- [インベントリ] を選択します。
- すべてのボリュームの [状態] 列を確認します。 [OK] と表示された場合、ストレージの再同期は完了です。 クラスター内の他のサーバーをオフラインにしても安全になりました。
PowerShell を使用してサーバーをオフラインにする
PowerShell を使用してフェールオーバー クラスター内のサーバーを適切に一時停止、ドレイン、再開するには、次の手順を使用します。
サーバーをオフラインにしても安全であることを確認する
すべてのボリュームが正常であることを確認するには、次のコマンドレットを管理者として実行します。
Get-VirtualDisk
この出力の例を次に示します。
FriendlyName ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus Size FootprintOnPool StorageEfficiency
------------ --------------------- --------------------- ----------------- ------------ ---- --------------- -----------------
Mirror II Mirror 1 OK Healthy 4 TB 8.01 TB 49.99%
Mirror-accelerated parity OK Healthy 1002 GB 1.96 TB 49.98%
Mirror Mirror 1 OK Healthy 1 TB 2 TB 49.98%
ClusterPerformanceHistory Mirror 1 OK Healthy 24 GB 49 GB 48.98%
各ボリュームの HealthStatus プロパティが Healthy であり、OperationalStatus が OK と表示されていることを確認します。
フェールオーバー クラスター マネージャーを使用してこれを行うには、 [ストレージ]>[ディスク] に移動します。
サーバーの一時停止とドレイン
サーバーの一時停止とドレインを行うには、次のコマンドレットを管理者として実行します。
Suspend-ClusterNode -Drain
これを行うには、フェールオーバー クラスター マネージャーで、[ノード] に移動し、ノードを右クリックして、[一時停止]>[役割のドレイン] の順に選択します。
サーバーで Azure Stack HCI バージョン 21H2 または Windows Server 2022 が実行されている場合、サーバーの一時停止およびドレインにより、サーバーのディスクもメンテナンス モードになります。 サーバーが Azure Stack HCI バージョン 20H2、Windows Server 2019、または Windows Server 2016 で実行されている場合は、これを手動で実行する必要があります (次の手順を参照してください)。
ディスクをメンテナンス モードにする
Azure Stack HCI バージョン 20H2、Windows Server 2019 および Windows Server 2016 では、サーバーのディスクをメンテナンス モードにすると、サーバーのシャットダウンがアプリケーションの状態に影響を及ぼさないようにするために、記憶域スペース ダイレクトにデータを適切にフラッシュおよびコミットする機会が与えられます。 ディスクがメンテナンス モードになったらすぐに、書き込みも許可されなくなります。 ストレージの再同期時間を最小限に抑えるために、再起動の直前にディスクをメンテナンス モードにし、システムがバックアップされた後すぐにメンテナンス モードを終了することをお勧めします。
注意
サーバーで Azure Stack HCI バージョン 21H2 または Windows Server 2022 が実行されている場合は、サーバーの一時停止とドレイン時にディスクが自動的にメンテナンス モードに切り替わるため、この手順をスキップできます。 これらのオペレーティング システムには、再同期の高速化とシステムおよびネットワークのリソースに対する影響の低減を実現するきめ細かな修復機能が備わっています。これにより、サーバーとストレージのメンテナンスを一緒に実行できるようになります。
サーバーで Windows Server 2019 または Azure Stack HCI バージョン 20H2 が実行されている場合は、次のコマンドレットを管理者として実行します。
Get-StorageScaleUnit -FriendlyName "Server1" | Enable-StorageMaintenanceMode
サーバーで Windows Server 2016 が実行されている場合は、代わりに次の構文を使用します。
Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Enable-StorageMaintenanceMode
サーバーをシャットダウンする
サーバーのドレインが完了すると、PowerShell とフェールオーバー クラスター マネージャーに Paused として表示されます。
これで、Stop-Computer
または Restart-Computer
の PowerShell コマンドレットを使用するかフェールオーバー クラスター マネージャーを使用して、サーバーを安全にシャットダウンまたは再起動できるようになりました。
注意
シャットダウンするか、クラスター サービスを開始または停止するサーバーで Get-VirtualDisk
コマンドを実行すると、サーバーの動作状態が不完全または低下として報告され、正常性状態の列に警告が表示されることがあります。 これは正常であり、問題は発生しません。 すべてのボリュームは、オンラインでアクセス可能なままです。
ディスクのメンテナンス モードを解除する
サーバーで Azure Stack HCI バージョン 20H2、Windows Server 2019 または Windows Server 2016 が実行されている場合は、サーバーをクラスターで再開する前に、ディスクのストレージ メンテナンス モードを無効にする必要があります。 ストレージの再同期時間を最小限に抑えるために、システムがバックアップされた後すぐにメンテナンス モードを終了することをお勧めします。
注意
サーバーで Azure Stack HCI バージョン 21H2 または Windows Server 2022 が実行されている場合は、サーバーの再開時にディスクのメンテナンス モードが自動的に終了するため、この手順をスキップできます。
サーバーで Windows Server 2019 または Azure Stack HCI バージョン 20H2 が実行されている場合は、次のコマンドレットを管理者として実行して、ストレージ メンテナンス モードを無効にします。
Get-StorageScaleUnit -FriendlyName "Server1" | Disable-StorageMaintenanceMode
サーバーで Windows Server 2016 が実行されている場合は、代わりに次の構文を使用します。
Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Disable-StorageMaintenanceMode
サーバーを再開する
サーバーをクラスターで再開します。 サーバーで以前に実行されていたクラスター化された役割と VM を戻すには、オプションの -Failback フラグを使用します。
Resume-ClusterNode –Failback Immediate
これを行うには、フェールオーバー クラスター マネージャーで、[ノード] に移動し、ノードを右クリックして、[再開]>[役割のフェールバック] の順に選択します。
サーバーが再開されると、PowerShell およびフェールオーバー クラスター マネージャーに Up として表示されます。
記憶域が再同期されるまで待機する
サーバーが再開されたら、クラスター内の他のサーバーをオフラインにする前に、再同期が完了するまで待機する必要があります。
進行状況を監視するには、次のコマンドレットを管理者として実行します。
Get-StorageJob
再同期が既に完了している場合、出力は何も表示されません。
実行中の再同期 (修復) ジョブを示す出力例を次に示します。
Name IsBackgroundTask ElapsedTime JobState PercentComplete BytesProcessed BytesTotal
---- ---------------- ----------- -------- --------------- -------------- ----------
Repair True 00:06:23 Running 65 11477975040 17448304640
Repair True 00:06:40 Running 66 15987900416 23890755584
Repair True 00:06:52 Running 68 20104802841 22104819713
BytesTotal 列には、再同期する必要がある記憶域の量が表示されます。 PercentComplete 列に進行状況が表示されます。
警告
これらの修復ジョブが完了するまでは、他のサーバーを安全にオフラインにすることはできません。
この間、HealthStatus にはボリュームが Warning として引き続き表示されます。これは正常です。
たとえば、記憶域の再同期中に Get-VirtualDisk
コマンドレットを使用すると、次の出力が表示される場合があります。
FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1 Mirror InService Warning True 1 TB
MyVolume2 Mirror InService Warning True 1 TB
MyVolume3 Mirror InService Warning True 1 TB
ジョブが完了したら、再度 Get-VirtualDisk
コマンドレットを使用して、ボリュームが Healthy と表示されることを確認します。 出力例を次に示します。
FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1 Mirror OK Healthy True 1 TB
MyVolume2 Mirror OK Healthy True 1 TB
MyVolume3 Mirror OK Healthy True 1 TB
これで、クラスター内の他のサーバーの一時停止や再起動を安全に行うことができます。
次のステップ
関連情報については、以下もご覧ください。