LVS 同网段搭建keeplive+lvs

单点LVS搭建详细请点击查看

LVS  DR搭建

前期准备工作--ip规划

DR主:192.168.31.35   主调度器

DR从:192.168.31.38   从调度器

VIP:192.168.31.100   VIP地址

RS1:192.168.31.36   后端真实web服务器

RS2:192.168.31.37   后端真实web服务器

前期准备工作--应用安装

调度器:yum install -y ipvsadm keepalived

后台web:  yum install -y httpd

前期准备工作--端口设置以及查询命令

systemctl stop firewalld   或者

firewall-cmd --permanent --zone=public --add-port=80/tcp 

firewall-cmd --reload

查看连接数和状态以及转发:ipvsadm  -lnc 

查看LVS设置:ipvsadm

由于keepalive中配置了VIP等,所以不需要再去重复配置VIP等。

keeplive主脚本:192.168.31.35

vi /etc/keepalived/keepalived.conf    //配置keepalived和DR
global_defs {
    router_id VIP    #服务器名字
}

vrrp_instance VI_1 {
    state MASTER    #配置主备,备用机此配置项为BACKUP
    interface ens192    #指定接口
    virtual_router_id 51    #指定路由ID,主备必须一样
    priority 101    #设置优先级,主略高于备份
    advert_int 1    #设置检查时间
    authentication {
        auth_type PASS    #设置验证加密方式
        auth_type 1234    #设置验证密码
    }
    virtual_ipaddress {
        192.168.31.100
    }
}

virtual_server 192.168.31.100 80 {
    delay_loop 15    #健康检查时间
    lb_algo rr    #LVS调度算法
    lb_kind DR   #LVS工作模式
    !persistence 60    #是否保持连接,!不保持
    protocol TCP    #服务采用TCP协议
    real_server 192.168.31.36 80 {
        weight 1    #权重
        TCP_CHECK {    #TCP检查
            connect_port 80   #检查端口80
            connect_timeout 3    #超时时间3秒
            nb_get_retry 3    #重试次数3次
            delay_before_retry 4    #重试间隔4秒
        }
    }
    real_server 192.168.31.37 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }
    }
}

keeplive从脚本:192.168.31.38

vi /etc/keepalived/keepalived.conf    //配置keepalived和DR
global_defs {
    router_id VIP2    #服务器名字
}

vrrp_instance VI_1 {
    state BACKUP    #配置主备,备用机此配置项为BACKUP
    interface ens192    #指定接口
    virtual_router_id 51    #指定路由ID,主备必须一样
    priority 100    #设置优先级,主略高于备份
    advert_int 1    #设置检查时间
    authentication {
        auth_type PASS    #设置验证加密方式
        auth_type 1234    #设置验证密码
    }
    virtual_ipaddress {
        192.168.31.100
    }
}

virtual_server 192.168.31.100 80 {
    delay_loop 15    #健康检查时间
    lb_algo rr    #LVS调度算法
    lb_kind DR   #LVS工作模式
    !persistence 60    #是否保持连接,!不保持
    protocol TCP    #服务采用TCP协议
    real_server 192.168.31.36 80 {
        weight 1    #权重
        TCP_CHECK {    #TCP检查
            connect_port 80   #检查端口80
            connect_timeout 3    #超时时间3秒
            nb_get_retry 3    #重试次数3次
            delay_before_retry 4    #重试间隔4秒
        }
    }
    real_server 192.168.31.37 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }
    }
}

RS脚本:192.168.31.36/37 创建rs.sh  并写入以下内容

#!/bin/bash
# 
# Script to start LVS DR real server.
# description: LVS DR real server
# .  /etc/rc.d/init.d/functions
  
VIP=192.168.31.100
host=`/bin/hostname`
 case "$1" in
start) 
        # 关闭 ARP 应答和响应
        #arp_ignore: 定义接收到ARP请求时的响应级别;1表示仅在请求的目标地址配置请求到达的接口上的时候,才给予响应
        #arp_announce:定义将自己地址向外通告时的通告级别:2表示仅向与本地接口上地址匹配的网络进行通告;
        /sbin/ifconfig lo down
        /sbin/ifconfig lo up
        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
        # 把 VIP 配置在 lo:0 接口 防止和其他主机沟通 掩码32 只广播给自己
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        # 配置路由,只要是到 VIP 的报文,就走 lo 网卡
        /sbin/route add -host $VIP dev lo:0
  
;; 
stop) 
  
        # Stop LVS-DR real server loopback device(s).
        /sbin/ifconfig lo:0 down
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
  
;; 
status) 
  
        # 恢复 ARP 应答和响应
        islothere=`/sbin/ifconfig lo:0 | grep $VIP`
        isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
        if [ ! "$islothere" -o ! "isrothere" ];then
            # Either the route or the lo:0 device
            # not found.             
            echo "LVS-DR real server Stopped."
        else
            echo "LVS-DR real server Running."
        fi
;; 
*) 
            # Invalid entry.
            echo "$0: Usage: $0 {start|status|stop}"
            exit 1
;; esac

 

分别执行脚本systemctl  start keepalived 或  sh   rs.sh start

以上便是同网段 LVS+keepalived集群搭建全部过程,请大家多多指教,如有错误请留言或私聊,每隔一天我会定时上线查看。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值