基于Keepalived+Haproxy.docx_第1页
基于Keepalived+Haproxy.docx_第2页
基于Keepalived+Haproxy.docx_第3页
基于Keepalived+Haproxy.docx_第4页
基于Keepalived+Haproxy.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Keepalived+Haproxy搭建四层负载均衡器原创刘天斯, 2011/03/10 18:17 ,Haproxy,评论(31),阅读(56043), Via 本站原创大|中|小一、前言 Haproxy是稳定、高性能、高可用性的负载均衡解决方案,支持HTTP及TCP代理后端服务器池,因支持强大灵活的7层acl规则,广泛作为HTTP反向代理。本文则详细介绍如何利用它的四层交换与Keepalived实现一个负载均衡器,适用于Socket、ICE、Mail、Mysql、私有通讯等任意TCP服务。系统架构图如下:二、平台环境引用OS:Centos5.4(64X)MASTER:0BACKUP:1VIP:00Serivce Port:11231三、平台安装配置1、添加非本机IP邦定支持引用#vi /etc/sysctl.confnet.ipv4.ip_nonlocal_bind=1#sysctl p2、配置平台日志支持引用#vi /etc/syslog.conf添加:local3.*/var/log/haproxy.loglocal0.*/var/log/haproxy.log#vi /etc/sysconfig/syslog修改:SYSLOGD_OPTIONS=-r -m 0#/etc/init.d/syslog restart3、关闭SELINUX引用vi /etc/sysconfig/selinux修改:SELINUX=disabled#setenforce 04、配置iptables,添加VRRP通讯支持引用iptables -A INPUT -d 8 -j ACCEPT5、Keepalived的安装、配置引用#mkdir -p /home/install/keepalivedha#cd /home/install/keepalivedha#wget /software/keepalived-1.2.2.tar.gz#tar zxvf keepalived-1.2.2.tar.gz#cd keepalived-1.2.2#./configure#make & make install引用#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/#mkdir /etc/keepalived#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/#cp /usr/local/sbin/keepalived /usr/sbin/#vi /etc/keepalived/keepalived.confview plainprint?1. !ConfigurationFileforkeepalived2. 3. global_defs4. notification_email5. 6. 7. notification_email_8. smtp_connect_timeout39. smtp_server10. router_idLVS_DEVEL11. 12. vrrp_scriptchk_haproxy13. scriptkillall-0haproxy14. interval215. weight216. 17. vrrp_instanceVI_118. interfaceeth119. stateMASTER#从为BACKUP20. priority101#从为10021. virtual_router_id50#路由ID,可通过#tcpdumpvrrp查看。22. garp_master_delay1#主从切换时间,单位为秒。23. 24. authentication25. auth_typePASS26. auth_passKJj23576hYgu23IP27. 28. track_interface29. eth030. eth131. 32. virtual_ipaddress33. 0034. 35. track_script36. chk_haproxy37. 38. 39. #状态通知40. notify_master/etc/keepalived/Mailnotify.pymaster41. notify_backup/etc/keepalived/Mailnotify.pybackup42. notify_fault/etc/keepalived/Mailnotify.pyfault43. 6、Haproxy的安装与配置引用#cd /home/install/keepalivedha#wget http:/haproxy.1wt.eu/download/1.4/src/haproxy-1.4.11.tar.gz#tar -zxvf haproxy-1.4.11.tar.gz#cd haproxy-1.4.11#make install#mkdir -p /usr/local/haproxy/etc#mkdir -p /usr/local/haproxy/sbin#cp examples/haproxy.cfg /usr/local/haproxy/etc#ln -s /usr/local/sbin/haproxy /usr/local/haproxy/sbin/haproxy#vi /usr/local/haproxy/etc/haproxy.cfgview plainprint?1. #thisconfigneedshaproxy-1.1.28orhaproxy-1.2.12. 3. global4. #loglocal05. loglocal1notice6. maxconn50007. uid998. gid999. daemon10. pidfile/usr/local/haproxy/haproxy.pid11. 12. 13. defaults14. logglobal15. modehttp16. #optionhttplog17. optiondontlognull18. retries319. optionredispatch20. maxconn200021. contimeout500022. clitimeout5000023. srvtimeout5000024. 25. listenICE0100:1123126. modetcp#配置TCP模式27. maxconn200028. balanceroundrobin29. serverice-2828:11231checkinter5000fall1rise230. serverice-2929:11231checkinter5000fall1rise231. serverice-3030:11231checkinter5000fall1rise232. serverice-3131:11231checkinter5000fall1rise233. serverice-3232:11231checkinter5000fall1rise234. serverice-44:11231checkinter5000fall1rise235. srvtimeout2000036. 37. listenstats_auth0:8038. #listenstats_auth1:80#backupconfig39. statsenable40. statsuri/admin-status#管理地址41. statsauthadmin:123456#管理帐号:管理密码42. statsadminifTRUE7、邮件通知程序(python实现)#vi /etc/keepalived/Mailnotify.pyview plainprint?1. #!/usr/local/bin/python2. #coding:utf-83. fromemail.MIMEMultipartimportMIMEMultipart4. fromemail.MIMETextimportMIMEText5. fromemail.MIMEImageimportMIMEImage6. fromemail.headerimportHeader7. importsys8. importsmtplib9. 10. #-11. #Name:Mailnotify.py12. #Purpose:MailnotifytoSA13. #Author:Liutiansi14. #Email:15. #Created:2011/03/0916. #Copyright:(c)201117. #-18. strFrom=19. strTo=20. smtp_server=21. smtp_pass=12345622. 23. ifsys.argv1!=masterandsys.argv1!=backupandsys.argv1!=fault:24. sys.exit()25. else:26. notify_type=sys.argv127. 28. 29. mail_title=紧急负载均衡器邮件通知30. mail_body_plain=notify_type+被激活,请做好应急处理。31. mail_body_html=+notify_type+被激活,请做好应急处理。32. 33. msgRoot=MIMEMultipart(related)34. msgRootSubject=Header(mail_title,utf-8)35. msgRootFrom=strFrom36. msgRootTo=strTo37. 38. msgAlternative=MIMEMultipart(alternative)39. msgRoot.attach(msgAlternative)40. 41. msgText=MIMEText(mail_body_plain,plain,utf-8)42. msgAlternative.attach(msgText)43. 44. 45. msgText=MIMEText(mail_body_html,html,utf-8)46. msgAlternative.attach(msgText)47. 48. 49. smtp=smtplib.SMTP()50. smtp.connect(smtp_server)51. smtp.login(smtp_user,smtp_pass)52. smtp.sendmail(strFrom,strTo,msgRoot.as_string()53. smtp.quit()注:修改成系统python实际路径“#!/usr/local/bin/python”(第一行)#chmod +x /etc/keepalived/Mailnotify.py#/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg#service keepalived start8、查看VRRP通讯记录#tcpdump vrrp引用tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes15:49:05.270017 IP 192.168

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论