次の方法で共有


記憶域スペース ダイレクト クラスターをアップグレードする

記憶域スペース ダイレクト クラスターを新しいバージョンの Windows Server にアップグレードするには、クラスター OS ローリング アップグレード プロセスを使用する 4 つのオプションがあります。 2 つのオプションには、仮想マシン (VM) の実行を維持する方法と、すべての VM を停止するオプションの 2 つがあります。 各オプションには長所と短所があるため、組織のニーズに最も適したオプションを選択します。

アップグレード オプションの詳細を確認するには、リンクを選択します。

  • VM がクラスター内の各サーバーで 実行されている間のインプレース アップグレードです。 このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。

  • VM がクラスター内の各サーバーで 実行されている間に、OS のクリーン インストールを行います。 このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後にストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。また、各サーバーとそのすべてのアプリとロールをもう一度設定する必要があります。 インプレース アップグレードよりも、このオプションをお勧めします。

  • クラスター内の各サーバーで VM が 停止されている間に、インプレース アップグレードが実行されます。 このオプションでは VM のダウンタイムが発生しますが、ストレージ ジョブ (ミラー修復) を待つ必要がないため、高速です。

  • クラスター内の各サーバーで VM が 停止されている間に、OS のクリーン インストールが行われます。 このオプションでは VM のダウンタイムが発生しますが、ストレージ ジョブ (ミラー修復) を待つ必要がないため、高速です。 インプレース アップグレードよりも、このオプションをお勧めします。

前提条件と制限事項

アップグレードを続行する前に、次の手順を実行します。

  • 記憶域スペース ダイレクトが有効になっています。

  • アップグレード プロセス中に問題が発生した場合に備えて、使用可能なバックアップがあることを確認します。

  • ハードウェア ベンダーに、サポートされている BIOS、ファームウェア、ドライバーがあることを確認します。

アップグレード プロセスに関するいくつかの制限事項に注意することが重要です。

  • アップグレードは Resilient File System (ReFS) ボリュームで完全にサポートされていますが、Windows Server 2019 では、アップグレードされたボリュームは ReFS の機能強化の恩恵を受けません。 ミラー高速化パリティのパフォーマンス向上など、ReFS の利点には、新しく作成された Windows Server 2019 以降の ReFS ボリュームが必要です。 新しい Windows Server ReFS ボリュームを作成するには、New-Volume コマンドレットまたはサーバー マネージャーを使用して新しいボリュームを作成する必要があります。 新しいボリュームでの ReFS の機能強化の一部を次に示します。

    • MAP ログ バイパス: ReFS のパフォーマンスが向上しました。これは、クラスター化 (記憶域スペース ダイレクト) システムにのみ適用され、スタンドアロン記憶域プールには適用されません。

    • 圧縮: マルチレジリエント ボリュームに特有の効率性の向上。

  • 記憶域スペース ダイレクト クラスター サーバーをアップグレードする前に、サーバーを記憶域メンテナンス モードにすることをお勧めします。

  • スイッチ埋め込みチーミング (SET) スイッチを使用するソフトウェア定義ネットワーク環境で既知の問題が発生します。 この問題には、以前のバージョンのオペレーティング システム Hyper-V VM のライブ マイグレーションが含まれます。 ライブ マイグレーションを確実に成功させるには、ライブマイグレーションする VM の VM ネットワーク設定を変更することをお勧めします。

ここで説明する既知の問題により、次のセクションで説明する 4 つのプロセスのいずれかを使用して Windows Server クラスターをアップグレードするのではなく、新しいクラスターを構築し、古いクラスターからデータをコピーすることを検討する場合があります。

VM を実行したままでインプレース アップグレードを行う

このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。 個々のサーバーはアップグレード プロセス中に順番に再起動されますが、クラスター内の残りのサーバーとすべての VM は引き続き実行されます。

  1. クラスター内のすべてのサーバーに最新の Windows Update がインストールされていることを確認します。

  2. SET スイッチでソフトウェア定義ネットワークを使用している場合は、管理者特権の PowerShell セッションを開き、次のコマンドを実行して、クラスター上のすべての VM で VM のライブ マイグレーション検証チェックを無効にします。

    Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
    Set-ClusterParameter -Create SkipMigrationDestinationCheck -Value 1
    
  3. 一度に 1 つのクラスター サーバーで、次の手順を実行します。

    1. Hyper-V を使用して VM ライブ マイグレーションを行い、実行中の VM をアップグレードしようとしているサーバーから移動します。

    2. 次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。 サーバーから VM をまだライブマイグレーションしていない場合、このコマンドレットはその手順を実行します。 その場合は、必要に応じて前の手順をスキップできます。

      Suspend-ClusterNode -Drain
      
    3. サーバーをストレージ メンテナンス モードにします。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Enable-StorageMaintenanceMode
      
    4. 次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード されていることを確認します。

      Get-PhysicalDisk
      
    5. setup.exe を実行し、[個人用ファイルとアプリを保持する] オプション 使用して、サーバーに Windows Server のアップグレード インストール 実行します。 インストールが完了すると、サーバーはクラスターに残り、クラスター サービスが自動的に開始されます。

    6. 新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。

    7. 記憶域メンテナンス モードからサーバーを削除します。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Disable-StorageMaintenanceMode
      
    8. サーバーを再開します。

      Resume-ClusterNode
      
    9. ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。

      Get-StorageJob
      Get-VirtualDisk
      
  4. クラスター内の次のサーバーをアップグレードします。

  5. すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。 クラスターの機能レベルを更新した後は、以前のクラスター機能レベルに戻ることはできません。 つまり、クラスターの機能レベルを更新した後は、以前のバージョンの Windows Server ノードをクラスターに追加することはできません。 詳細については、「クラスター オペレーティング システムのローリング アップグレード 」を参照してください。

    Update-ClusterFunctionalLevel
    

    手記

    クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。

  6. クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。

    Update-StoragePool
    
  7. 必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。

  8. SET スイッチでソフトウェア定義ネットワークを使用し、前に説明したように VM ライブ マイグレーション チェックを無効にしている場合は、次のコマンドレットを使用して VM のライブ検証チェックを再度有効にします。

    Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
    Set-ClusterParameter  SkipMigrationDestinationCheck -Value 0
    
  9. アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。

  10. クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。

    Test-Cluster
    

VM の実行中に OS をクリーン インストールする

このオプションでは VM のダウンタイムは発生しませんが、各サーバーがアップグレードされた後、ストレージ ジョブ (ミラー修復) が完了するまで待つ必要があります。 個々のサーバーはアップグレード プロセス中に順番に再起動されますが、クラスター内の残りのサーバーとすべての VM は引き続き実行されます。

  1. クラスター内のすべてのサーバーで最新の更新プログラムが実行されていることを確認します。

  2. SET スイッチでソフトウェア定義ネットワークを使用している場合は、管理者特権の PowerShell セッションを開き、次のコマンドを実行して、クラスター上のすべての VM で VM のライブ マイグレーション検証チェックを無効にします。

    Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
    Set-ClusterParameter -Create SkipMigrationDestinationCheck -Value 1
    
  3. 一度に 1 つのクラスター サーバーで、次の手順を実行します。

    1. Hyper-V を使用して VM ライブ マイグレーションを行い、実行中の VM をアップグレードしようとしているサーバーから移動します。

    2. 次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。 サーバーから VM をまだライブマイグレーションしていない場合、このコマンドレットはその手順を実行します。 その場合は、必要に応じて前の手順をスキップできます。

      Suspend-ClusterNode -Drain
      
    3. サーバーをストレージ メンテナンス モードにします。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Enable-StorageMaintenanceMode
      
    4. 次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード されていることを確認します。

      Get-PhysicalDisk
      
    5. クラスターからサーバーを削除します。

      Remove-ClusterNode <ServerName>
      
    6. 最新バージョンの Windows Server をサーバーにクリーン インストールします。 クリーン インストールの場合は、システム ドライブをフォーマットし、setup.exeを実行し、Nothing オプションを使用します。 セットアップが完了してサーバーが再起動した後で、サーバー ID、役割、機能、およびアプリケーションを構成する必要があります。

    7. Hyper-V ロールと Failover-Clustering 機能をサーバーにインストールします (Install-WindowsFeature コマンドレットを使用できます)。

    8. 記憶域スペース ダイレクトで使用するサーバーの製造元によって承認されているハードウェアの最新の記憶域およびネットワーク ドライバーをインストールします。

    9. 新しくアップグレードされたサーバーに最新の更新プログラムがあることを確認します。

    10. サーバーをクラスターに再参加させます。

      Add-ClusterNode
      
    11. 記憶域メンテナンス モードからサーバーを削除します。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Disable-StorageMaintenanceMode
      
    12. ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。

      Get-StorageJob
      Get-VirtualDisk
      
  4. クラスター内の次のサーバーをアップグレードします。

  5. すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。 クラスターの機能レベルを更新した後は、以前のクラスター機能レベルに戻ることはできません。

    Update-ClusterFunctionalLevel
    

    手記

    クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。

  6. クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。

    Update-StoragePool
    
  7. 必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。

  8. SET スイッチでソフトウェア定義ネットワークを使用し、前に説明したように VM ライブ マイグレーション チェックを無効にしている場合は、次のコマンドレットを使用して VM のライブ検証チェックを再度有効にします。

    Get-ClusterResourceType -Cluster {clusterName} -Name "Virtual Machine" | `
    Set-ClusterParameter SkipMigrationDestinationCheck -Value 0
    
  9. アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。

  10. クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。

    Test-Cluster
    

VM を停止してインプレース アップグレードを行う

このオプションでは VM のダウンタイムが発生しますが、各サーバーのアップグレード後にストレージ ジョブ (ミラー修復) が完了するのを待つ必要がないため、アップグレード中に VM を実行したままにした場合よりも時間がかかることがあります。 アップグレード プロセス中に個々のサーバーが順番に再起動されますが、クラスター内の残りのサーバーは引き続き実行されます。

  1. クラスター内のすべてのサーバーで最新の更新プログラムが実行されていることを確認します。

  2. クラスターで実行されている VM を停止します。

  3. 一度に 1 つのクラスターで、次の手順を実行します。

    1. 管理者特権の PowerShell セッションを開き、次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。

      Suspend-ClusterNode -Drain
      
    2. サーバーをストレージ メンテナンス モードにします。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Enable-StorageMaintenanceMode
      
    3. 次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード されていることを確認します。

      Get-PhysicalDisk
      
    4. setup.exe を実行し、[個人用ファイルとアプリを保持する] オプション 使用して、サーバーに Windows Server のアップグレード インストール 実行します。 インストールが完了すると、サーバーはクラスターに残り、クラスター サービスが自動的に開始されます。

    5. 新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。

    6. 記憶域メンテナンス モードからサーバーを削除します。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Disable-StorageMaintenanceMode
      
    7. サーバーを再開します。

      Resume-ClusterNode
      
    8. ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 VM が実行されていないため、プロセスは比較的高速である必要があります。 次のコマンドを実行して、正常な状態を確認します。

      Get-StorageJob
      Get-VirtualDisk
      
  4. クラスター内の次のサーバーをアップグレードします。

  5. すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。

    Update-ClusterFunctionalLevel
    

    手記

    クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。

  6. クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。

    Update-StoragePool
    
  7. クラスターで VM を起動し、正常に動作していることを確認します。

  8. 必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。

  9. アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。

  10. クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。

    Test-Cluster
    

VM の停止中に OS のインストールをクリーンする

このオプションでは VM のダウンタイムが発生しますが、各サーバーのアップグレード後にストレージ ジョブ (ミラー修復) が完了するのを待つ必要がないため、アップグレード中に VM を実行したままにした場合よりも時間がかかることがあります。 アップグレード プロセス中に個々のサーバーが順番に再起動されますが、クラスター内の残りのサーバーは引き続き実行されます。

  1. クラスター内のすべてのサーバーが最新の更新プログラムを実行していることを確認します。

  2. クラスターで実行されている VM を停止します。

  3. 一度に 1 つのクラスター サーバーで、次の手順を実行します。

    1. 管理者特権の PowerShell セッションを開き、次の PowerShell コマンドを実行して、クラスター サーバーを一時停止します。 一部の内部グループは非表示になっています。 この手順は慎重に行うことをお勧めします。

      Suspend-ClusterNode -Drain
      
    2. サーバーをストレージ メンテナンス モードにします。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Enable-StorageMaintenanceMode
      
    3. 次のコマンドレットを実行して、OperationalStatus の値がメンテナンス モード されていることを確認します。

      Get-PhysicalDisk
      
    4. クラスターからサーバーを削除します。

      Remove-ClusterNode <ServerName>
      
    5. サーバーに Windows Server のクリーン インストールを実行します。 クリーン インストールの場合は、システム ドライブをフォーマットし、setup.exeを実行し、Nothing オプションを使用します。 セットアップが完了してサーバーが再起動した後で、サーバー ID、役割、機能、およびアプリケーションを構成する必要があります。

    6. Hyper-V ロールと Failover-Clustering 機能をサーバーにインストールします (Install-WindowsFeature コマンドレットを使用できます)。

    7. 記憶域スペース ダイレクトで使用するサーバーの製造元によって承認されているハードウェアの最新の記憶域およびネットワーク ドライバーをインストールします。

    8. 新しくアップグレードされたサーバーに最新の Windows Server 更新プログラムがあることを確認します。

    9. サーバーをクラスターに再参加させます。

      Add-ClusterNode
      
    10. 記憶域メンテナンス モードからサーバーを削除します。

      Get-StorageFaultDomain -type StorageScaleUnit | `
      Where FriendlyName -Eq <ServerName> | `
      Disable-StorageMaintenanceMode
      
    11. ストレージ修復ジョブが完了し、すべてのディスクが正常な状態に戻るのを待ちます。 サーバーのアップグレード中に実行されている VM の数によっては、プロセスにかなりの時間がかかる場合があります。 正常な状態を確認するには、次のコマンドを実行します。

      Get-StorageJob
      Get-VirtualDisk
      
  4. クラスター内の次のサーバーをアップグレードします。

  5. すべてのサーバーが最新バージョンの Windows Server にアップグレードされたら、次の PowerShell コマンドレットを使用してクラスターの機能レベルを更新します。

    Update-ClusterFunctionalLevel
    

    手記

    クラスターの機能レベルを更新するには最大 4 週間かかりますが、できるだけ早くクラスターの機能レベルを更新することをお勧めします。

  6. クラスターの機能レベルを更新した後、次のコマンドレットを使用して記憶域プールを更新します。 この時点で、Get-ClusterPerf などの新しいコマンドレットは、クラスター内の任意のサーバーで完全に動作します。

    Update-StoragePool
    
  7. クラスターで VM を起動し、正常に動作していることを確認します。

  8. 必要に応じて、各 VM を停止し、Update-VMVersion コマンドレットを使用して VM 構成レベルをアップグレードしてから、VM をもう一度起動します。

  9. アップグレードされたクラスターが期待どおりに動作することを確認します。 ロールが正しくフェールオーバーされる必要があります。 クラスターで VM のライブ マイグレーションが使用されている場合、VM は正常にライブマイグレーションされます。

  10. クラスター検証を実行し、クラスター検証レポートを調べることで、クラスターを検証します。 管理者特権の PowerShell セッションで、次のコマンドを実行します。

    Test-Cluster