运维——实现keepalived+haproxy

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器 

 

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

 

看完上面的的描述是不是明白了两个开源软件的作用,还不明白?那可是官方的描述,好吧,那我就简单给你描述下:

haproxy就是可以把你请求的资源调度到后端不同的服务器,你访问时只要访问haproxy就可以了,但是,如果haproxy宕机了是不是还要再来一台继续工作,那么如何在一台haproxy宕机后自动启动另外的haproxy呢?这时候就该用keepalived了,他可以实现服务的高可用,如果一台宕机了,立即会把另一个启用,不知道这样说合适不合适,只要能明白就行

拓扑结构如下:

运维——实现keepalived+haproxy_第1张图片

访问的VIP是不断的在飘,为什么?因为其中一台宕机了他立马飘到另外一台,这样你就可以正常访问了,到这你应该明白了,那么就来实现一下吧

前提:由于是在虚拟机上测试,所以两台haproxy服务器都只有一个仅主机的网卡

1、在两台web服务器上安装nginx并创建默认网页

在动态资源服务器安装nginx

创建默认网页

运维——实现keepalived+haproxy_第2张图片

启动服务时如果报错请在/etc/nginx/nginx.conf中第39行将default_server删除即可

测试一下:

运维——实现keepalived+haproxy_第3张图片

 

在静态资源服务器

运维——实现keepalived+haproxy_第4张图片

启动服务

测试一下:

运维——实现keepalived+haproxy_第5张图片

 

至此两个web服务器已经搭建好了

 

配置haproxy

由于两台haproxy的配置完全一样此处只在一台上进行配置,其他一台完全相同

安装haproxy

修改配置文件  vim /etc/haproxy/haproxy.cfg

运维——实现keepalived+haproxy_第6张图片

配置完之后就可以启动了

测试:只需输入两台haproxy中任意一台地址即可访问后端web服务器点击刷新按钮会显示后端两台web的页面

运维——实现keepalived+haproxy_第7张图片

再次点击刷新按钮

运维——实现keepalived+haproxy_第8张图片

也可以在客户机访问:

运维——实现keepalived+haproxy_第9张图片

运维——实现keepalived+haproxy_第10张图片

两台都已经可以正常实现调度,接下就该通过Keepalived实现高可用

keepalived配置

两台haproxy都要安装yum install keepalived -y

编辑配置文件

vim /etc/keepalived/keepalived.cfg

运维——实现keepalived+haproxy_第11张图片

启动服务:由于启动后keepalived会自动生成防火墙规则所以在实验时将其删除

配置第二台haproxy

方法与主的配置完全一样只需将MASTER改为BACKUP 并将优先级设置为低于主的即可

运维——实现keepalived+haproxy_第12张图片

启动服务并清除规则

配置完成,接下来我们来测试一下

在浏览器端输入VIP点击刷新按钮会显示出不同的页面即成功

运维——实现keepalived+haproxy_第13张图片

点击刷新按钮

运维——实现keepalived+haproxy_第14张图片

在客户机端测试:

运维——实现keepalived+haproxy_第15张图片

已经成功!!!!!!!

此时,可以停止任意一个web服务和任意一个haproxy服务,再访问时依旧正常,此处不再演示

你可能感兴趣的:(linux运维)