版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HAProxy+keepalived实现web服务器负载均衡说明:操作系统:CentOS 5.X 64位Web服务器:27、28站点:和部署在两台Web服务器上实现目的:增加两台服务器(主主模式),通过HAProxy+Keepalived实现Web服务器负载均衡架构规划:HAProxy服务器:29、30虚拟服务器(VIP):53、54部署完成之后:1、VIP:53指向29;VIP:
2、54指向30;2、当29宕机时,VIP:53漂移到30上;3、当30宕机时,VIP:54漂移到29上;这样的主主模式好处是,两台服务器在提供服务的同时,又互为对方的备份服务器。具体操作:第一部分:在两台HAProxy服务器上分别操作一、关闭SElinux、配置防火墙1、vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉
3、SELINUX=disabled #增加:wq! #保存退出setenforce 0 #使配置立即生效2、vi /etc/sysconfig/iptables #编辑-A RH-Firewall-1-INPUT -d 8 -j ACCEPT #允许组播地址通信-A RH-Firewall-1-INPUT -p vrrp -j ACCEPT #允许VRRP(虚拟路由器冗余协)通信-A RH-Firew
4、all-1-INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT #允许80端口通过防火墙:wq! #保存退出/etc/init.d/iptables restart #重启防火墙使配置生效二、安装HAProxy1、创建HAProxy运行账户和组groupadd haproxy #添加haproxy组useradd -g haproxy haproxy -s /bin/false #创建nginx运行账户haproxy并加入到haproxy组,不允许haproxy用户
5、直接登录系统2、安装编译工具yum install gcc gcc-c+ make openssl-devel kernel-devel3、安装HAProxyHAProxy下载地址:http:/haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz上传haproxy-1.4.24.tar.gz到/usr/local/src目录中cd /usr/local/src #进入软件包存放目录tar zxvf haproxy-1.4.24.tar.gz #解压cd haproxy-1.4.24
6、160;#进入安装目录make TARGET=linux26 CPU=x86_64 PREFIX=/usr/local/haprpxy #编译make install PREFIX=/usr/local/haproxy #安装参数说明:TARGET=linux26 #使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26CPU=x86_64 #使用uname -r查看系统信息,如x86_64 x86_64 x86_64 G
7、NU/Linux,此时该参数就为x86_64PREFIX=/usr/local/haprpxy #/usr/local/haprpxy为haprpxy安装路径4、设置HAProxymkdir -p /usr/local/haproxy/conf #创建配置文件目录mkdir -p /etc/haproxy #创建配置文件目录cp /usr/local/src/haproxy-1.4.24/examples/haproxy.cfg /usr/local/haproxy/conf/haproxy.
8、cfg #拷贝配置模板文件ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg #添加配置文件软连接cp -r /usr/local/src/haproxy-1.4.24/examples/errorfiles /usr/local/haproxy/errorfiles #拷贝错误页面ln -s /usr/local/haproxy/errorfiles /etc/h
9、aproxy/errorfiles #添加软连接mkdir -p /usr/local/haproxy/log #创建日志文件目录touch /usr/local/haproxy/log/haproxy.log #创建日志文件ln -s /usr/local/haproxy/log/haproxy.log /var/log/haproxy.log #添加软连接cp /usr/local/src/haproxy-1.4.24/examples/haproxy.i
10、nit /etc/rc.d/init.d/haproxy #拷贝开机启动文件chmod +x /etc/rc.d/init.d/haproxy #添加脚本执行权限chkconfig haproxy on #设置开机启动ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin #添加软连接5、配置haproxy.cfg参数cp /usr/local/haproxy/conf/haproxy.cfg
11、160; /usr/local/haproxy/conf/haproxy.cfg-bak #备份vi /usr/local/haproxy/conf/haproxy.cfg #编辑,修改# this config needs haproxy-1.1.28 or haproxy-1.2.1globallog local0 #在本机记录日志log local1 notice#log loghost local0
12、 infomaxconn 65535 #每个进程可用的最大连接数chroot /usr/local/haproxy #haproxy安装目录uid 500 #运行haproxy的用户uid(cat /etc/passwd查看)gid 500 #运行haproxy的组uid(cat /etc/group查看)daemon #以后台守护进程运行pidfile /usr/local/haproxy/haproxy.pid #将所有进程写入pid文
13、件#debug #调试模式#quiet #安装模式defaults#log globallog local3 #日志文件设置mode http #运行模式tcp、http、healthoption httplogoption httpclose
14、0;#每次请求完毕后主动关闭http通道option dontlognull #不记录健康检查的日志信息option redispatch #如果后端有服务器宕机,强制切换到正常服务器option abortonclose #丢弃由于客户端等待时间过长而关闭连接但仍在haproxy等待队列中的请求option forwardfor #获取客户端真实访问IPoption originalto
15、#记录客户端访问的目的IPmaxconn 65535 #每个进程可用的最大连接数balance source #同一IP地址的所有请求都发送到同一服务器retries 3 #三次连接失败,则判断服务不可用contimeout 5000 #连接超时clitimeout 50000 #客户端超时srvtimeout
16、; 50000 #服务器超时timeout check 5s #检测超时stats refresh 30s #统计页面自动刷新时间stats uri /haproxy-status #统计页面URL路径stats realm haproxy-status #统计页面输入密码框提示信息stats auth admin:123456 #统计页面用户名和密码stats hide-version
17、60; #隐藏统计页面上HAProxy版本信息frontend web #自定义描述信息bind :80 #监听80端口acl hdr(host) -i #规则设置,-i后面是要访问的域名,如果访问这个域名,就负载均衡到作用域use_backend if #acl和if后面的名称必须相同这里为acl hdr(host) -i #规则设置,-i后面是要访问的域
18、名,如果访问这个域名,就负载均衡到作用域use_backend if backend mode httpbalance source#option httpchk /index.php #检测服务器此文件是否存在,如果没有,则认为服务器连接异常,此参数可以不设置server 27 27:80 check inter 2000
19、 rise 3 fall 3 weight 100 #inter 2000 心跳检测时间;rise 3 三次连接成功,表示服务器正常;fall 3 三次连接失败,表示服务器异常; weight 100 权重设置server 28 28:80 check inter 2000 rise 3 fall 3
20、 weight 100backend mode httpbalance source #设置负载均衡模式,source保存session值,roundrobin轮询模式#option httpchk /index.php #检测服务器此文件是否存在,如果没有,则认为服务器连接异常,此参数可以不设置server 27 27:80 check
21、 inter 2000 rise 3 fall 3 weight 100server 28 28:80 check inter 2000 rise 3 fall 3 weight 100#errorloc 503 errorfile 403 /etc/haproxy/errorfiles/403.h
22、ttperrorfile 500 /etc/haproxy/errorfiles/500.httperrorfile 502 /etc/haproxy/errorfiles/502.httperrorfile 503 /etc/haproxy/errorfiles/503.httperrorfile 504 /etc/haproxy/errorfiles/504.http#:wq! #保存退出service haproxy start #启动service haproxy stop #关闭service haproxy restart
23、60;#重启6、设置HAProxy日志vi /etc/syslog.conf #编辑,在最下边增加# haproxy.loglocal0.* /var/log/haproxy.loglocal3.* /var/log/haproxy.log:wq! #保存退出vi /etc/sysconfig/syslog
24、0; #编辑修改SYSLOGD_OPTIONS="-r -m 0" #接收远程服务器日志:wq! #保存退出service syslog restart #重启syslog三、安装keepalived下载keeplived:/software/keepalived-1.2.12.tar.gz上传keepalived-1.2.12.tar.gz到/usr/local/src目录cd /usr/local/srctar zxvf keepalived-1.
25、2.12.tar.gzcd keepalived-1.2.12./configure #配置,必须看到以下提示,说明配置正确,才能继续安装Use IPVS Framework : YesIPVS sync daemon support : YesUse VRRP Framework : Yesmake #编辑make install #安装cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/mkdir
26、/etc/keepalivedcp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/cp /usr/local/sbin/keepalived /usr/sbin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/chmod +x /etc/rc.d/init.d/keepalived #添加执行权限chkconfig keepalived on #设置开机启动service keepalived star
27、t #启动service keepalived stop #关闭service keepalived restart #重启四、配置keepalivedcp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf-bakvi /etc/keepalived/keepalived.conf #编辑,修改为以下代码#以下为29服务器:! Configuration File for keepalivedglobal_
28、defs notification_email acassenfirewall.locfailoverfirewall.locsysadminfirewall.locnotification_email_from Alexandre.Cassenfirewall.locsmtp_server smtp_connect_timeout 30router_id LVS_DEVELvrrp_script chk_haproxy script "/etc/keepalived/check_haproxy.sh" #HAproxy服务监
29、控脚本interval 2weight 2vrrp_instance VI_1 state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication auth_type PASSauth_pass 1111track_script chk_haproxy #监测haproxy进程状态virtual_ipaddress 53notify_master "/etc/keepalived/clean_arp.sh 53&q
30、uot; #更新虚拟服务器(VIP)地址的arp记录到网关vrrp_instance VI_2 state BACKUPinterface eth0virtual_router_id 52priority 99advert_int 1authentication auth_type PASSauth_pass 1111virtual_ipaddress 54notify_master "/etc/keepalived/clean_arp.sh 54" #更新虚拟服务器(V
31、IP)地址的arp记录到网关#:wq! #保存退出#以下为30服务器:30! Configuration File for keepalivedglobal_defs notification_email acassenfirewall.locfailoverfirewall.locsysadminfirewall.locnotification_email_from Alexandre.Cassenfirewall.locsmtp_server smtp_connect_timeout 30router_id
32、 LVS_DEVELvrrp_script chk_haproxy script "/etc/keepalived/check_haproxy.sh" #HAproxy服务监控脚本interval 2weight 2vrrp_instance VI_1 state BACKUPinterface eth0virtual_router_id 51priority 99advert_int 1authentication auth_type PASSauth_pass 1111track_script chk_haproxy #监测haproxy
33、进程状态virtual_ipaddress 53notify_master "/etc/keepalived/clean_arp.sh 53" #更新虚拟服务器(VIP)地址的arp记录到网关vrrp_instance VI_2 state MASTERinterface eth0virtual_router_id 52priority 100advert_int 1authentication auth_type PASSauth_pass 1111virtual_ipaddress 192
34、.168.21.254notify_master "/etc/keepalived/clean_arp.sh 54" #更新虚拟服务器(VIP)地址的arp记录到网关#系统运维 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接:wq! #保存退出五、设置HAproxy服务监控脚本vi /etc/keepalived/check_haproxy.sh #编辑,添加以下代码#!/bin/shif $(ps -C haproxy -no-hea
35、der | wc -l) -eq 0 ; then/etc/rc.d/init.d/haproxy startfisleep 2if $(ps -C haproxy -no-header | wc -l) -eq 0 ; then/etc/rc.d/init.d/keepalived stopfi#:wq! #保存退出chmod +x /etc/keepalived/check_haproxy.sh #添加执行权限六、设置更新虚拟服务器(VIP)地址的arp记录到网关脚本vi /etc/keepalived/cle
36、an_arp.sh #编辑,添加以下代码#!/bin/shVIP=$1GATEWAY= #网关地址/sbin/arping -I eth0 -c 5 -s $VIP $GATEWAY &>/dev/null:wq! #保存退出chmod +x /etc/keepalived/clean_arp.sh #添加脚本执行权限七、系统内核优化在两台HAProxy服务器上分别执行以下命令echo 1024 60999 > /proc/sys/net/ipv4/ip_local_port_rangeecho 30 > /proc/sys/net/ipv4/tcp_fin_timeoutecho 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlogecho 262144 > /proc/sys/net/ipv4/tcp_max_tw_bucketsecho 262144 > /proc/sys/net/ipv4/tcp_max_orphansecho 300 > /proc/sys/net/ipv4/tcp_keepal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林艺术学院《劳动教育II》2021-2022学年第一学期期末试卷
- 房产经纪人返佣协议书范本模板
- 主播外出安全协议书范文范本
- 2024年大商铺出租转让协议书模板范本
- 【初中数学】整式的加法与减法课件 2024-2025学年人教版数学七年级上册
- 2024年处理废石协议书模板范本
- 资金代管协议书范文样本
- 2025(新人教版)地理八年级下册全册复习知识清单 课件
- 吉林师范大学《数字剪辑创作》2021-2022学年第一学期期末试卷
- 吉林师范大学《量子力学》2021-2022学年第一学期期末试卷
- 2024-2030年中国虚拟专用网络(VPN)行业市场行业发展分析及发展前景研究报告
- 检验检测机构内审员检查表
- 2024中煤电力限公司面向中煤集团内部招聘15人高频难、易错点500题模拟试题附带答案详解
- 统编版(2024新版)七年级上册历史第二单元 夏商周时期:奴隶制王朝的更替和向封建社会的过渡 单元复习课件
- 第07讲 物态变化(原卷版)-2024全国初中物理竞赛试题编选
- 高危儿规范化健康管理专家共识解读
- 第13课《纪念白求恩》课件2024-2025学年统编版语文七年级上册
- 食品安全的规章制度和食品操作流程
- 《义务教育体育与健康课程标准(2022年版)》解读
- 部编版三年级上册语文第七单元大单元教学设计
- NB-T 10435-2020 电动汽车快速更换电池箱锁止机构通.用技术要求
评论
0/150
提交评论