Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.6. Load Balancer Add-On — ブロックダイアグラム

LVS ルーターは複数プログラムの集合を使用してクラスターメンバーやクラスターサービスを監視します。図1.5「Load Balancer Add-On のコンポーネント」 では、各種プログラムがアクティブ LVS ルーターとバックアップ LVS ルーターの両方でクラスターを管理するためどのように動作しているかを示します。
Load Balancer Add-On のコンポーネント

図1.5 Load Balancer Add-On のコンポーネント

pulse デーモンはアクティブ LVS ルーターとバックアップ LVS ルーターの両方で実行させます。バックアップルーター側の pulse からアクティブルーターのパブリックインターフェースに対して ハートビート が送信され、アクティブルーターが正しく動作しているか確認が行われます。アクティブルーター側の pulselvs デーモンを開始してバックアップルーターからの ハートビート クエリーに応答します。
lvs デーモンが開始されると、ipvsadm ユーティリティが呼び出されカーネル内で IPVS ルーティングテーブルを設定し管理します。また、各実サーバーで設定されている各仮想サーバーに nanny プロセスが開始されます。nanny の各プロセスは任意の実サーバーで設定されている任意のサービスの状態をチェックし、そのサービスが誤動作していないか lvs デーモンに伝えます。誤動作が検出されると、lvs デーモンは IPVS ルーティングテーブルからその実サーバーを取り除くよう ipvsadm に指示を出します。
バックアップルーター側でアクティブルーターから応答が受信できないと、バックアップルーターは send_arp を呼び出してすべての仮想 IP アドレスをバックアップノードの NIC ハードウェアアドレス (MAC アドレス) に再割り当てしてフェイルオーバーを開始します。アクティブルーターの lvs デーモンをシャットダウンするコマンドがパブリックネットワークインターフェースとプライベートネットワークインターフェースの両方を経由してアクティブルーターに送信され、バックアップノードの lvs デーモンが起動、設定されている仮想サーバーの要求の受け取りを開始します。

1.6.1. Load Balancer Add-On のコンポーネント

LVS ルーター内の各ソフトウェアコンポーネントの詳細を pulse に示します。

1.6.1.1. pulse

LVS ルーターに関連する他のすべてのデーモンを開始する制御プロセスです。このデーモンは起動時に /etc/rc.d/init.d/pulse スクリプトで起動され、設定ファイル /etc/sysconfig/ha/lvs.cf を読み込みます。アクティブルーター側の pulse により LVS デーモンが起動されます。バックアップルーター側の pulse からユーザー設定が可能な間隔でシンプルなハートビートが実行されアクティブルーター側の健全性が確認されます。ユーザー設定された間隔を過ぎてもアクティブルーター側が応答できない場合、フェイルオーバーが開始されます。フェイルオーバー中、バックアップルーター側の pulse からアクティブルーター側の pulse デーモンに対してすべての LVS サービスをシャットダウンするよう指示が出され、フローティング IP アドレスをバックアップルーターの MAC アドレスに再割り当てするため send_arp プログラムが開始、lvs デーモンが起動されます。

1.6.1.2. lvs

lvs デーモンは pulse に呼び出されるとアクティブ LVS ルーターで稼働します。設定ファイル /etc/sysconfig/ha/lvs.cf を読み込み、ipvsadm ユーティリティを呼び出して IPVS ルーティングテーブルを構築し管理を行います。また、設定されている Load Balancer Add-Onの各サービスにそれぞれ nanny プロセスを割り当てます。nanny により実サーバーがダウンしていることが報告されると、lvs より ipvsadm ユーティリティに IPVS ルーティングテーブルからその実サーバーを削除するよう指示が出されます。

1.6.1.3. ipvsadm

カーネル内の IPVS ルーティングテーブルの更新を行います。ipvsadm を呼び出し IPVS ルーティングテーブル内のエントリーの追加、変更、削除を行うことで lvs デーモンは Load Balancer Add-On の設定および管理を行っています。

1.6.1.4. nanny

nanny 監視デーモンはアクティブ LVS ルーター上で稼働します。このデーモンを使ってアクティブルーターは各実サーバーの健全性を確認、オプションでその負荷も監視します。各実サーバーで定義されているサービスごとに個別のプロセスが実行されます。

1.6.1.5. /etc/sysconfig/ha/lvs.cf

Load Balancer Add-On の設定ファイルです。直接または間接的にすべてのデーモンが設定情報をこのファイルから取得することになります。

1.6.1.6. Piranha Configuration Tool

Load Balancer Add-On の監視、設定、管理を行う Web ベースのツールです。Load Balancer Add-On の設定ファイル /etc/sysconfig/ha/lvs.cf 管理用のデフォルトツールになります。

1.6.1.7. send_arp

フェイルオーバーの際、フローティング IP アドレスがあるノードから別のノードに変更されるとき、このプログラムにより ARP ブロードキャストが送信されます。
Red Hat Enterprise Linux を LVS ルーターに設定する前に行うべきインストール後の重要な設定手順については 2章Load Balancer Add-On の初期設定 で説明します。