poundは元々はリバースプロキシとして開発された有名な負荷分散アプリケーションです。 今回はロードバランス、負荷分散という点においての環境構築となります。 本日は、「poundによる負荷分散その1」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「poundによる負荷分散その1」についてです。
システム構成は以下を前提としてのご説明になります。
今回の基本的な使い方は、 ldirectord(LVS)では制御が難しい「負荷分散されては困る」webアプリケーションをどうにかする という目的で使っていますので、ご了承ください。
192.168.1.93 poundサーバー
192.168.1.23 webサーバー1
192.168.1.33 webサーバー2
参考:
http://d.hatena.ne.jp/taslam/20080519/p2
http://www.drk7.jp/MT/archives/001142.html
http://gusmachine.blog49.fc2.com/blog-entry-430.html
poundのインストール
通常はCentOS標準リポジトリにpoundは含まれていないらしい。 その場合は他リポジトリ設定を完了させている必要がある。 自分は以前にclamvをインストールしたときに設定したリポジトリが生きているためOKだった。
1 2 |
# yum --enablerepo=dag -y install pound # yum install pound |
pound実行ユーザーの追加
1 |
# useradd -s /sbin/nologin -d /root pound |
設定ファイルのバックアップ
1 |
# cp /etc/pound.cfg /etc/pound.cfg.bk |
設定ファイルの編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# vi /etc/pound.cfg ######## グローバル設定 # 実行ユーザ指定 User "nobody" # 実行グループ指定 Group "nobody" # ログをApacheのcombined と同じ形式で出力する LogLevel 3 # ハートビートを送る間隔 ( 秒 ) Alive 30 # daemonとして実行 ( 0指定でフォアグラウンドで実行 ) Daemon 1 # PoundサーバのIPアドレス,ポート ListenHTTP Address 192.168.1.93 Port 80 End ######## 例外振り分け:MovableType関連 # MovableType本体 Service URL "^/MovableType/.*" BackEnd Address 192.168.1.23 Port 80 Priority 5 End End ######## 基本振り分け # ※重み付けは、例外振り分け1P内で振り分け先がバラけるより # 同じホストにまとまった方が表示が速いと思うので、 # 例外振り分け先にアクセスをまとめておいた方がいいかも。 # 現状は双方ホスト共に同じ 5 とする。 Service URL ".*" BackEnd Address 192.168.1.23 Port 80 Priority 5 End BackEnd Address 192.168.1.33 Port 80 Priority 5 End End |
あとはserviceなり直接叩くなりすれば起動します。 上記設定ファイルの記述例の前にも書きましたが、改めて注意をば。
poundの設定書式は、 昔と比べて現在はかなり変わっています。
以下サイトのような書式ですと、poundの最新バージョンでは動きませんので、注意しましょう。
Poundで作るロードバランサとSSLラッパ(3/4) - @IT
また、上記のインストールでは、HTTPリクエストヘッダーを取得する際に障害が発生するかもしれません。 その際は記事「poundによる負荷分散その2」もお読み下さい。