記憶域スペース ダイレクト クラスターを新しいバージョンの Windows Server にアップグレードすると、最新の機能、セキュリティ更新プログラム、パフォーマンスの向上を利用できます。 この記事では、Windows Server 2016 を実行している記憶域スペース ダイレクト クラスターでサポートされるアップグレード オプションについて説明します。これには、仮想マシン (VM) のダウンタイムを最小限に抑える方法や排除する方法が含まれます。 組織のニーズに最適な方法を選択できるように、各アップグレード アプローチの前提条件、制限事項、および詳細な手順について説明します。
ヒント
Windows Server 2019 以降からクラスターをアップグレードする場合、この記事で説明する手順は必要ありません。 Windows Server 2019 以降からクラスターをアップグレードする場合は、 クラスター OS ローリング アップグレード プロセス を使用して、VM を停止せずにクラスターをアップグレードします。 この記事の手順では、クラスターを Windows Server 2016 から Windows Server 2019 にのみアップグレードします。
記憶域スペース ダイレクト クラスターを新しいバージョンの Windows Server にアップグレードするには、クラスター OS ローリング アップグレード プロセスを使用する 4 つのオプションがあります。 2 つのオプションには、仮想マシン (VM) の実行を維持する方法と、すべての VM を停止するオプションの 2 つがあります。 各オプションには長所と短所があるため、組織のニーズに最も適したオプションを選択します。
アップグレード オプションの詳細を確認するには、リンクを選択します。
VM がクラスター内の各サーバーで 実行されている間のインプレース アップグレードです。 このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。
VM がクラスター内の各サーバーで 実行されている間に、OS のクリーン インストールを行います。 このオプションでは、VM のダウンタイムは発生しません。 ただし、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。 また、すべてのアプリとロールを含め、各サーバーをもう一度設定する必要があります。 インプレース アップグレードよりも、このオプションをお勧めします。
クラスター内の各サーバーで VM が 停止されている間に、インプレース アップグレードが実行されます。 このオプションでは VM のダウンタイムが発生しますが、ストレージ ジョブ (ミラー修復) を待つ必要がないため、高速です。
クラスター内の各サーバーで VM が 停止されている間に、OS のクリーン インストールが行われます。 このオプションでは VM のダウンタイムが発生しますが、ストレージ ジョブ (ミラー修復) を待つ必要がないため、高速です。 インプレース アップグレードよりも、このオプションをお勧めします。
前提条件と制限事項
アップグレードを続行する前に、次の手順を実行します。
アップグレード プロセスに関するいくつかの制限事項に注意することが重要です。
アップグレードは Resilient File System (ReFS) ボリュームで完全にサポートされていますが、Windows Server 2019 では、アップグレードされたボリュームは ReFS の機能強化の恩恵を受けません。 ミラー高速化パリティのパフォーマンス向上など、ReFS の利点には、新しく作成された Windows Server 2019 以降の ReFS ボリュームが必要です。 新しい Windows Server ReFS ボリュームを作成するには、New-Volume コマンドレットまたはサーバー マネージャーを使用して新しいボリュームを作成する必要があります。 新しいボリュームでの ReFS の機能強化の一部を次に示します。
記憶域スペース ダイレクト クラスター サーバーをアップグレードする前に、サーバーを記憶域メンテナンス モードにすることをお勧めします。
スイッチ埋め込みチーミング (SET) スイッチを使用するソフトウェア定義ネットワーク環境で既知の問題が発生します。 この問題には、以前のバージョンのオペレーティング システム Hyper-V VM のライブ マイグレーションが含まれます。 ライブ マイグレーションを確実に成功させるには、ライブマイグレーションする VM の VM ネットワーク設定を変更することをお勧めします。
ここで説明する既知の問題により、以下に示す 4 つの方法のいずれかを使用して Windows Server クラスターをアップグレードするのではなく、新しいクラスターを構築し、古いクラスターからデータをコピーすることを選択する場合があります。
アップグレード
次のセクションでは、4 つのアップグレード オプションについて詳しく説明します。 各セクションには、アップグレードを実行するための詳細な手順が含まれています。 お好みのアップグレード オプションを選択します。
このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。 個々のサーバーはアップグレード プロセス中に順番に再起動されますが、クラスター内の残りのサーバーとすべての VM は引き続き実行されます。
クラスター内のすべてのサーバーに最新の Windows Update がインストールされていることを確認します。
SET スイッチでソフトウェア定義ネットワークを使用している場合は、管理者特権の PowerShell セッションを開き、次のコマンドを実行して、クラスター上のすべての VM で VM のライブ マイグレーション検証チェックを無効にします。
Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
Set-ClusterParameter -Create SkipMigrationDestinationCheck -Value 1
一度に 1 つのクラスター サーバーで、次の手順を実行します。
Hyper-V を使用して VM ライブ マイグレーションを行い、実行中の VM をアップグレードしようとしているサーバーから移動します。
次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。 サーバーから VM をまだライブマイグレーションしていない場合、このコマンドレットはその手順を実行します。 その場合は、必要に応じて前の手順をスキップできます。
Suspend-ClusterNode -Drain
サーバーをストレージ メンテナンス モードにします。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Enable-StorageMaintenanceMode
次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード でされていることを確認します。
Get-PhysicalDisk
setup.exe を実行し、[個人用ファイルとアプリを保持する] オプション 使用して、サーバーに Windows Server のアップグレード インストール 実行します。 インストールが完了すると、サーバーはクラスターに残り、クラスター サービスが自動的に開始されます。
新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。
記憶域メンテナンス モードからサーバーを削除します。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Disable-StorageMaintenanceMode
サーバーを再開します。
Resume-ClusterNode
ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。
Get-StorageJob
Get-VirtualDisk
クラスター内の次のサーバーをアップグレードします。
すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。 クラスターの機能レベルを更新した後は、以前のクラスター機能レベルに戻ることはできません。 つまり、クラスターの機能レベルを更新した後は、以前のバージョンの Windows Server ノードをクラスターに追加することはできません。 詳細については、「クラスター オペレーティング システムのローリング アップグレード 」を参照してください。
Update-ClusterFunctionalLevel
手記
クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。
クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。
Update-StoragePool
必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。
SET スイッチでソフトウェア定義ネットワークを使用し、前に説明したように VM ライブ マイグレーション チェックを無効にしている場合は、次のコマンドレットを使用して VM のライブ検証チェックを再度有効にします。
Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
Set-ClusterParameter SkipMigrationDestinationCheck -Value 0
アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。
クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。
Test-Cluster
このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。 個々のサーバーはアップグレード プロセス中に順番に再起動されますが、クラスター内の残りのサーバーとすべての VM は引き続き実行されます。
クラスター内のすべてのサーバーで最新の更新プログラムが実行されていることを確認します。
SET スイッチでソフトウェア定義ネットワークを使用している場合は、管理者特権の PowerShell セッションを開き、次のコマンドを実行して、クラスター上のすべての VM で VM のライブ マイグレーション検証チェックを無効にします。
Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
Set-ClusterParameter -Create SkipMigrationDestinationCheck -Value 1
一度に 1 つのクラスター サーバーで、次の手順を実行します。
Hyper-V を使用して VM ライブ マイグレーションを行い、実行中の VM をアップグレードしようとしているサーバーから移動します。
次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。 サーバーから VM をまだライブマイグレーションしていない場合、このコマンドレットはその手順を実行します。 その場合は、必要に応じて前の手順をスキップできます。
Suspend-ClusterNode -Drain
サーバーをストレージ メンテナンス モードにします。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Enable-StorageMaintenanceMode
次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード でされていることを確認します。
Get-PhysicalDisk
クラスターからサーバーを削除します。
Remove-ClusterNode <ServerName>
最新バージョンの Windows Server をサーバーにクリーン インストールします。 クリーン インストールの場合は、システム ドライブをフォーマットし、setup.exeを実行し、Nothing オプションを使用します。 セットアップが完了してサーバーが再起動した後で、サーバー ID、役割、機能、およびアプリケーションを構成する必要があります。
Hyper-V ロールと Failover-Clustering 機能をサーバーにインストールします (Install-WindowsFeature コマンドレットを使用できます)。
記憶域スペース ダイレクトでの使用が承認されているサーバーの製造元から、ハードウェアの最新の記憶域およびネットワーク ドライバーをダウンロードしてインストールします。
新しくアップグレードされたサーバーに最新の更新プログラムがあることを確認します。
サーバーをクラスターに再参加させます。
Add-ClusterNode
記憶域メンテナンス モードからサーバーを削除します。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Disable-StorageMaintenanceMode
ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。
Get-StorageJob
Get-VirtualDisk
クラスター内の次のサーバーをアップグレードします。
すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。 クラスターの機能レベルを更新した後は、以前のクラスター機能レベルに戻ることはできません。
Update-ClusterFunctionalLevel
手記
クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。
クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。
Update-StoragePool
必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。
SET スイッチでソフトウェア定義ネットワークを使用し、前に説明したように VM ライブ マイグレーション チェックを無効にしている場合は、次のコマンドレットを使用して VM のライブ検証チェックを再度有効にします。
Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
Set-ClusterParameter SkipMigrationDestinationCheck -Value 0
アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。
クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。
Test-Cluster
このオプションは、すべての VM が停止している間に、クラスター内の各サーバーのインプレース アップグレードを実行します。 各サーバーがアップグレードされた後にストレージ ジョブ (ミラー修復) が完了するのを待つ必要がないため、通常、アップグレード プロセスは VM の実行中にアップグレードするよりも高速です。 アップグレード プロセス中に個々のサーバーが順番に再起動されますが、クラスター内の残りのサーバーは引き続き実行されます。
クラスター内のすべてのサーバーで最新の更新プログラムが実行されていることを確認します。
クラスターで実行されている VM を停止します。
一度に 1 つのクラスターで、次の手順を実行します。
管理者特権の PowerShell セッションを開き、次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。
Suspend-ClusterNode -Drain
サーバーをストレージ メンテナンス モードにします。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Enable-StorageMaintenanceMode
次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード でされていることを確認します。
Get-PhysicalDisk
setup.exe を実行し、[個人用ファイルとアプリを保持する] オプション 使用して、サーバーに Windows Server のアップグレード インストール 実行します。 インストールが完了すると、サーバーはクラスターに残り、クラスター サービスが自動的に開始されます。
新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。
記憶域メンテナンス モードからサーバーを削除します。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Disable-StorageMaintenanceMode
サーバーを再開します。
Resume-ClusterNode
ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 VM が実行されていないため、プロセスは比較的高速である必要があります。 次のコマンドを実行して、正常な状態を確認します。
Get-StorageJob
Get-VirtualDisk
クラスター内の次のサーバーをアップグレードします。
すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。
Update-ClusterFunctionalLevel
手記
クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。
クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。
Update-StoragePool
クラスターで VM を起動し、正常に動作していることを確認します。
必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。
アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。
クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。
Test-Cluster
このオプションは、すべての VM が停止している間に、クラスター内の各サーバーに Windows Server のクリーン インストールを実行します。 各サーバーがアップグレードされた後にストレージ ジョブ (ミラー修復) が完了するのを待つ必要がないため、通常、アップグレード プロセスは VM の実行中にアップグレードするよりも高速です。 アップグレード プロセス中に個々のサーバーが順番に再起動されますが、クラスター内の残りのサーバーは引き続き実行されます。
クラスター内のすべてのサーバーが最新の更新プログラムを実行していることを確認します。
クラスターで実行されている VM を停止します。
一度に 1 つのクラスター サーバーで、次の手順を実行します。
管理者特権の PowerShell セッションを開き、次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。
Suspend-ClusterNode -Drain
サーバーをストレージ メンテナンス モードにします。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Enable-StorageMaintenanceMode
次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード でされていることを確認します。
Get-PhysicalDisk
クラスターからサーバーを削除します。
Remove-ClusterNode <ServerName>
サーバーに Windows Server のクリーン インストールを実行します。 クリーン インストールの場合は、システム ドライブをフォーマットし、setup.exeを実行し、Nothing オプションを使用します。 セットアップが完了してサーバーが再起動した後で、サーバー ID、役割、機能、およびアプリケーションを構成する必要があります。
Hyper-V ロールと Failover-Clustering 機能をサーバーにインストールします (Install-WindowsFeature コマンドレットを使用できます)。
記憶域スペース ダイレクトでの使用が承認されているサーバーの製造元から、ハードウェアの最新の記憶域およびネットワーク ドライバーをダウンロードしてインストールします。
新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。
サーバーをクラスターに再参加させます。
Add-ClusterNode
記憶域メンテナンス モードからサーバーを削除します。
Get-StorageFaultDomain -type StorageScaleUnit | `
Where FriendlyName -Eq <ServerName> | `
Disable-StorageMaintenanceMode
ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。
Get-StorageJob
Get-VirtualDisk
クラスター内の次のサーバーをアップグレードします。
すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。
Update-ClusterFunctionalLevel
手記
クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。
クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。
Update-StoragePool
クラスターで VM を起動し、正常に動作していることを確認します。
必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。
アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。
クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。
Test-Cluster