lvs+keepalived高可用负载均衡

一、实验环境和网络拓扑图

  本实验需要5台虚拟机,一台客户机,2台lvs调度器,两台web服务器。

  客户机:192.168.0.6/24

  lvs1:192.168.0.201/24

  lvs2:192.168.0.200/24

  web1:192.168.0.19/24

  web2:192.168.0.127/24

  网络拓扑如下:

 二、web服务器的配置

2.1.1、安装apache服务和修改网站首页

  命令:

web1:
1
yum -y install httpd 2 echo "192.168.0.19" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd
web2:
1
yum -y install httpd 2 echo "192.168.0.127" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd

2.1.2、伪装VIP地址

  当lvs将请求数据包发送给web服务器时,web服务器根据请求将web网页的结果返回给客户端,但是这时数据包的源IP地址是web服务器的IP地址,客户端接收到数据包后,发现回包的IP地址不是自己请求的IP地址,就会把包丢弃掉,这会导致web请求失败,所以需要将web的IP地址伪装成为客户端访问的VIP地址。这里使用web服务器的环回口地址进行伪装。

命令:

cp /etc/sysconfig/network-scripts/ifcfg-lo  /etc/sysconfig/network-scripts/ifcfg-lo:0
vim  /etc/sysconfig/network-scripts/ifcfg-lo:0
修改网卡名称,修改IP地址,删除UUID号,IP地址的掩码必须是32位,也就是4个255

 两个web服务器的配置是一样的。修改虚拟网卡lo:0后,先不急着重启网卡。

为防止VIP和lvs上的VIP相互冲突,需要将web服务器的arp的通告配置进行修改,也就是arp解析时不把自己的IP地址告诉请求者,在请求别人时也不宣告自己是192.168.0.202(VIP地址)。

 sysctl -p 执行这条命令以上配置修改生效,执行完这条命令后就可以重启网卡。

重启网卡后你就可以看到虚拟网卡lo:0和VIP地址了。

命令:ifconfig

 这里只展示了一台web服务的VIP伪装,另一台的配置和这一台的配置一模一样。就不在介绍了。

三、lvs服务器的配置

  3.1.1、安装keepalived

命令:

yum -y install keepalived

  3.1.2、修改keepalived配置文件,/etc/keepalived/keepalived.conf

 

 配置完成后,启动keepalived的服务

命令:systemctl start keepalived

重启服务后,keepalived服务会在防火墙中生成一些规则,这些规则会导致实验失败,这里需要清除这些规则或者直接关闭防火墙。

清除规则:iptables -F

关闭防火墙:Systemctl stop firewalld

另外一台lvs的配置和这台一样,不详细介绍。

3.1.3、查看vrrp是否配置成功,查看虚拟ip。也就是VIP。

命令:ip address show

 3.1.4、查看lvs配置是否成功

  安装ipvsadm软件,用于查看lvs的状态

命令:yum -y install ipvsadm

 3.1.5、测试健康检查是否成功

  断掉web1的网络,模拟web1网络故障。

 

 

 

 3.2、测试负载均衡是否成功

通过客户端,使用curl访问lvs的VIP地址。如:curl 192.168.0.202

 就此,整个实验完成。

原文地址:https://www.cnblogs.com/mython/p/11818873.html