LVS + heartbeat2(v1モード) + ldirectord(apache連携)による負荷分散&冗長化その2[ldirectordの設定]

サーバー 負荷分散 アプリケーション別 heartbeat2 ldirectord LVS

広報:齊藤 メイ 広報:齊藤 メイ

Posted on 2009年05月02日(土)22:47


LVS + heartbeat2(v1モード) + ldirectord(apache連携)による負荷分散&冗長化その2[ldirectordの設定]

waku2とらふぃっくすHAクラスタ化プロジェクト」のひとつです。 本日は、「LVS + heartbeat2(v1モード) + ldirectord(apache連携)による負荷分散&冗長化その2[ldirectordの設定]」についてです。

こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「LVS + heartbeat2(v1モード) + ldirectord(apache連携)による負荷分散&冗長化その2[ldirectordの設定]」についてです。

関連記事:

貴重な情報ありがとうございます。深く感謝の意を表します。
参考サイト:

ここでの構成は以下の通りとなります。(xenが前提です。洒落のつもりはないです)

  • (Domain-0)mikeneko.waku2traffics.com LVS(ipvsadm)/heartbeat
  • (Domain-0)toraneko.waku2traffics.com LVS(ipvsadm)/heartbeat
  • (Domain-U)sabineko.waku2traffics.com apache
  • (Domain-U)kuroneko.waku2traffics.com apache
  • (eth0)192.168.1.20/(eth1)10.0.0.20 mikeneko.waku2traffics.com
  • (eth0)192.168.1.21/(eth1)10.0.0.21 buchineko.waku2traffics.com
  • (eth0)192.168.1.22/(eth1)10.0.0.22 sabineko.waku2traffics.com
  • (eth0)192.168.1.30/(eth1)10.0.0.30 toraneko.waku2traffics.com
  • (eth0)192.168.1.31/(eth1)10.0.0.31 shironeko.waku2traffics.com
  • (eth0)192.168.1.32/(eth1)10.0.0.32 kuroneko.waku2traffics.com

OS:CentOS5.2 x86_64版

なお、構成についてですが、正直こんな文字だけでは分からないと思います。 申し訳ありませんが図は用意できませんのでご了承願います。構成を自分なりの図にすることをオススメしますが、さっぱりわからないと思いますので、この本を参考に作る事を強くオススメします。

【中古】 Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編/デージーネット(著者)

【中古】 Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編/デージーネット(著者)
220 円 (税込)
デージーネット(著者)販売会社/発売会社:秀和システム/秀和システム発売年月日:2005/12/05JAN:9784798011899
楽天ウェブサービスセンター CS Shop

【中古】 Xen徹底入門 オープンソースで実現するOS仮想化環境/宮本久仁男,大島孝子,平初,長谷川猛【著】

【中古】 Xen徹底入門 オープンソースで実現するOS仮想化環境/宮本久仁男,大島孝子,平初,長谷川猛【著】
220 円 (税込)
宮本久仁男,大島孝子,平初,長谷川猛【著】販売会社/発売会社:翔泳社発売年月日:2007/12/19JAN:9784798114477//付属品〜CD−ROM1枚付
楽天ウェブサービスセンター CS Shop


各アプリケーションのなんとなくの仕様の理解、上記構成をなんとなく図解できる程の把握、Xenでの仮想化完了が前提となります。また基本的にはLinuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編の内容をyumからインストール・設定した記事になります。

以下の記事も合わせてお読みください。
Xen(Domain-0)のインストール
Xen(Domain-U)のインストール
Xenマスターイメージ作成
Xen(Domain-U)の複製(LVMベース)
Xen(Domain-U)で複数のネットワークインターフェイスを使う

ldirectordの設定

mikeneko/toraneko の両方でパケット転送設定を行う。 負荷分散サーバではパケットの転送処理を行えるようにカーネルパラメータを調整しておく必要がある。 以下のように設定しておく。


この設定はサーバーを再起動するまで有効にならない。 が、すぐに有効にしたい場合はsysctlコマンドを実行しておく。


mikeneko/toranekoの両方で設定をする。
ここでautoreload=yesとしているので、今後ldirectord.cfの設定を変更しても自動的に反映される。

※「wlc」は<weight>で指定した重み付けを考慮して、最も接続数が少ない実サーバにリクエストを転送する。 ちなみにここではwlcにしているが、重み付けはしていない。rr(ラウンドロビン)で良しと判断。 記述方法は多分以下の通り(未検証)だが、wlcというだけで勝手に重み付け(=両サーバーを同じ重み付けとみなす)をしてくれるのかもしれない。
real=192.168.1.22:80 gate 2 # 2:1 = 115:116
real=192.168.1.32:80 gate 1 # の比重で振り分け
※virtual= で始まる行とそれに続くインデントされた行が、ひとつの仮想サービス定義となる。なので「必ず」インデントすること。


mikeneko/toranekoの両方で行う。
ldirectordはheartbeatに呼び出されて起動されるので、chkconfig ldirectord offとしておく。


mikeneko/toranekoの両方で行う。
また負荷分散装置としての設定はipvsadmが管理をするが、ldirectordが自動的にコマンドを発行してipvsadmを設定してくれる。 よって別途ipvsadmを設定する必要はなく、chkconfig ipvsadm offとしておく。


mikeneko/toranekoの両方で行う。
上記の設定では、実サーバがダウンした場合にもpersistentテーブルに載っている通信は、そのままダウンしたサーバに送り続けられる。 これを防ぐために、以下のカーネルパラメータを設定する。


これを恒久的にする場合は/etc/sysctl.confに以下の行を追加する。


mikeneko/toranekoの両方で一旦ldirectordサービスを起動してみる。 successと出たら正しく起動している。


確認できたらストップしておく。



その3に続きます。


いかがでしたでしょうか?
猫ITソリューションズは、飼い主の皆さんにITを活用しあらゆるシーンで的確なアドバイスをいたします。それではまたお会いしましょう。

LVS + heartbeat2(v1モード) + ldirectord(apache連携)による負荷分散&冗長化その2[ldirectordの設定]

see you!

 



Blog Categories

Member Profile

広報:齊藤 メイ

埼玉在住の三毛猫です。趣味は日向ぼっこ、好きな猫缶はカツオ系です。仲良くしてくださいね!

Facebook
Twitter

代表:齊藤 智宏

埼玉在住のWebデベロッパーです。80's洋楽、映画、レトロゲームが大好きです。よろしく!

Facebook
Twitter