Ultramonkey-L7 導入編

ご覧いただきありがとうございます。Ultramonkey-L7 を利用して最終的には2台で冗長構成にすることを目標にします。実はいままでにも挑戦したことがあるのですが、Ultramonkey-L7そのものよりもheartbeatのcib.xmlで挫折し本来の目的であるL7ロードバランサの構築から脱線してしまった経験があります。本編ではCentOS 6.0 上に UltraMonkey-L7 v3.0.1 をインストールし簡単な動作確認までを行いました。同じ手順で2台構築します。NICは2枚挿しにしています。

現状PiranhaでL4構成で利用していますが、やっぱりL7、国産ということから Ultramonkey-L7に挑んでみたいと思います。基本事項を書籍を見ながらじっくり勉強したい人にはLinux高信頼サーバ構築ガイド シングルサーバ編クラスタリング編が私のおすすめです。Pound, LVS, Keepalived, Piranha, Ultramonkey-L7 など実際に構築しながら読み進むことができます。ページを行き来するので付箋があるといいです。私のきらいな? cib.xml についての記載もあります。

■CentOS 6.0 の入手
http://rsync.atworks.co.jp/centos/6.0/isos/i386/CentOS-6.0-i386-LiveCD.iso

■事前準備
[[email protected] ~]# yum install apr-devel apr-util-devel boost-devel perl-libwww-perl perl-Crypt-SSLeay perl-Net-SSLeay perl-IO-Socket-SSL perl-Net-DNS perl-DBI perl-DBD-MySQL perl-DBD-Pg perl-IO-Socket-INET6 perl-Time-HiRes make perl-CPAN net-snmp net-snmp-devel

■RPMパッケージが存在しないPerlモジュールのインストールにはcpanmを使いたいのでインストールします
[[email protected] src]# cpan
cpan[1]> install App::cpanminus
cpan[2]> quit

[[email protected] ~]# cpanm Mail::IMAPClient
[[email protected] ~]# cpanm Net::LDAP

■log4cxxのコンパイルに必要なパッケージを追加インストールします
[[email protected] apache-log4cxx-0.10.0]# yum install gcc gcc-c++ libedit-devel libtool autoconf automake

■log4cxxはリポジトリから最新ビルドを利用します(結構な勢いで開発されているようです)
[[email protected] src]# yum install svn
[[email protected] src]# svn checkout http://svn.apache.org/repos/asf/logging/log4cxx/trunk apache-log4cxx
At revision 1201411.

-2号機
Checked out revision 1201257

■ make install 時に [install-privateincHEADERS] Error 1 が発生する場合以下2ファイルを対処しておきます
./apache-log4cxx/src/main/include/log4cxx/private/Makefile.am
./apache-log4cxx/src/main/include/log4cxx/Makefile.am

・修正前
privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h log4cxx_private.h

・修正後
privateinc_HEADERS= $(top_builddir)/src/main/include/log4cxx/private/*.h

・修正前
log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h log4cxx.h

・修正後
log4cxxinc_HEADERS= $(top_srcdir)/src/main/include/log4cxx/*.h

[[email protected] apache-log4cxx]# ./autogen.sh
[[email protected] apache-log4cxx]# ./configure
[[email protected] apache-log4cxx]# make ; make install
[[email protected] apache-log4cxx]# echo ‘/usr/local/lib’ > /etc/ld.so.conf.d/local.conf
[[email protected] apache-log4cxx]# ldconfig

■ultramonkeyl7 v3.0.1
[[email protected] src]# wget http://keihanna.dl.sourceforge.jp/ultramonkey-l7/50719/ultramonkeyl7-3.0.1.tar.gz
[[email protected] src]# tar vxzf ultramonkeyl7-3.0.1.tar.gz
[[email protected] src]# cd ultramonkeyl7-3.0.1
[[email protected] ultramonkeyl7-3.0.1]# ./configure
[[email protected] ultramonkeyl7-3.0.1]# make
[[email protected] ultramonkeyl7-3.0.1]# make install

■サンプルのコンフィグをもとに設定します。(見ながら管理マニュアルを読むと理解しやすいと思いました)
[[email protected] ~]# cp -ip /etc/ha.d/conf/l7directord.cf.sample /etc/ha.d/conf/l7directord.cf

■死活監視用のHTMLをWebサーバのDocumentRootに作成
[[email protected] ~]# echo ‘html’ > /srv/www/lighttpd/index.html

[[email protected] ~]# /etc/init.d/l7directord start
Starting l7directord …                                   [  OK  ]
[[email protected] ~]# /etc/init.d/l7directord status
l7directord for `/etc/ha.d/conf/l7directord.cf’ is running with pid: 891

■プロセスから状況確認 。 l7vsadm -K も見やすい
[[email protected] ~]# ps auxf | grep l7
root       913  0.0  0.0   4312   728 pts/1    S+   17:37   0:00  |                   \_ grep l7
root       858  2.7  0.1  36288  5268 ?        Ssl  17:32   0:09 /usr/sbin/l7vsd
root       891  0.0  0.1  13012  7448 ?        S    17:37   0:00 /usr/sbin/l7directord start
root       896  0.9  0.2  15780 10872 ?        S    17:37   0:00  \_ l7directord: http:10.1.1.11:80:UP
root       898  1.0  0.2  15780 10868 ?        S    17:37   0:00  \_ l7directord: http:10.1.1.12:80:UP
root       900  0.0  0.1  13196  7808 ?        S    17:37   0:00  \_ l7directord: ping:10.1.1.91:53:UP
root       902  0.0  0.1  13068  7796 ?        S    17:37   0:00  \_ l7directord: ping:10.1.1.92:53:UP
[[email protected] ~]#

■掃除
[[email protected] ~]# yum groupremove “Web Server” “Arabic Support” “Chinese Support” “Khmer Support” “Bhutanese Support” “Dial-up Networking Support” “Myanmar (Burmese) Support” “Graphics Creation Tools” “E-mail server” “NFS file server” “Konkani Support” “Korean Support” “Ethiopic Support” “FCoE Storage Client” “Kurdish Support” “Internet Applications” “Network Infrastructure Server” “Network file system client” “Internet Browser” “Storage Availability Tools” “iSCSI Storage Client”
[[email protected] ~]# yum remove bluez-* gnome-bluetooth-*

■参考資料
UltraMonkey-L7 インストールマニュアル(3.0.x 対応版)
UltraMonkey-L7 管理マニュアル(3.0.x 対応版)

log4cxx のチェックアウト方法
Kasun’s Tech Blog

スポンサーリンク

シェアする

フォローする

スポンサーリンク