Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群,通过脚本可以实现web 服务出现故障时和keepalived服务同时关闭,已保证用户对网页的安全访问。

实验(一)

实验目的:使用Keepalived做LVS/DR模式分发HA集群

实验环境准备:

客户端  IP地址:1.1.1.1 主机名:waiwang

web1   IP地址:1.1.1.10 主机名:localhost  

web2   IP地址:1.1.1.20 主机名:localhost  

配置Keepalived+LVS/DR模式(主)服务器的IP地址:1.1.1.30 主机名:fanlj

配置Keepalived+LVS/DR模式(备)服务器的IP地址:1.1.1.40 主机名:fanxiaohui

vip地址:1.1.1.253

实验分析:在LVS/DR模式进行分发web服务时,web服务实现了HA集群,但是对应LVS/DR模式的服务器出现了单点故障,当这台服务器down掉后即使web服务器正常也不能提供服务,为了解决这个问题,公司决定对LVS/DR服务器也做HA集群,这样就可以解决LVS/DR服务器的单点故障。

实验所用软件包:keepalived-1.2.7.tar.gz   ipvsadm

1.启动web1和web2上的网站服务,并且修改 默认的网页,web1的页面为1.1.1.10,web2的页面为1.1.1.20,让realserver拥有vip地址(1.1.1.253)并且让realserver 不响应客户端访问vip地址的arp广播包。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第1张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第2张图片

2.在Keepalived+LVS/DR模式的服务器上安装支持LVS的软件包和安装支持keepalived的软件包(1.1.1.30和1.1.1.40),keepalived源码包进行安装时--config=/etc指定配置文件存放目录,--with-kernel-dir指定内核文件存放的目录,由于keepalived默认内核是不支持的,所以需要指定。

在1.1.1.30上安装keepalived依赖的软件包有gcc  gcc-c++ make kernel-devel   popt-devel   openssl-devel

wKiom1YGTlGiShOhAACusbRxvqE516.jpg

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第3张图片

wKioL1YGTvPi9b-pAABcwScii6I130.jpg

wKiom1YGTx7wApalAAA3ZnjuhK0843.jpg

在1.1.1.40上安装keepalived依赖的软件包有gcc  gcc-c++ make kernel-devel   popt-devel   openssl-devel

wKioL1YGUAyiYKb8AADNCVchkk8320.jpg

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第4张图片

wKioL1YGUXjjDjG9AAAvaGZIHbE882.jpg

3.修改2台keepalived的主配置文件用来指定自己的身份,notification_email指定接收错误信息时使用的邮箱地址,notification_email_from指定 使用那个邮箱发送邮件 smtp_server 192.168.200.1指定邮件服务器的IP地址,smtp_connect_timeout 30指定邮件服务的超时时间,vrrp_instance VI_1 指定实例名为自己定义, state MASTE指定分发器的身份MASTER为主BACKUP为备, interface eth1为在本机的那个接口做检查,  priority指定优先级,authentication为指定的身份验证方式,virtual_ipaddress为虚拟服务的IP地址,virtual_server 为虚拟服务的分发策略, real_server为真正提供web服务的主机。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第5张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第6张图片Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第7张图片

在做keepalived备服务器上修改主配置文件,只更改服务器的身份和 优先级配置,其他的和上面都一致。

wKiom1YHNC-QDviGAADvq5JJtgs132.jpg

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第8张图片

4.启动keepalived服务,在启动时要先启动主服务器上的服务,在启动备服务器上的服务。

wKioL1YHNkTxoJkFAACYCo0QAQ4388.jpg

5.客户端进行测试,首先查看是否可以进行分发策略,其次查看当主上的keepalived服务down掉 后是否可以进行切换。

(1)先查看主的上面有没有虚拟IP和分发的策略,在进行测试。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第9张图片

(2)在客户端进行测试

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第10张图片

(3)再次查看主上的分发策略

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第11张图片

(4)把当主上的keepalived服务down掉后,查看是否还可以进行分发策略。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第12张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第13张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第14张图片

实验(一)

实验目的:使用Keepalived做web服务的HA集群

实验环境准备:

客户端  IP地址:1.1.1.1 主机名:waiwang

web1   IP地址:1.1.1.10 主机名:localhost  

web2   IP地址:1.1.1.20 主机名:localhost  

实验分析:由于公司的业务不是很大1台服务器就可以满足 用户访问需求,但是为了安全,公司决定用Keepalived做web服务的HA集群,防止web1down掉后网站无法运行。
1.启动web1和web2上的网站服务,并且修改 默认的网页,web1的页面为1.1.1.10,web2的页面为1.1.1.20。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第15张图片

wKioL1YHUo6hXaO4AAD_0YMq28o196.jpg

2.在两台web服务器上安装keepalived服务软件,安装keepalived依赖的软件包,安装源码包需要gcc gcc-++ make ,keepalived依赖的软件包有popt-devel openssl-devel kernel-devel

wKiom1YHSVzCGFYwAAD5dE0oL3A659.jpg

wKiom1YHSdfzp5o3AAB4VuySzk4548.jpg

wKiom1YHSj-D5HmUAACZ9Q5cbMk690.jpg

wKioL1YHSmvhGfufAAAnD-jXvi0162.jpg

3.修改web服务器上的keepalived服务的主配置文件

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第16张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第17张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第18张图片

在web2上也安装keepalived软件修改主配置文件, 安装方法同上,修改主配置文件以下不同以外剩下的都一样。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第19张图片

4.启动keepalived服务,先启动主、在启动备。

wKiom1YHUPTTrg8CAACNwePfmyw013.jpg

wKiom1YHUSKjw1u5AABXaAU--yk524.jpg

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第20张图片

5.客户端进行测试

wKioL1YHUgmgYZXqAACiKjdRFY0466.jpg

关闭1.1.1.10上的keepalived服务进行测试,并且查看1.1.1.20上的虚拟IP地址是否已经切换过去。

wKioL1YHU42zHYxzAAEGzMHfFgs697.jpg

wKiom1YHUyXjrV0WAADEILdj7bQ004.jpg

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第21张图片

6.以上是keepalived服务出现故障时进行主备切换,当web服务down掉后并且keepalived服务没有出现故障时,还是无法保证网站的安全,所以为了保证web服务的出现故障时用户无法访问网站,需要写一个脚本,当有1台web服务down掉后关闭同一台上keepalived服务,让自动切换到另一台上,已保证用户可以访问网站。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第22张图片

修改keepalived主配置文件添加vrrp_script 为定义脚本,track_script为调用脚本,在两台web服务器上都添加。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第23张图片

在客户端进行测试,关闭1.1.1.10上的web服务,查看是否可以切换。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第24张图片

查看1.1.1.20上的虚拟IP地址和keepalived服务状态,并且在客户端访问。

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第25张图片

Keepalived+lvs/DR 的 HA 集群、Keepalived实现web服务的HA集群_第26张图片