UltaMonkey-L7 实现高可用负载均衡测试文档

发布于 2022-10-15 07:34:15 字数 6857 浏览 22 评论 0

UltaMonkey-L7 实现高可用负载均衡测试文档

一.UltaMoneky-L7 介绍

负载均衡之UltraMonkey-L7为Ultra Monkeyproject一扩展项目,提供基于特定Url字符集及Session persistence
进行的L7交换负载均衡.通过该架构可非常灵活把各种协议及负载均衡方式有机结合,支持High Availability和负载均衡技术.

二.UltaMonek-L7安装
1下载相关软件包

  1. wget http://apache.mirror.phpchina.com/apr/apr-1.3.3.tar.gz
  2. wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.4.tar.bz2
  3. wgethttp://apache.etoak.com/logging/ ... g4cxx-0.10.0.tar.gz
  4. wget http://www.packetfactory.net/libnet/dist/libnet.tar.gz
  5. wget http://hg.linux-ha.org/lha-2.1/archive/STABLE-2.1.4.tar.bz2
  6. wgethttp://sourceforge.jp/projects/u ... ip?use_mirror=jaist

复制代码2.安装相关软件包
Apr安装:

  1. # tar zxvf apr-1.3.3.tar.gz
  2. # cd apr-1.3.3.
  3. # ./configure --prefix=/usr --libdir=/usr/lib

复制代码Apr-tuil安装

  1. # tar jxvf apr-util-1.3.4.tar.bz2
  2. # cd apr-util-1.3.4
  3. # ./configure --prefix=/usr --libdir=/usr/lib --with-apr=/usr

复制代码apache-log4cxx 安装

  1. # tar zxvf apache-log4cxx-0.10.0.tar.gz
  2. # cd apache-log4cxx-0.10.0
  3. # ./configure --prefix=/usr --libdir=/usr/lib

复制代码Libnet安装

  1. # tar zxvf libnet.tar.gz
  2. #cd libnet
  3. # ./configure &&make &&make install

复制代码Heartbeat安装

  1. # groupadd -g 694 haclient
  2. # useradd -u 694 -g haclient hacluster
  3. 复制代码# yum install glib2-devel
  4. # tar jxvf Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2
  5. # cd Heartbeat-STABLE-2-1-STABLE-2.1.4
  6. # ./ConfigureMe configure --disable-swig --disable-snmp-subagent
  7. # make && make install
  8.   
  9. # cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/

复制代码ultramonkey-l7-2.0.0-1-rpm 安装

  1. # unzip ultramonkey-l7-2.0.0-1-rpm.zip
  2. # cd ultramonkey-l7-2.0.0-1-rpm
  3. # rpm -Uvh ultramonkey-l7-2.0.0-1.i386.rpm // 用rpm安装ultamonkey.

复制代码三.UltraMonkey-L7配置(NAT)
方案结构:

  1. virtual= 192.168.1.200:80
  2.       real=192.168.1.204:80 masq 1
  3.     real=192.168.1.205:80 masq 1
  4. HA-IP(DR):
  5. LVS Director (Master) 192.168.1.202   primarylb.linuxtone.org
  6. LVS Director (Backup) 192.168.1.203   backuplb.linuxtone.org
  7. RealServer: 192.168.1.204 192.168.1.205

复制代码1.配置/etc/hosts

  1. 192.168.1.202 primarylb.linuxtone.org
  2. 192.168.1.203 backuplb.linuxtone.org

复制代码2.配置ha.cf

  1. # vi /etc/ha.d/ha.cf
  2. logfile/var/log/ha-log
  3. logfacility
  4. local0
  5. keepalive2
  6. deadtime30
  7. warntime10
  8. initdead120
  9. udpport694
  10. baud
  11. 19200
  12. serial
  13. /dev/ttyS0
  14. # Linux
  15. #ucasteth2 10.0.0.3
  16. ucast eth0 192.168.1.203
  17. #备份机上填写ucast eth0192.168.1.202
  18. auto_failbackon
  19. watchdog/dev/watchdog
  20. #crm on
  21. nodeprimarylb.linuxtone.org
  22. nodebackuplb.linuxtone.org
  23. ping192.168.1.203
  24. #ping_grouplbgroup 10.0.0.1 10.0.0.2
  25. ping_grouplbgroup 192.168.1.202 192.168.1.203
  26. respawnroot /usr/lib/heartbeat/ipfail
  27. apiauth ipfail gid=root uid=root

复制代码3.配置authkeys

  1. # vi/etc/ha.d/authkeys

复制代码auth 2
2 sha1 Hey!

  1. #chmod 600 /etc/ha.d/authkeys

复制代码4.配置haresources
主服务器配置:

  1. # vi /etc/ha.d/haresources
  2. primarylb.linuxtone.org  192.168.1.200/32/eth0:0 l7vsd l7directord

复制代码备份服务器配置:

  1. # vi /etc/ha.d/haresources
  2. backuplb.linuxtone.org 192.168.1.200/32/eth0:0 l7vsd l7directord

复制代码将相关资源建立链接:

  1. # ln -s /usr/sbin/l7vsd /etc/ha.d/resource.d/
  2. # ln -s /etc/init.d/l7directord /etc/ha.d/resource.d/

复制代码5.配置l7directord.conf (cat l7directord.cf |grep -v "#")

  1. # vi /etc/ha.d/conf/l7directord.cf
  2. checktimeout=4
  3. checkinterval=10
  4. autoreload=yes
  5. logfile="/var/log/l7directord.log"
  6. quiescent=no
  7. virtual=192.168.1.200:80
  8. real=192.168.1.204:80 masq 1
  9. real=192.168.1.205:80 masq 1
  10. module=cinsert --cookie-name 'linuxtone'--cookie-expire 5
  11. scheduler=wrr
  12. protocol=tcp
  13. maxconn=2000

复制代码6.配置完成启动heartbeat
# /etc/init.d/heartbeatstart

7. Realserver配置(略,请参考http://www.linuxtone.org 相关文档.)

四. 故障排除与测试.
1.查看日志.

  1. # tail -f /var/log/messages

复制代码实时监听相看日志变化.

2.查看服务是否正常

  1. # ps -ef |grepl7directord
  2. # ps -ef |grepl7vsd
  3. # ifconfig 或 ip add show

复制代码3. # watch l7vsadm?l

  1. Layer-7 Virtual Server version 2.0.0-1
  2. Prot LocalAddressort ProtoMod Scheduler
  3.    -> RemoteAddressort           Forward Weight ActiveConn InactConn
  4. TCP 192.168.1.200:http cinsert wrr
  5.    -> 192.168.1.204:http           Masq    1  0          1
  6.    -> 192.168.1.205:http           Masq    1  0          0

复制代码4. ha.cf 配置错误导致Heartbeat不能正常停止和接管相关资源[提醒]
在测试过程中在backuplb机器上,配置ha.cf的时候是直接copy了primarylb的配置
文件: ucast eth0 192.168.1.202 写成了ucast eth0 192.168.1.203 导致heartbeat不能正
停止和接管资源。所以朋友们在配置过程中尽量要仔细认真,多分析日志.

五.相关参考文档:
1. 负载均衡之UltraMonkey-L7[龙如俊大哥之作]: http://www.linuxtone.org/thread-1351-1-1.html
2. 官方参考文档:  http://ultramonkey-l7.sourceforge.jp/index_en.html
3. PDF文档下载:    UltaMonkey-L7 试验文档.pdf (131.88 KB, 下载次数: 144)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文