LVS的负载均衡集群及工作模式

1.实验环境

四台主机:

server1   192.168.2.77     调度器
server2   192.168.2.88
server3   192.168.2.99     服务主机
               192.168.2.29     测试主机

2.lvs负载均衡集群

定义:是linux内核功能

实验操作:

调度器主机

yum install ipvsadm -y               //安装ipvsadm

服务主机

yum install httpd -y         //安装Apache

systemctl disable firewalld         //关闭防火墙
systemctl enable --now httpd        //启动httpd服务
echo server2 > /var/www/html/index.html             //更改Apache的默认发布页面
echo server3 > /var/www/html/index.html

在调度器输入以下命令
ipvsadm --help               //帮助
ipvsadm -A -t 192.168.2.50:80 -s rr                  // -A 添加服务 -t tcp形式 -s 调度算法

ipvsadm -ln                     //查看连接情况

ip addr add 192.168.2.50 dev eth0       //添加vip(虚拟ip地址)

ip addr 


注:50ip必须ping不通,虚拟地址

ipvsadm -a -t 192.168.2.50:80 -r 192.168.2.88:80 -g      
ipvsadm -a -t 192.168.2.50:80 -r 192.168.2.99:80 -g        // -g 直连

以上两条命令的作用是将服务主机添加到调度器,使调度器的流量能够分配给服务主机

此时,在测试主机上执行curl 192.168.2.50,出现以下情况

出现上图中所示情况的原因是因为调度器可以识别50此ip地址,在转发给服务主机后,由于服务主机的ip地址并非为50,无法识别,故应在服务主机中加入50ip地址,即在服务主机上分别执行以下命令

ip addr add 192.168.2.50 dev eth0


注:后边的ip为server2和server3主机的ip

即可使lvs正常进行负载均衡

ipvsadm -ln

3.服务主机的arp屏蔽处理

原理:由于服务主机和调度器均有192.168.2.50的虚拟ip地址,会对其负载的均衡分配产生影响,故应对服务主机进行arp屏蔽处理,使服务主机在接收转发的ip信息时,调用虚拟ip地址

实验环境:

在服务主机安装arptables软件

yum install arptables -y

实验步骤:

服务主机

arptables -nL                //查看输入输出的策略详情

arptables -A INPUT -d 192.168.2.50 -j DROP               //屏蔽输入
arptables -A OUTPUT -s 192.168.2.50 -j mangle --mangle-ip-s 192.168.2.88        //将输出的ip转换为本机ip


arptables-save > /etc/sysconfig/arptables             //将屏蔽操作保存
arptables -F     //重启

arptables -nL
systemctl restart arptables
arptables -nL        //策略生效
 

测试主机

curl 192.168.2.50
arp -an
arp -d 192.168.2.50         //删除访问记录

测试:

测试主机
curl 192.168.2.50

发现可以正常的访问且负载均衡

4.lvs+keepalived 高可用负载均衡集群 

实验准备:

一台测试机,一台主调度器,一台备用调度器(server4),两台服务机

实验步骤:

在主调度器上 

(1)安装keepalived及mailx软件

yum install keepalived mailx -y   

(2)删除调度器原有策略及vip

ipvsadm -C

ipvsadm -ln

ip addr del 192.168.2.50/32 dev eth0

ip addr

(3)修改配置文件           

vim /etc/keepalived/keepalived.conf                                       

编辑内容

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.50
    }
}

virtual_server 192.168.2.50 80 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.2.88 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
        }
    }
    real_server 192.168.2.99 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
        }
    }
}
 

执行以下命令

systemctl restart keepalived

ip addr

ipvsadm -ln

由图可见,vip与策略均自动生成,可正常进行负载均衡

在备用调度器中

(1)安装软件

yum install keepalived ipvsadm -y

(2)修改配置文件

vim /etc/keepalived/keepalived.conf

将调度器keepalived的配置文件中

state MASTER 修改为 state BACKUP

priority 100 修改为 priority 50

systemctl restart keepalived

ip addr

ipvsadm -ln

发现策略已经生成,vip并未生成,原因是主调度器正常使用,故备用调度器仍为BACKUP状态,不生成vip,若将主调度器的keepalived服务停止,即在主调度器执行以下命令

systemctl stop keepalived

(3)查看vip

ip addr

发现vip已生成,此时客户端的数据将发送到备用调度器上,客户端无任何异常情况

查看日志

cat /var/log/massages

发现keepalived已变更为MASTER状态,负载均衡正常进行

5.LVS DR工作原理

        DR模式的基本原理是当客户端收到数据包时,将其发送给调度器,在调度器上,将其mac地址更改,更改为vip的mac地址,然后再又调度器通过第二层数据链路层将数据包转发给rs主机,在rs主机上应做好arp屏蔽,保证其输入输出的可靠性,最后再由rs发送到客户端。

 注意事项:

(1) 调度器和rs应在同一个vlan下

(2) 调度器的实际作用是修改原数据包的mac地址

(3) rs上应做arp屏蔽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值