仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 680|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来一发Haproxy+Keepalived设置WEB负载平衡及动态分别

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:39:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1、简介

2、情况先容
3、装置设置后端办事器
4、装置设置Haproxy
5、装置设置Keepalived
6、考证办事
1、简介
HAProxy简介:
HAProxy供应高可用性、负载平衡和基于TCP和HTTP使用的代办署理,撑持假造主机,它是收费、疾速而且牢靠的一种办理计划。HAProxy出格合用于那些负载特年夜的web站点,这些站点一般又必要会话坚持或七层处置。HAProxy运转在时下的硬件上,完整能够撑持数以万计的并发毗连。而且它的运转形式使得它能够很复杂宁静的整合进您以后的架构中,同时能够回护你的web办事器不被表露到收集上
HAProxy完成了一种事务驱动、单一历程模子,此模子撑持十分年夜的并发毗连数。多历程或多线程模子受内存限定、体系调剂器限定和无处不在的锁限定,很少能处置数千并发毗连。事务驱动模子由于在有更好的资本和工夫办理的用户端(User-Space)完成一切这些义务,以是没有这些成绩。此模子的坏处是,在多核体系上,这些步伐一般扩大性较差。这就是为何他们必需举行优化以使每一个CPU工夫片(Cycle)做更多的事情
Keepalived简介:
KeepAlived是一个相似于layer3,4&5互换机制的软件,是一个高可用办理计划,经由过程假造IP地点和心跳检测对方形态来完成高可勤奋能。Keepalived是由两台办事器分离指定Master与Backup两个脚色,而指定Master的优先级比Backup的高;以是默许情形下假造IP会绑定到Master办事器上,对外供应办事。而Master、Backup办事器会在必定的工夫距离向对方发送心跳信息来检测对方的存活形态,工夫距离通常是2秒钟能够修正,假如Backup发明Master宕机,那末Backup会发送ARP包到网关,然后把假造IP绑定到本人的网卡上,此时Backup对外供应办事,完成了主动化的妨碍转移,当Master规复的时会从头接受一切资本
2、情况先容



体系版本:CentOS6.4_x86_64
Keepalived版本:keepalived-1.2.7点此下载
Haproxy版本:Haproxy-1.4.24点此下载
拓扑先容:
前端HA1与HA2办事器上装置Keepalived+Haproxy软件,两台办事器互为主备而初始形态是每台办事器上各有一个假造IP地点【HA1的VIP:172.16.14.10HA2的VIP:172.16.14.11】;背景WEB1与WEB2办事器下面装置Apache软件完成负载平衡;而LAMP办事器只卖力剖析php步伐,当用户会见的是静态页面时会由前端调剂器分发各处理静态哀求的办事器,假如会见的是php的静态页面,将会被分发到lamp静态办事器举行处置,完成了动、静分别的效果,
3、装置后端办事器
1、装置LAMP办事器并测试
  1. [root@lamp~]#yum-yinstallhttpdphpmysql-server######创立测试页[root@lamp~]#vim/var/www/html/index.php<h1>LAMP:172.16.14.5</h1><?phpphpinfo();[root@lamp~]#servicehttpdstart[root@lamp~]#chkconfighttpdon
复制代码



2、装置WEB1办事器的HTTPD办事并会见测试
  1. [root@WEB1~]#yum-yinstallhttpd[root@WEB1~]#servicehttpdstart[root@WEB1~]#chkconfighttpdon[root@WEB1~]#echo"<h1>WEB1:172.16.14.3</h1>">/var/www/html/index.html
复制代码



3、装置WEB2办事器的HTTPD办事并会见测试
  1. [root@WEB2~]#yum-yinstallhttpd[root@WEB2~]#servicehttpdstart[root@WEB2~]#chkconfighttpdon[root@WEB2~]#echo"<h1>WEB2:172.16.14.4</h1>">/var/www/html/index.html
复制代码



4、装置并设置Haproxy
1、在HA1办事器装置Haproxy
  1. ######装置开辟情况[root@HA1~]#yum-yinstallgccgcc-c++[root@HA1~]#tarxfhaproxy-1.4.24.tar.gz[root@HA1~]#cdhaproxy-1.4.24[root@HA1haproxy-1.4.24]#uname-r2.6.32-358.el6.x86_64[root@HA1haproxy-1.4.24]#makeTARGET=linux26ARCH=x86_64[root@HA1haproxy-1.4.24]#makeinstall######正文:TARGET指定内核版本,而uname-r是检察内核版本;ARCH指定CPU架构----------------------------------------------------------------------######为Haproxy供应主设置文件与办事剧本,并将其增加到体系办事[root@HA1haproxy-1.4.24]#mkdir/etc/haproxy[root@HA1haproxy-1.4.24]#cpexamples/haproxy.cfg/etc/haproxy[root@HA1haproxy-1.4.24]#cpexamples/haproxy.init/etc/init.d/haproxy[root@HA1haproxy-1.4.24]#ln-s/usr/local/sbin/haproxy/usr/sbin/haproxy[root@HA1haproxy-1.4.24]#chmod+x/etc/init.d/haproxy[root@HA1haproxy-1.4.24]#chkconfig--addhaproxy
复制代码
2、修正主设置文件
  1. ######创立Haproxy的事情目次[root@HA1~]#mkdir/usr/share/haproxy[root@HA1~]#vim/etc/haproxy/haproxy.cfg#thisconfigneedshaproxy-1.1.28orhaproxy-1.2.1globallog127.0.0.1local0#日记设置,一切日记都纪录在当地,经由过程local0输入log127.0.0.1local1noticemaxconn25600#最年夜毗连数chroot/usr/share/haproxy#改动Haproxy的事情目次uid99#用户的UIDgid99#用户的GIDnbproc1#历程数据(能够设置多个)daemon#今后台保卫历程体例运转Haproxy#debug#是不是开启调试defaultslogglobalmodehttp#默许利用协定,能够为{http|tcp|health}http:是七层协定tcp:是四层health:只前往OKoptionhttplog#具体纪录http日记optiondontlognull#不纪录安康反省的日记信息retries3#3次毗连失利则以为办事不成用optionredispatch#ServerID对应的办事器宕机后,强迫定向到其他运转一般的办事器maxconn30000#默许的最年夜毗连数contimeout5000#毗连超时clitimeout50000#客户端超时srvtimeout50000#办事器超时timeoutcheck1s#心跳检测超时timeouthttp-request10s#默许http哀求超不时间timeoutqueue1m#默许行列超不时间timeoutconnect10s#默许毗连超不时间timeoutclient1m#默许客户端超不时间timeoutserver1m#默许办事器超不时间timeouthttp-keep-alive10s#默许耐久毗连超不时间listenstatsmodehttpbind0.0.0.0:8090#指定IP地点与Portstatsenable#开启Haproxy统计形态statsrefresh3s#统计页面主动革新工夫距离statshide-version#形态页面不显现版本号statsuri/allen#统计页面的uri为"/allen"statsrealmHaproxyallen#统计页面认证时提醒内容信息statsauthadmin:admin#统计页面的用户名与暗码statsadminifTRUE#启用或禁用形态页面frontendallen#界说前端办事器bind*:80modehttpoptionhttpclose#每次哀求完成自动封闭http毗连optionforwardfor#后端办事器猎取客户真个IP地点,能够从httpheader中猎取aclurl_staticpath_end-i.html.jpg.gif#界说ACL划定规矩以如".html"开头的文件;-i:疏忽巨细写aclurl_dynamicpath_end-i.phpdefault_backendwebservers#客户端会见时默许挪用后端办事器地点池use_backendlampifurl_dynamic#挪用后端办事器并反省ACL划定规矩是不是被婚配backendwebservers#界说后端办事器balanceroundrobin#界说算法;基于权重举行轮询serverweb1172.16.14.3:80checkrise2fall1weight2serverweb2172.16.14.4:80checkrise2fall1weight2backendlampbalancesource#界说算法;源地点hash运算;相似于Nginx的ip_hashserverlamp172.16.14.5:80checkrise2fall1----------------------------------------------------------------------#####正文:check:启动对后端server的安康形态检测;rise:离线的server转换到一般形态乐成反省的次数;fall:确认server从一般形态转换为不成用形态必要反省的次数;weight:权重,数目越年夜,超重越高
复制代码
3、启动Haproxy办事并做会见测试
  1. [root@HA1~]#servicehaproxystart
复制代码



4、在HA2办事器上装置Haproxy;这里就不在先容了,装置与设置***与在HA1办事器上装置不异

5、装置设置Keepalived

1、在HA1与HA2办事器上装置Keepalived
  1. [root@HA1~]#yum-yinstallkeepalived[root@HA2~]#yum-yinstallkeepalived
复制代码
2、修正HA1办事器的主设置文件
  1. [root@HA1~]#vim/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{root@localhost}notification_email_fromadmin@allen.comsmtp_server127.0.0.1smtp_connect_timeout30router_idLVS_ALLEN}vrrp_scriptchk_proess{script"killall-0haproxy"interval1weight-2}vrrp_instanceha_1{stateMASTERinte***ceeth0virtual_router_id56priority100advert_int1authentication{auth_typePASSauth_pass1056}virtual_ipaddress{172.16.14.10}track_script{chk_proess}}vrrp_instanceha_2{stateBACKUPinte***ceeth0virtual_router_id58priority92advert_int1authentication{auth_typePASSauth_pass1058}virtual_ipaddress{172.16.14.11}}
复制代码
3、修正HA2办事器的主设置文件
  1. [root@HA2~]#vim/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{root@localhost}notification_email_fromadmin@allen.comsmtp_server127.0.0.1smtp_connect_timeout30router_idLVS_ALLEN}vrrp_scriptchk_proess{script"killall-0haproxy"interval1weight-2}vrrp_instanceha_1{stateBACKUPinte***ceeth0virtual_router_id56priority99advert_int1authentication{auth_typePASSauth_pass1056}virtual_ipaddress{172.16.14.10}}vrrp_instanceha_2{stateMASTERinte***ceeth0virtual_router_id58priority93advert_int1authentication{auth_typePASSauth_pass1058}virtual_ipaddress{172.16.14.11}track_script{chk_proess}}
复制代码
4、启动Keepalived办事并检察HA1与HA2办事器上的假造IP地点
  1. [root@HA1~]#servicekeepalivedstart[root@HA1~]#ipaddrshoweth02:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:2c:1a:24brdff:ff:ff:ff:ff:ffinet172.16.14.1/16brd172.16.255.255scopeglobaleth0inet172.16.14.10/32scopeglobaleth0inet6fe80::20c:29ff:fe2c:1a24/64scopelinkvalid_lftforeverpreferred_lftforever------------------------------------------------------------------------[root@HA2~]#servicekeepalivedstart[root@HA2~]#ipaddrshoweth02:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:ec:f6:3fbrdff:ff:ff:ff:ff:ffinet172.16.14.2/16brd172.16.255.255scopeglobaleth0inet172.16.14.11/32scopeglobaleth0inet6fe80::20c:29ff:feec:f63f/64scopelinkvalid_lftforeverpreferred_lftforever
复制代码
6、考证办事
1、会见考证办事器的负载平衡功效



2、考证是不是完成动、静分别的效果



3、假定前端办事器个中一台呈现了妨碍,考证IP地点可否主动切换到备份办事器上
  1. [root@WEB1~]#yum-yinstallhttpd[root@WEB1~]#servicehttpdstart[root@WEB1~]#chkconfighttpdon[root@WEB1~]#echo"<h1>WEB1:172.16.14.3</h1>">/var/www/html/index.html0
复制代码
4、假设这里将办事器修复好从头上线,IP地点会切换回到本来的办事器,这里就不在考证;将HA2办事器上的haproxy或keepalived办事封闭亦是云云


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
只想知道 该用户已被删除
沙发
发表于 2015-1-16 21:12:07 | 只看该作者

来一发Haproxy+Keepalived设置WEB负载平衡及动态分别

查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
小女巫 该用户已被删除
板凳
发表于 2015-1-25 19:57:03 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-4 01:08:59 | 只看该作者
学习Linux应具备的。[书籍+网络资源]
活着的死人 该用户已被删除
5#
发表于 2015-2-9 10:32:53 | 只看该作者
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。
再现理想 该用户已被删除
6#
发表于 2015-2-27 09:05:40 | 只看该作者
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-9 08:36:57 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
8#
发表于 2015-3-17 00:44:24 | 只看该作者
掌握在Linux系统中安装软件,在安装Linux工具盘后大致日常所需的软件都会有,一般网络提供下载的软件都会有安装说明。
乐观 该用户已被删除
9#
发表于 2015-3-23 15:22:24 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 23:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表