一、简介
二、环境介绍
三、安装配置后端服务器
四、安装配置Haproxy
五、安装配置Keepalived
六、验证服务
一、简介
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恢复的时会重新接管所有资源
二、环境介绍
161758348.gif
系统版本: CentOS 6.4_x86_64
Keepalived版本: keepalived-1.2.7 点此下载
Haproxy版本: Haproxy-1.4.24 点此下载
拓扑介绍:
前端HA1与HA2服务器上安装Keepalived+Haproxy软件,两台服务器互为主备而初始状态是每台服务器上各有一个虚拟IP地址【HA1的VIP:172.16.14.10 HA2的VIP:172.16.14.11】;后台WEB1与WEB2服务器上面安装Apache软件实现负载均衡;而LAMP服务器只负责解析php程序,当用户访问的是静态页面时会由前端调度器分发到处理静态请求的服务器,如果访问的是php的动态页面,将会被分发到lamp动态服务器进行处理,实现了动、静分离的效果,
三、安装后端服务器
1、安装LAMP服务器并测试
1
2
3
4
5
6
7
8
[root@lamp ~]# yum -y install httpd php mysql-server
######创建测试页
[root@lamp ~]# vim /var/www/html/index.php
LAMP: 172.16.14.5
WEB1:172.16.14.3" > /var/www/html/index.html
133702690.gif
3、安装WEB2服务器的HTTPD服务并访问测试
1
2
3
4
[root@WEB2 ~]# yum -y install httpd
[root@WEB2 ~]# service httpd start
[root@WEB2 ~]# chkconfig httpd on
[root@WEB2 ~]# echo "
WEB2:172.16.14.4" > /var/www/html/index.html
133933830.gif
四、安装并配置Haproxy
1、在HA1服务器安装Haproxy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
######安装开发环境
[root@HA1 ~]# yum -y install gcc gcc-c++
[root@HA1 ~]# tar xf haproxy-1.4.24.tar.gz
[root@HA1 ~]# cd haproxy-1.4.24