フェールオーバー クラスターのメンテナンス手順
適用対象: Azure Stack HCI バージョン 22H2 および 21H2、Windows Server 2022、Windows Server 2019、Windows Server 2016
重要
Azure Stack HCI が Azure Local の一部になりました。 製品ドキュメントの名前変更が進行中です。 ただし、古いバージョンの Azure Stack HCI (22H2 など) は引き続き Azure Stack HCI を参照し、名前の変更は反映されません。 詳細情報。
この記事では、メンテナンスを実行するために物理サーバーを電源オフにすること、または他の何らかの理由で再起動することが必要であると想定しています。 サーバーをオフラインにせずに 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 を使用してクラスターに接続し、 Storage > Volumes を選択します。
- 在庫を選択します。
- すべてのボリュームの Status 列を確認します。 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
フェールオーバー クラスター マネージャーでこれを行うには、[ノード] にアクセスし、ノードを右クリックして、[一時停止]>[Drain Roles]\(役割をドレインする\) を選択します。
サーバーで 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 では、サーバーのディスクをメンテナンス モードにすると、サーバーのシャットダウンがアプリケーションの状態に影響を及ぼさないようにするために、記憶域スペース ダイレクトにデータを適切にフラッシュおよびコミットする機会が与えられます。 ディスクがメンテナンス モードになったらすぐに、書き込みも許可されなくなります。 ストレージの再同期時間を最小限に抑えるために、再起動の直前にディスクをメンテナンス モードにし、システムがバックアップされた後すぐにメンテナンス モードを終了することをお勧めします。
Note
サーバーで 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 コマンドレットを使用するかフェールオーバー クラスター マネージャーを使用して、サーバーを安全にシャットダウンまたは再起動できるようになりました。
Note
シャットダウンするか、クラスター サービスを開始または停止するサーバーで Get-VirtualDisk
コマンドを実行すると、サーバーの動作状態が不完全または低下として報告され、正常性状態の列に警告が表示されることがあります。 これは正常であり、懸念を引き起こすべきではありません。 すべてのボリュームはオンラインのままでアクセスできます。
ディスクのメンテナンス モードを解除する
サーバーで Azure Stack HCI バージョン 20H2、Windows Server 2019 または Windows Server 2016 が実行されている場合は、サーバーをクラスターで再開する前に、ディスクのストレージ メンテナンス モードを無効にする必要があります。 ストレージの再同期時間を最小限に抑えるために、システムがバックアップされた後すぐにメンテナンス モードを終了することをお勧めします。
Note
サーバーで 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
フェールオーバー クラスター マネージャーでこれを行うには、[ノード] にアクセスし、ノードを右クリックして、[再開]>[Fail Roles Back]\(役割のフェールバック\) の順に選択します。
サーバーが再開されると、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
コマンドレットを使用して、ボリュームが再び [正常] と表示されることを確認します。 出力例を次に示します。
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
クラスター内の他のサーバーを一時停止して再起動しても安全になりました。
次のステップ
関連情報については、以下も参照してください。