5. ハートビートリソースの詳細

本章では、ハートビートリソースの詳細について説明します。

5.1. ハートビートリソースとは?

クラスタ内のサーバは、他のサーバの死活監視を行います。サーバ間の死活監視はハートビートリソースを使用します。

  1. カーネルモードLANハートビート(プライマリインタコネクト)

    共有ディスクに接続された2台のサーバ

    図 5.1 カーネルモードLANハートビート(プライマリインタコネクト)

  2. カーネルモードLANハートビート(セカンダリインタコネクト)

    共有ディスクに接続された2台のサーバ

    図 5.2 カーネルモードLANハートビート(セカンダリインタコネクト)

  3. Witnessハートビート

    共有ディスクに接続された2台のサーバ

    図 5.3 Witnessハートビート

ハートビートリソースの種類

略称

機能概要

カーネルモード LAN ハートビートリソース (1), (2)

lankhb

カーネルモードのモジュールが LAN を使用してサーバの死活監視を行います

Witness ハートビートリソース (3)

witnesshb

Witness サーバを使用してサーバの死活監視を行います。

  • 優先度が一番高いインタコネクトには、全サーバ間で通信可能なカーネルモード LAN ハートビートを設定してください。

  • カーネルモード LAN ハートビートリソースを 2 つ以上設定することを推奨します(クラウド環境や遠隔クラスタ環境のようにネットワークの追加が難しい場合はその限りではありません)。

  • インタコネクト専用の LAN をカーネルモード LAN ハートビートリソースとして登録し、さらにパブリック LAN もカーネルモード LAN ハートビートリソースとして登録することを推奨します。

5.2. カーネルモード LAN ハートビートリソースを理解する

5.2.1. カーネルモード LAN ハートビートリソースとは?

カーネルモード LAN ハートビートリソースはカーネルモードのドライバモジュールを使用してハートビートの機能を実現します。以下のような特徴があります。

  • カーネルモードのドライバを使用するため、負荷に影響されにくくインタコネクト断線の誤認が少なくなります。

5.2.2. カーネルモード LAN ハートビートリソースの設定

カーネルモード LAN ハートビートリソースの設定の詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「インタコネクトタブ」を参照してください。

5.2.3. カーネルモード LAN ハートビートリソースの注意事項

  • インタコネクト専用のカーネルモード LAN ハートビートリソースと、インタコネクトと パブリック共用のカーネルモード LAN ハートビートリソースの2つ以上の設定を推奨します。

5.3. Witness ハートビートリソースを理解する

5.3.1. Witness ハートビートリソースの設定

Witness ハートビートリソースを使用するためには、以下の設定が必要です。

  • Witness ハートビートリソースを使用する全てのサーバと、Witness サーバサービスが動作しているサーバ (Witness サーバ) が通信可能である必要があります。Witness サーバについては「8. その他の設定情報」の「Witness サーバサービス」を参照してください。

Witness ハートビートリソースを使用すると、Witness サーバが保持しているサーバ死活情報を定期的に確認します。HTTP ネットワークパーティション解決リソースと併用することで、「自サーバと Witness サーバ間の通信途絶」と「他サーバと Witness サーバ間の通信途絶」を区別して動作します。

5.3.2. Witness ハートビートリソースの注意事項

  • Witness サーバとの通信では、NIC およびソースアドレスは OS の設定に従って選択されます。

  • 「Proxyを使用する」をオンにする場合、あわせて「SSLを使用する」もオンにすることを推奨します。SquidによるProxyサーバ経由でWitnessサーバと通信する場合、Squidの挙動により、HTTPのリクエストごとにProxyサーバ上でTIME_WAIT状態のポートが発生することを確認しています。HTTPSの場合は同様の事象は発生しません。