ldirectordで、LVS(Linux Virtual Server)による負荷分散システムの構築
第4回
前回は、heartbeatのリソースとして仮想IPアドレスを設定し、通信状態を監視する方法について解説しました。今回は、heartbeatに標準でインストールされるldirectordを使って、LVSによる負荷分散システムを構築する方法について解説します。
LVSの概要
LVS(Linux Virtual Server)は、Linux Virtual Server Projectというプロジェクトが開発した機能で、Linux上でLayer 4の負荷分散装置と同様の機能を実現します。LVSは、最近ではLinuxカーネルに組み込まれていますので、ほとんどのLinuxディストリビューションで使用することができます。LVSでは次のような機能を提供します。
- サービス用のIPアドレスに届いたパケットを必要に応じて、別のサーバに転送します。
- 転送先として複数のサーバを指定することができます。
- パケットの転送では、各サーバに均等に分散することも、重み付けをして分散することもできます。
LVSを使うと、複数台の実サーバを組み合わせて、あたかも一つのサーバでサービスしているかのように見せることができます。
ldirectord
Linuxカーネルの提供するLVSでは、パケットを分散する機能だけを提供します。しかし、次のような理由で必ずしも使いやすいとはいえません。
- 設定は、
ipvsadm
というコマンドで行いますが、比較的複雑な書式で設定を行わなければなりません。 - LVSでは実サーバの稼動状態を監視しないため、サーバが停止していてもパケットを転送しようとします。
この問題を解決するために使われるのがldirecotrdです。ldirectordは、heartbeatに付属している負荷分散システムを管理するためのツールです。ldirectordでは、様々なプロトコルの稼動状況を監視し、必要に応じてサーバを追加、削除する機能を提供します。また、ldirectordを使えばipvsadmを使った複雑な設定を行わなくても比較的容易に負荷分散機能を構築することができます。
この記事は参考になりましたか?
- 止まらないシステムはLinuxで作る!~オープンソースを活用したHAサーバ構築入門連載記事一覧
- この記事の著者
-
デージーネット 恒川 裕康(デージーネット ツネカワ ヒロヤス)
株式会社デージーネット 代表取締役。「より安全で」、「より快適で」、「より楽しい」インターネットの実現をテーマとして、クラスタシステムを使った高信頼サーバの構築、SPAM対策やウイルスチェック対策のためのソフトウェアの開発、携帯サイト向けのシステム開発など、オープンソースソフトウェアを活用した事業を展開して...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア