集群 day-45 ( 18.6 负载均衡集群介绍, LVS介绍, LVS调度算法, LVS NAT模式搭建, LVS DR模式搭建 , keepalived + LVS)

18.6 负载均衡集群介绍

在这里插入图片描述

18.7 LVS介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18.8 LVS调度算法

前4种重点
在这里插入图片描述
在这里插入图片描述

18.9 LVS NAT模式搭建(上)

在这里插入图片描述
准备三台设备,更改IP 计算名机
在这里插入图片描述
设备1上设置双网卡
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试ping 192.168.142.147

三台设备都要关闭防火墙
在这里插入图片描述

在这里插入图片描述
使用iptables-service
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
vi /etc/selinux/config
在这里插入图片描述

设备2 和设备3 网关设置为设备1的IP地址
在这里插入图片描述
重启网络服务
在这里插入图片描述

18.10 LVS NAT模式搭建(下)

在这里插入图片描述
在dir 即设备1上安装ipvsadm 工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设备2 和设备3同样操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

18.11 LVS DR模式搭建

在这里插入图片描述
生产环境中,dir模式用得比较多
nat 模式 网站服务器10台范围内,好处占用少 公网IP

3台设备 都要 一个网卡 一个公网IP
在这里插入图片描述
重启网络服务

在这里插入图片描述

#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.30.200
rs1=192.168.30.130
rs2=192.168.30.140
#注意这里的网卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1-W 1 为权重)

在这里插入图片描述
在这里插入图片描述
设备2.3 上执行同样操作
在这里插入图片描述

#/bin/bash
vip=192.168.30.200
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifdown lo
ifup  lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建议在新开一台虚拟机用curl 命令测试
在这里插入图片描述
在这里插入图片描述

18.12 keepalived lvs

入口都在dr 设备上,如果DOWN机会影响访问, 所以需要在dr上实现高可用
当rs DOWN 机后 lvs dr 仍然会把请求发到故障的RS 设备上,造成访问出错 使用keepalived lvs就不会把请求发到故障设备上
在这里插入图片描述
在这里插入图片描述
录请求发到故障设备上,会出现无法连接
在这里插入图片描述
使用keepalived + lvs (dr设备上不需要安装ipvsadm ,之前安装过的可以卸载)

在这里插入图片描述
之前做keeplived 实验的脚本
更改新脚本

vrrp_instance VI_1 {
    #备用服务器上为 BACKUP
    state MASTER
    #绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下
    interface ens33
    virtual_router_id 51
    #备用服务器上为90
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass aminglinux
    }
    virtual_ipaddress {
        192.168.30.200
    }
}
virtual_server 192.168.30.200 80 {
    #(每隔10秒查询realserver状态)
    delay_loop 10
    #(lvs 算法)
    lb_algo wlc
    #(DR模式)
    lb_kind DR
    #(同一IP的连接60秒内被分配到同一台realserver)
    persistence_timeout 0
    #(用TCP协议检查realserver状态)
    protocol TCP

    real_server 192.168.30.130 80 {
        #(权重)
        weight 100
        TCP_CHECK {
        #(10秒无响应超时)
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.30.140 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于之前配置过keepalived 所以还保留了192.168.133.200 ens33:2 的虚拟IP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在dr 设备上停上keepalived 等一会 在启动服务
weight 权重看出是新的连接
在这里插入图片描述
模拟RS down 后,keepalived 会自动把故障设备踢出

在这里插入图片描述
在这里插入图片描述

注意:
dr 上配置 keepalived + lvs 时
仍要执行上的脚本,路径 /usr/local/sbin/lvs_rs.sh 即下面这个
sh /usr/local/sbin/lvs_rs.sh
在这里插入图片描述

dr 设备上
在这里插入图片描述

总结:keepalived +lvs

  1. 两台DR yum 安装keepalive + ipvsadm
  2. 两台DR 编写脚本vim /usr/local/sbin/lvs_dr.sh
    执行脚本 sh /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.30.169
rs1=192.168.30.160
rs2=192.168.30.161

  1. 两台RS 编写脚本 vim /usr/local/sbin/lvs_rs.sh
    执行脚本 sh /usr/local/sbin/lvs_rs.sh
#/bin/bash
vip=192.168.30.169
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifdown lo
ifup  lo
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

  1. 两台DR 上编写keepalive 脚本vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    #备用服务器上为 BACKUP
    state MASTER
    #绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下
    interface eth0
    virtual_router_id 51
    #备用服务器上为90
    priority 100
    advert_int 1
    authentication {
vrrp_instance VI_1 {
    #备用服务器上为 BACKUP
    state MASTER
    #绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下
    interface eth0
    virtual_router_id 51
    #备用服务器上为90
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass aminglinux
    }
    virtual_ipaddress {
        192.168.30.169
    }
}
virtual_server 192.168.30.169 80 {
    #(每隔10秒查询realserver状态)
    delay_loop 10
    #(lvs 算法)
    lb_algo rr
    #(DR模式)
    lb_kind DR
    #(同一IP的连接60秒内被分配到同一台realserver)
    persistence_timeout 60
    #(用TCP协议检查realserver状态)
    protocol TCP

    real_server 192.168.30.160 80 {
        #(权重)
        weight 100
        TCP_CHECK {
        #(10秒无响应超时)
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.30.161 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}

启动 systemctl start keepalived
route -n 查看到VIP 的路由是否存在
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值