UltraMonkey-L7 安裝
今天剛把UltraMonkey-L7 安裝好,實現簡單的雙機熱備,負載平衡,現把過程寫一下,一來給自己做個總結,二來也請高手給指點一下。
先把所需要的軟體上傳上來,UltraMonkey-L7 需要apr、apr-util、apache-log4cxx先安裝好。
根據系統的安裝情況,可能需要先安裝gcc gcc-c++包,可以用yum來安裝,如:
#yum install gcc gcc-c++
1.apr和apr-util安裝很簡單
apr:
下載解壓后,進入軟體目錄
# ./configure --prefix=/usr --libdir=/usr/lib
#make
#make install
apr-util:
# ./configure --prefix=/usr --libdir=/usr/lib --with-apr=/usr
#make
#make install
2.log4cxx安裝
# ./configure --prefix=/usr --libdir=/usr/lib
#make
#make install
根據系統的安裝情況,可能需要先安裝automake libtool glibc-headers等包,也可有用yum 來安裝。
這樣準備工作就做完了,下面正式安裝UltraMonkey-L7
[ 本帖最後由 guichen 於 2008-7-17 12:58 編輯 ]
《解決方案》
回復 #1 guichen 的帖子
因為我的是32位系統,如果要安裝在64位系統上的話,前面那三個的庫文件要指定到--libdir=/usr/lib64 下。
UltraMonkey-L7可以自己編譯安裝,也可用rpm包來安裝
# ./configure
# make & make install
也可
#rpm –ivh --nodeps ultramonkey-l7-2.0.0-0.i386.rpm
(--nodeps參數指定ultramonkey-l7安裝過程中不檢查log4cxx)
安裝結束,下面是配置。
我lvs系統結構如下:
vip :192.168.1.200
lvs1 :eth0 192.168.1.191 主
lvs2 :eth0 192.168.1.192 備
web1 :eth0 192.168.1.201 http server1
web2 :eth0 192.168.1.202 http server2
全部機器都只有一塊網卡eth0,lvs啟動后,在lvs1的eth0:0上生成vip地址,主機down后,
在lvs2的eth0:0上生成vip地址,待lvs1主機恢復后,自動將vip地址傳回。
首先在所有機器上編輯/etc/hosts文件,(當然也可以不編輯,以後用ip地址代替,感覺ip有點不方便,還是用名字直觀一點)。
#cat /etc/hosts // (lvs1、lvs2、web1、web2)
192.168.1.191 LVS1 LVS1
192.168.1.192 LVS2 LVS2
192.168.1.201 WEB1 WEB1
192.168.1.202 WEB2 WEB2
編輯以下文件
#cat /etc/ha.d/ha.cf // (lvs1)
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
udpport 694
udp eth0
auto_failback on
node lvs1
node lvs2
watchdog /dev/watchdog
ping 192.168.1.1
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root
#cat /etc/ha.d/ha.cf // (lvs2)
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
udpport 694
udp eth0
auto_failback on
node lvs1
node lvs2
watchdog /dev/watchdog
#cat /etc/ha.d/authkeys // (lvs1、lvs2)
auth 3
3 crc
#chmod 600 /etc/ha.d/authkeys //(lvs1、lvs2)
#cat /etc/ha.d/haresources // (lvs1、lvs2)
lvs1 192.168.1.200/32/eth0:0 l7directord
#cd /etc/ha.d/conf // (lvs1、lvs2)
#cat l7directord.cf // (lvs1、lvs2)
checktimeout=4
checkinterval=2
autoreload=yes
logfile="/var/log/l7directord.log"
quiescent=yes
virtual=192.168.1.200:80
real=192.168.1.201:80 masq 1
real=192.168.1.202:80 masq 1
module=cinsert --cookie-name 'monkey' --cookie-expire 2
//用cookie保持客戶機在一天時間(默認)內登錄到同一台web伺服器上,
//為便於調試,我此處用的是2秒。
//這裡也可用URL、Session等方式來保持登錄。
service=http
request="test.html"
receive="ok"
//在web1和web2的網站根目錄下建立test.html文件,內容為ok
scheduler=wrr
protocol=tcp
quiescent=yes
#cd /etc/ha.d/resourcd.d // (lvs1、lvs2)
#ln -s /usr/sbin/l7directord // (lvs1、lvs2)
//建立l7directord命令的鏈接。
好了,全部配置完成,可以重新啟動試試了。
對了,在重啟之前,記得把lvs1、lvs2機器中/etc/sysctl.conf文件中的
net.ipv4.ip_forward = 0 選項,改為
net.ipv4.ip_forward = 1
保存,重啟。
對web伺服器不用做任何改動。
在別的機器上訪問192.168.1.200,刷新幾次,應該可以看到網頁內容轉換。
前提是web1和web2首頁內容不同。
[ 本帖最後由 guichen 於 2008-7-15 14:36 編輯 ]
《解決方案》
用l7vsadm可以查看負載情況
#l7vsadm //加 -V 參數可查看l7vsd的詳細設置情況。
Layer-7 Virtual Server version 2.0.0-0
Prot LocalAddress:Port ProtoMod Scheduler
-> RemoteAddress:Port Forward Weight ActiveConn InactConn
TCP 192.168.1.200:http cinsert wrr
-> WEB2:http Masq 1 0 3
-> WEB1:http Masq 1 0 2
# chkconfig --list l7vsd
l7vsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig --list | grep heartbeat
heartbeat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[ 本帖最後由 guichen 於 2008-7-17 10:01 編輯 ]
《解決方案》
這個 還是很好的
lvs實現有多種方案
這個還是要學習呀
可以多多交流
QQ:lvsheat@qq.com
《解決方案》
你把文檔整理好看些 禁用smilies
《解決方案》
原帖由 gunguymadman 於 2008-7-16 10:10 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
你把文檔整理好看些 禁用smilies
你如果有空的話,可以試試這個軟體,再給我提點意見。
感覺它的功能很多的,我只是剛用到了最基本的。
《解決方案》
寫的不錯。
不過有個疑問,你應該先安裝GCC之類東東再編譯軟體
[ 本帖最後由 chenyx 於 2008-7-17 10:07 編輯 ]
《解決方案》
是啊,要先安裝,我在後面安裝的時候提到了。
我把它編輯到前面了。
《解決方案》
原帖由 guichen 於 2008-7-17 10:03 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
你如果有空的話,可以試試這個軟體,再給我提點意見。
感覺它的功能很多的,我只是剛用到了最基本的。
我現在認為應該把注意力放在7層負載均衡上
技術就像走過的路 走過去了 就什麼也不是了
[ 本帖最後由 gunguymadman 於 2008-7-17 13:54 編輯 ]
《解決方案》
學習中
謝謝樓主