Home –  未分類 – UltraMonkey-L7を試しにセットアップしてみた

UltraMonkey-L7を試しにセットアップしてみた

こちらも、オープンソースカンファレンス 2011 Tokyo/Fallで知りました。
Linux-HAさんの隣の展示ブースだったと思います。

普段、現場ではロードバランサ(以下LB)を噛ませて振り分けてはいますが・・・・ちょっと色々な事情で個人的にはそのLB自体、安定はしているのですがあんまり好意的に捕らえてはいません。

まぁ、なんかいい方法ないかなーとか思ってたりもしたんで、ちょっと気になってたのでためしに仮想環境つくってインストールしてみました。

・・・というか、Pacemakerの件がいまいちよくわからないので取り合えず逃避してみたというか(;´ρ`)
Pacemakerって難しいですね。理解するまでが大変そう・・・。

そんな訳でインストールしてみました。
インストール自体は公式のページにあるインストールマニュアルを見てインストールしたら概ね問題なくできました。

一箇所、コピペでやってたらはまりましたw

 # echo ”/usr/local/lib” > /etc/ld.so.conf.d/local.conf

の部分ですが”が全角文字なんですよねw
何も考えずコピペしてしまいました(;´ρ`) どう考えても半角”なのは当たり前だったのに・・・

設定については管理マニュアルを見ながら設定しました。
設定は設定ファイル(/etc/ha.d/conf/l7directord.cf)とコマンドによる設定があります。
管理マニュアルの説明の順番としてコマンドによる設定 -> 設定ファイルによる設定となっています。最初はその辺が分からず戸惑いました。

あと、UltraMonkey-L7つかうとWebサーバ側のアクセス元がUltraMonkey-L7のサーバになってしまうようです。その辺を解決できるモードがあるようなのですが設定のハードルが高いのとお手軽ではない為にやめました。
その代わり前回の日記どおりmod_rpaf使って解決しています。

とりあえず、ほぼ管理マニュアルからのコピペで出来ていますがこんな感じの設定ファイルとなりました。

UltraMonkey-L7を設置したサーバは192.168.1.235でWebサーバは192.168.1.235と192.168.1.236のポート8080で起動しています。
あとは、アクセスログは出力しておき週ごとにローテーションするようにしています。
Webサーバの/server-statusを有効にしてチェックする形です。

/etc/ha.d/conf/l7directord.cfは下記のようにしてみました。

##
## This is the l7directord configuration file.
## See `l7directord --help' for detailed information.
##

# = GLOBAL DIRECTIVES

# - Monitor Settings
checktimeout     = 5
negotiatetimeout = 5
checkinterval    = 10
retryinterval    = 5
checkcount       = 3

# - Logging
logfile          = /var/log/l7vs/l7directord.log
#logfile          = local0
#supervised

# - Real Server Operation
quiescent        = yes
#fallback         = 127.0.0.1:80

# - Monitor Configuration File
configinterval   = 10
autoreload       = no
#callback         = /opt/config_change.sh

# = VIRTUAL DIRECTIVES
# - A sample virtual section with a sorry server.
# - checkcount and quiescent settings are override the global settings.
virtual  = 192.168.1.235:80
        real = 192.168.1.235:8080 masq 1
        real = 192.168.1.236:8080 masq 1
        module      = sessionless --forwarded-for
        scheduler   = rr
        #sorryserver = 192.168.0.53:80
        #maxconn     = 1000
        #qosup       = 100M
        #qosdown     = 100M
        checktype   = negotiate
        service     = http
        request     = "/server-status" 
        receive   = "[1-9][0-9]? idle workers" 
        quiescent   = no
        checkcount  = 2
        #realdowncallback      = /opt/down.sh
        #realrecovercallback   = /opt/recover.sh
        #customcheck           = ping -c1 -w1 _IP_
        #sslconfigfile         = /etc/l7vs/sslproxy/sslproxy.target.cf
        #socketoption          = deferaccept,nodelay,quickackoff
        accesslog             = yes
        accesslogfile         = /var/log/l7vs/l7vsd_conn.log
        accesslog_rotate_type = date
        accesslog_rotate_max_backup_index = 4
        #accesslog_rotate_max_filesize     = 100M
        accesslog_rotate_rotation_timing  = week
        accesslog_rotate_rotation_timing_value = "sun 23:59"

あと、/server-statusを使う都合上、Apacheに下記の設定を加えています。

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 192.168.1.0/24
</Location>

とりあえず駄々漏れだとマズイと思いますので192.168.1.0/24のネットワーク外からアクセスできないようにしておきました。
しっかし、これでイイって自信がないから若干不安ですね(;´ρ`)

でもパッと見はこれで動いているように感じます。
これでいいことにしよう・・・・w

次はUltraMonkey-L7とPacemakerを連携させたいな。と思います。

One thought on “UltraMonkey-L7を試しにセットアップしてみた

  1. Pingback: UltraMonkey-L7 とPacemaker なのだ | トコトコ日記

コメントを残す