LAMP架构之1——LVS实现四层负载均衡

目录

一、LVS简介

二、 ipvsadm

 1、在P服务器中安装ipvsadm

2、测试:在集群中安装apache

 3、arptables优化lvs均衡

 三、LVS负载均衡存在的问题

1、当一台RS服务器坏掉时——健康检测

2、当VS调度服务器坏掉时——LVS冗余(集群)

本章总结:

课下任务:


一、LVS简介

The Linux Virtual Server Project - Linux Server Cluster for Load Balancing

LVS中文站点http://zh.linuxvirtualserver.org/IP负载均衡技术 | LVS中文站点

二、 ipvsadm

本实验以三台虚拟机为基础,一台VS/(也称DR)调度服务器,另外两台作为RS集群服务器。真机作为客户端Client。

 1、在P服务器中安装ipvsadm

yum install -y ipvsadm        #安装ipvsadm软件
ip addr add 172.25.254.100/24 dev eth0    #手工加上临时IP地址

查看ipvsadm策略

 编写并查看ipvsadm策略(此策略在防火墙之后)

当发现转入的数据是访问虚拟IP172.25.254.100时,就自动把数据包转发到172.25.254.1和172.25.254.2上

ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.2:80 -g
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.3:80 -g

2、测试:在集群中安装apache

 启动httpd服务,为了便于测试,在发布目录中分别写入不同内容

 在真机中测试:

可以看到,真机中访问不通,但是检查lvs的调度策略,是正常的。

 原因:是因为集群中的主机的网络策略不允许数据包通过其他IP访问,所以解决办法是,向集群中的网卡也加入172.25.254.100的临时IP。

 向两台集群主机中加入100的临时IP后,客户机测试正常,访问量均衡。

 3、arptables优化lvs均衡

 在上一步的基础上,清除了172.25.254.100的缓存,原本的缓存是server1的,删除后重新测试,由于三台服务器都存在100的IP,所以真机测试时会随机选定一台主机。选定的主机没有开启负载均衡功能时,将不会向其他集群机器分担负载。

arp -an | grep 100        #过滤
arp -d 172.25.254.100        #删除

为了解决上述问题,可以通过修改arp表来完善。

yum install -y arptables            #安装arptables

 arptables和iptables的区别是,arptables只是管理arp协议,对其他协议无效。

编辑arptables表:

arptables -A INPUT -d 172.25.254.100 -j DROP
arptables -A OUTPUT -s 172.25.254.100 -j mangle --mangle-ip-s 172.25.254.3

以上两条命令表示:(1)如果数据直接通过172.25.254.100访问,则丢弃数据包。(2)如果数据包来源是172.25.254.100,则将数据包转发至172.25.254.3上 。

附:策略尽可能保存起来,否则服务一重启就没了。

arptables-save                #保存策略
arptables-save > /etc/sysconfig/arptables    #保存策略到指定位置

再次测试:

及使清除了lvs的mac缓存,客户访问时仍然只会访问负载均衡器。

 三、LVS负载均衡存在的问题

1、当一台RS服务器坏掉时——健康检测

实验:关闭server2的apache,在客户机中测试负载均衡。

客户机中访问lvs,调度器server1是没有任何问题的。但是调度到server2的时候访问被拒绝。

解决办法:因此调度器VS对后需要有一个“健康检测”的功能,对不可用的RS服务器从调度列表中移除。

安装keepalived:在主LVS服务器server1和冗余LVS服务器server4中

yum install -y keepalived

配置keepalived文件:主LVS服务器

对LVS冗余服务器的配置文件也进行同样的更改,不同如下:(主LVS的优先级高于辅助LVS的优先级)

测试:在主LVS服务器中

清除ipvsadm策略和IP地址,重启keepalived服务后。

systemctl start keepalived

关闭一台RS服务器的httpd后,ipvsadm策略表里不再有该主机。重启该服务器的httpd服务,VS服务器的调度策略里重新出现该主机

2、当VS调度服务器坏掉时——LVS冗余(集群)

实验:关闭server1的ipvsadm <ipvsadm -C>,清除了调度器的调度策略。

新建一台虚拟机server4用来做LVS的冗余,也就是server1的备用服务器。server4的配置方法已在上步介绍。这里直接测试。

测试:

启动LVS备用服务器server4的keepalived服务后,检查日志发现此服务当前的状态为<BACKUP>。

当主LVS服务器server1出现意外时(宕机了),会立即启动辅助LVS服务器server4。辅助服务器此时充当的时MASTER的角色

当主LVS服务器server1重新启动时,辅助LVS服务器server4的keepalived会立即变为<BACKUP>状态。

本章总结:

1、iso七层模型

2、DR必须同一VLAN下,走数据链路层,改MAC地址。TUNNEL(隧道)可以跨广域网。NAT模型就是做了一个IN-DNAT,OUT-SNAT。

3、安装邮件查看器

yum install -y mailx

4、主题:高负载可用均衡 (4层)

 5、三种模式的优缺点比较

三种方法的优缺点比较 | LVS中文站点

课下任务:

内核中的连接调度算法 | LVS中文站点

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值