製品構成の概要
製品構成の概要
RHCSのIPロードバランサは、ロードバランサの管理ツールであるpiranha(ピラーニャ=ピラニア)、LVSの管理を行うipvsadm、 実際に処理を行うサーバ(実サーバ)の死活確認を行うためのハートビートを送受信するpulseなどから構成されます。
piranhaはpiranha-guiデーモンによってWebベースの管理用の画面を提供します。インストール後にpiranha-passwd コマンドを実行することで管理用アカウントのパスワードが設定でき、以降のロードバランサに関するすべての設定は一般的なWebブラウザから行うことが可 能です。
ハードウェア
RHCSのIPロードバランサが必要とするハードウェアは2台のLVSと実サーバ群(サーバプール)で構成され、いずれも一般的なサーバ製品を用いることが可能です。レッドハットの認定ハードウェアのリストがRed Hatのハードウェアカタログ(http://bugzilla.redhat.com/hwcert/)にありますので、このリストからハードウェアを選定するのが確実な構築への近道です。
様々なハードウェアを選択可能であることから、専用のロードバランサボックスを用いる場合に比べてコストを抑えることができます。クラスタの目的の 1つは、安価なハードウェアを複数用いて可用性を高めつつ高度な処理を行うことであり、レッドハットのRHCSは価格設定とあわせて、この目的に非常に合 致した製品といえます。実際の事例として10万円以下のハードウェアを5台(LVS2台、実サーバ3台)用いてWebサーバを構築した例があります。
負荷分散アルゴリズム
RHCSのIPロードバランサにおいては負荷分散のアルゴリズムを多様なパターンから選択できます。最も単純な方法では、接続数の少ない実サーバに要求を割り振ります。
しかし実サーバが異なる性能を持っている場合、性能に応じた重み付けを行って要求を割り振け、負荷が実サーバ間で均等にすることも可能です。あるい は、サーバの性能が厳密に定義できない場合や、要求された個別の処理によってサーバの負荷が大きく変動する場合は、サーバの負荷状況を検出した上でより負 荷の低いサーバに要求を割り振ることも可能です。
LVSを技術的に見ると、DNAT(Destination Network Address Translation)を実装したものであり、LVSを管理するipvsadmはカーネルのルーティングテーブルをダイナミックに変更するデーモンです。
Cluster Manager
フェイルオーバークラスタは、共有ストレージを持つ複数のクラスタノードがサービスに利用するIPアドレスを維持し続けることで、可用性の高いサービスを提供します。
エラーが発生したノードはストレージやサービスに利用するIPアドレスなどの共有リソースを解放し、自動的に停止あるいは再起動プロセスを開始しま す。他のノードはエラーを検知すると、共有リソースをロックして、エラーが発生したノードで実行されていたサービスを開始します。
製品構成の概要
Cluster Managerは、クラスタの設定をノード間で同期するccsd(cluster configuration service daemon)、共有ストレージの排他制御のためのロック機構を管理するdlm(distributed lock manager)、クラスタの各種リソースを管理するrgmanager、フェンスデバイスを管理するfence、そしてクラスタ全体を管理するcman などから構成されます。
RHEL4には数多くの高機能サーバが同梱され、そのほとんどが最小限の設定変更、場合によってはまったく設定を変更することなくクラスタ化することが可能です。もちろんRed Hatのソフトウェアカタログ(http://www.jp.redhat.com/software/ISV/isv_catalog/)に掲載されているアプリケーションやお客様が開発されたカスタマイズアプリケーションをクラスタ化することも可能です。

図2:Cluster Manager