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

■事前準備
[root@tk-oha-lb1 ~]# 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を使いたいのでインストールします
[root@tk-oha-lb1 src]# cpan
cpan[1]> install App::cpanminus
cpan[2]> quit

[root@tk-oha-lb1 ~]# cpanm Mail::IMAPClient
[root@tk-oha-lb1 ~]# cpanm Net::LDAP

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

■log4cxxはリポジトリから最新ビルドを利用します(結構な勢いで開発されているようです)
[root@tk-oha-lb1 src]# yum install svn
[root@tk-oha-lb1 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

[root@tk-oha-lb1 apache-log4cxx]# ./autogen.sh
[root@tk-oha-lb1 apache-log4cxx]# ./configure
[root@tk-oha-lb1 apache-log4cxx]# make ; make install
[root@tk-oha-lb1 apache-log4cxx]# echo ‘/usr/local/lib’ > /etc/ld.so.conf.d/local.conf
[root@tk-oha-lb1 apache-log4cxx]# ldconfig

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

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

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

[root@tk-oha-lb1 ~]# /etc/init.d/l7directord start
Starting l7directord …                                   [  OK  ]
[root@tk-oha-lb1 ~]# /etc/init.d/l7directord status
l7directord for `/etc/ha.d/conf/l7directord.cf’ is running with pid: 891

■プロセスから状況確認 。 l7vsadm -K も見やすい
[root@tk-oha-lb1 ~]# 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
[root@tk-oha-lb1 ~]#

■掃除
[root@tk-oha-lb1 ~]# 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”
[root@tk-oha-lb1 ~]# yum remove bluez-* gnome-bluetooth-*

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

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

スポンサーリンク

シェアする

フォローする

スポンサーリンク