LVS+keepalive双机热备负载均衡高可用

调度器软件部署

yum install ipvsadm keepalived -y

web软件安装

yum install httpd -y

网络配置

所有主机网卡选择仅主机模式

master:192.168.200.201/24

backup:192.168.200.202/24

web1:192.168.200.110/24

web2:192.168.200.120/24

防火墙规则清空

iptables -F

setenforce 0

调度器开启路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

net.ipv4.conf.all.send_redirects=0

net.ipv4.conf.default.send_redirects=0

net.ipv4.conf.ens33.send_redirects=0

生效 sysctl -p

调度器生成虚拟网卡ens33:0

cd /etc/sysconfig/network-scripts/

cp -p ifcfg-ens33 ifcfg-ens33:0

DEVICE=ens33:0

ONBOOT=yes

IPADDR=192.168.200.10

NETMASK=255.255.255.0

启动虚拟网卡 ifup ens33:0

master上启动LVS

cd /etc/init.d/

vim dr.sh

#!/bin/bash

GW=192.168.200.1

VIP=192.168.200.10

RIP1=192.168.200.110

RIP2=192.168.200.120

case "$1" in

start)

        /sbin/ipvsadm --save > /etc/sysconfig/ipvsadm

        systemctl start ipvsadm

        /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up

        /sbin/route add -host $VIP dev ens33:0

        /sbin/ipvsadm -A -t $VIP:80 -s rr

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g

        /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g

        echo "ipvsadm starting --------------------[ok]"

        ;;

        stop)

        /sbin/ipvsadm -C

        systemctl stop ipvsadm

        ifconfig ens33:0 down

        route del $VIP

        echo "ipvsamd stoped----------------------[ok]"

         ;;

        status)

        if [ ! -e /var/lock/subsys/ipvsadm ];then

        echo "ipvsadm stoped---------------"

        exit 1

                else

                echo "ipvsamd Runing ---------[ok]"

        fi

        ;;

        *)

        echo "Usage: $0 {start|stop|status}"

        exit 1

        esac

        exit 0

chmod +x dr.sh

service dr.sh start

网站节点配置

创建页面

vim /var/www/html/index.html

<h1>this is xykj web1</h1>

配置虚拟网卡

cd /etc/sysconfig/network-scripts/

cp -p ifcfg-lo ifcfg-lo:0

DEVICE=lo:0

IPADDR=192.168.200.10

NETMASK=255.255.255.0

ONBOOT=yes

配置响应重定向脚本

cd /etc/init.d/

vim web.sh

#!/bin/bash

VIP=192.168.200.10

        case "$1" in

        start)

                ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP

                /sbin/route add -host $VIP dev lo:0

                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

                sysctl -p >/dev/null 2>&1

                echo "RealServer Start OK "

                ;;

        stop)

                ifconfig lo:0 down

                route del $VIP /dev/null 2>&1

                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

                echo "RealServer Stopd"

                ;;

        *)

                echo "Usage: $0 {start|stop}"

                exit 1

        esac

        exit 0

chmod +x web.sh

service web.sh start

ifup lo:0

keepalived配置

cd /etc/keepalived/

vim keepalived.conf

主服务器修改内容

smtp_server 127.0.0.1

router_id LVS_01

state MASTER

interface ens33

virtual_router_id 51

priority 100

 virtual_ipaddress {

        192.168.200.10

    }

virtual_server 192.168.200.10 80 {

lb_kind DR

real_server 192.168.200.110 80 {

        weight 1

        TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }   

    }   

    real_server 192.168.200.120 80 {

        weight 1

        TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }   

从服务器修改内容

smtp_server 127.0.0.1

router_id LVS_02

state BACKUP

interface ens33

virtual_router_id 51

priority 90

 virtual_ipaddress {

        192.168.200.10

    }

virtual_server 192.168.200.10 80 {

lb_kind DR

real_server 192.168.200.110 80 {

        weight 1

        TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

   real_server 192.168.200.120 80 {

        weight 1

        TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值