Windows Server フェールオーバー クラスタリングとは

完了

Contoso のようなほとんどの組織や企業は、ミッション クリティカルなワークロードの高可用性を実現することに取り組んでいます。 Contoso は、Windows Server フェールオーバー クラスタリングの使用を検討しています。 これは、ファイル共有、仮想マシン (VM)、データベース管理システム、メッセージング サービスなど、一般的な Windows ベースのワークロードの高可用性を実現する Windows Server の機能です。

フェールオーバー クラスタリングの概要

ワークロードの高可用性を実現するには、複数の Windows Server コンピューターで構成されるフェールオーバー クラスターを作成します。 フェールオーバー クラスターの一部であるサーバーで障害が発生したり、使用不能になったりした場合は、同じフェールオーバー クラスター内の別のサーバーにより、障害が発生したノードで提供されていたサービスが引き継がれます。 これは "フェールオーバー" と呼ばれ、サービスにアクセスしているクライアントでのサービスの中断が最小限になります。

フェールオーバー クラスタリングの最も一般的な用途は次のとおりです。

  • Microsoft SQL Server データベースおよび Microsoft Hyper-V VM の構成ファイルとディスク ファイルがホストされている、高可用性または継続的に使用可能なファイル共有。
  • 物理サーバー、またはクラスター化された Hyper-V サーバーでホストされているゲスト VM で実行される、高可用性のサービスとアプリケーション。

フェールオーバー クラスタリングのコンポーネント

フェールオーバー クラスターは、次の表で説明するコンポーネントで構成されています。

コンポーネント 説明
Nodes フェールオーバー クラスターのメンバーである Windows Server コンピューター。 これらのコンピューターには Windows Server フェールオーバー クラスタリング機能がインストールされており、サービス、アプリケーション、リソースで構成される高可用性ワークロードがそこで実行されます。
クライアント フェールオーバー クラスターで実行されている高可用性サービスとアプリケーションを使用するコンピューター。 クライアントとクラスターの間には複数のネットワーク パスが存在する必要があります。
ネットワーク クラスター化されたワークロードを使用するノードとコンピューターの間の通信を可能にします。 さらに、ノードは共有ストレージに頻繁にアクセスします。
クラスター化された役割 クラスター ノードで実行される高可用性の役割またはサービス。 クライアントは、クラスター ノードに接続することによって、このサービスを使用します。 1 つのノードでそのようなサービスが使用できなくなった場合は、フェールオーバー クラスターにより自動的に別のノードにフェールオーバーされます。
リソース フェールオーバー クラスターによって管理される、共有フォルダー、ディスク、IP アドレスなどの物理的または論理的な要素。 リソースは、クライアントにサービスを提供する場合もあれば、高可用性アプリケーションの不可欠な要素である場合もあります。 常に、1 つのリソースは 1 つのノードでのみ実行できます。
クラスター記憶域 各クラスター ノードからは、Windows Server OS がインストールされる独自のローカル記憶域に加えて、アプリケーションの構成とデータが存在する高可用性の共有記憶域にアクセスできます。 たとえば、高可用性のゲスト VM の構成データと仮想ハード ディスクは、"クラスター記憶域" によってホストされます。

2 つのノードと共有記憶域で構成されるフェールオーバー クラスターのアーキテクチャの図。

注意

共有記憶域を複数のノードに直接アタッチする必要はありません。 Windows Server 2016 で導入された記憶域スペース ダイレクト テクノロジを使用すると、個々のノードにアタッチされているディスクを共有できます。

フェールオーバー クラスタリングの機能レベル

Windows Server のフェールオーバー クラスタリング機能は、クラスターの機能レベルに依存します。 一般に、クラスターによって可能な限り高い機能レベルが使用されることが望まれます。 ただし、Windows Server 2016 および Windows Server 2025 での低い機能レベルのサポートを使用すると、以前のバージョンの OS を実行しているフェールオーバー クラスターのローリング アップグレードを実行できます。 これにより、アップグレードの間に、同じフェールオーバー クラスターに Windows Server 2016 と Windows Server 2025 のノードを配置することで、ダウンタイムをなくすことができます。

ヒント

Windows Server 2016 を実行していたすべてのノードが Windows Server 2025 ノードに置き換えられた後で、クラスターの機能レベルを更新できます。

フェールオーバー クラスタリングのクォーラム

フェールオーバー クラスターの "クォーラム" という用語は、そのクラスターがオンライン状態を維持するために使用できる必要があるクラスタリング コンポーネントの数を表します。 これらのコンポーネントには、クラスター ノードと、必要に応じて監視を含めることができます。 "監視" という用語は、クォーラムを確立して維持する役割を持つリソースを示します。 フェールオーバー クラスターでは、この目的に次のものを使用できます。

  • ファイル共有
  • ディスク
  • Azure Storage の BLOB

クォーラムは、クラスター ノードと監視に関連付けられている投票の数に基づいて決定されます。 クォーラムの目的は、"スプリット ブレイン" のシナリオを防ぐことです。 このシナリオになると、ノード間の接続の問題の結果として、クラスター内の 2 つのノード セットが互いに独立して動作を開始する可能性があり、その結果、クラスターの状態とそのリソースが破損する場合があります。

投票の割り当ては、クォーラム モデルによって定義されます。 Windows Server のフェールオーバー クラスタリングでは、動的なクォーラム管理が提供されます。 これを使用すると、使用可能なクラスター ノードに基づいてクォーラム モデルの監視と調整が継続的に行われることにより、フェールオーバー クラスター内でいっそう高い可用性が実現されます。

ノードの数が変化すると、クラスター クォーラムの計算が調整されます。 フェールオーバー クラスターのノード数が元の数の 50% 未満になった場合でも、フェールオーバー クラスターは動作を続け、クラスターの役割は引き続き使用できます。 動的クォーラムが有効になっていると、フェールオーバー クラスターは 1 つのノードだけで稼働状態を維持できます。

注意

動的クォーラム モデルは、既定で有効になります。

次のクォーラムに関連する機能も、フェールオーバー クラスタリングによってサポートされています。

  • ノードの重み。 Windows Server でクラスター ノードの重みが使用されるのは、主に、フェールオーバー ノードが複数の物理的な場所にある環境の場合です。 そのような環境では、セカンダリ ロケーションで複数のノードが使用できなくなっても、プライマリ ロケーションのフェールオーバー クラスターが中断することなく動作し続けることが望ましい場合があります。 これを実現するには、セカンダリ ロケーションにあるフェールオーバー クラスター ノードに、ノードの重みとして 0 を割り当てることができます。これにより、クォーラムの状態へのそれらの影響が実質的に排除されます。
  • 動的監視。 既定では、Windows Server により、フェールオーバー クラスター内で投票しているノードの数に基づいて、監視の投票権が動的に調整されます。 フェールオーバー クラスターの投票の数が奇数の場合、クォーラム監視には投票権がありません。 フェールオーバー クラスターの投票の数が偶数の場合は、クォーラム監視に投票権があります。 また、クォーラム監視の投票権の動的な調整は、監視リソースの状態にも基づきます。 監視リソースがオフラインの場合、または障害状態の場合は、監視に投票権はありません。
  • ノードが 50% に分かれた場合の決定権。 合計の投票数が常に奇数になるように、フェールオーバー クラスターでノードの投票権を動的に調整することができます。 これを実現するため、フェールオーバー クラスターは最初に、動的監視機能を利用してクォーラム監視の投票権を調整します。 クォーラム監視が使用できない場合は、フェールオーバー クラスターによりノードの投票権を調整できます。 また、ノードが 50% に分かれてどちらのサイトにもクォーラムがない場合に、どのサイトを維持するかをユーザーが決定できる、フェールオーバー クラスターのプロパティもあります。

フェールオーバー クラスターの機能は、クォーラムだけでなく、クラスター ノードで使用できるリソースと、そのノードにフェールオーバーするクラスター化されたワークロードを実行する機能にも依存します。 たとえば、5 ノードのクラスターは、2 つのノードで障害が発生した場合でもクォーラムを保持します。 ただし、残りの各クラスター ノードでクライアントへのサービスの提供が続けられるのは、残りの 3 つのノードにフェールオーバーされたクラスターの役割を実行するのに十分なリソースがある場合だけです。 これらのリソースには、記憶域、処理能力、ネットワーク帯域幅、メモリが含まれます。 VM の優先順位、起動順序、優先されるホスト、およびアンチアフィニティを構成し、クラスターの役割を実行できるノードを決定することができます。

フェールオーバー クラスタリングの監視の種類

フェールオーバー クラスタリングに使用できるクォーラム監視には、次の 3 種類があります。

  • ディスク監視の場合、同じフェールオーバー クラスター内のクラスター化されたディスク リソースが使用されます。 すべてのノードが、共有ディスクにアクセスできる必要があります。
  • ファイル共有監視の場合、外部のファイル共有が使用されます。 ネットワーク スイッチに接続されている USB ドライブを使用することで、これを実装できます。
  • クラウド監視の場合、Azure Storage アカウントの BLOB が使用されます。

重要

クォーラム監視の種類を選択する場合は、クラスター ノードの可用性に影響を与えるほとんどのシナリオにおいて、監視へのアクセスが維持されることを確認する必要があります。