2013年1月21日月曜日

ロードバランサーその9(完結)


さて一度は諦めた自前ロードバランサーであったが、簡単なツールを利用することでロードバランサ機能の実現に成功した。

備忘録としてここに記す。

以下、仮想サーバを立ち上げ

linux.68newspaper.jp
linux2.68newspaper.jp
lb.68newspaper.jp

ロードバランサとして利用する「lb.68newspaper.jp」にテラタームでアクセスし、以下のコマンド実施。
「Pound」というロードバランサーのツールをインストールしている。

yum -y install wget

wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum --enablerepo=epel -y install Pound

以下、設定ファイルをコピーしている(念のためのバックアップ)

cd /etc

cp pound.cfg pound_bk.cfg

そして以下、設定ファイルの編集

vi /etc/pound.cfg

まずデフォルトで書いてあるのを、全部消してしまう。
バサっと。
そして以下の内容を記述。

------------------------------------------------

ListenHTTP
Address (ロードバランサーのIPアドレス)
Port 8080

Service
HeadRequire "Host: .*lb.68newspaper.jp"

BackEnd
Address (WEBサーバ1のIPアドレス)
Port 80
End

BackEnd
Address (WEBサーバ2のIPアドレス)
Port 80
End

End
End

------------------------------------------------

ファイヤーウォール機能をストップしてしまう。
ロードバランサは8080ポートを利用していて、ちょっと設定とか面倒くさそうなため。
ばっさり完全ストップ。

service iptables stop

以下、振り分け先のWEBサーバのドキュメントルートにindex.htmlを用意。

echo "<body>linux.68newspaper.jp</body>" > /var/www/html/index.html
echo "<body>linux2.68newspaper.jp</body>" > /var/www/html/index.html

そしてPoundをスタート。

service pound start

そして必要なら自動起動の設定ON

chkconfig pound on

そして以下のURLでアクセス。

http://lb.68newspaper.jp:8080/



ほいっ!!!

更新するたんびに、表示が切り替わっています!

できた・・・


あとロードバランサーのportを80にしたりとか、iptablesをちゃんと機能させるとかは、別途対応が必要だけど、そんなに難しくはないと思われますので割愛いたします。


というわけで、ロードバランサー機能を自前で用意するという目的を果たしたため、
この記事のシリーズは完結とさせていただきます。

0 件のコメント:

コメントを投稿