LVS+KEEPALIVED

安装master和backup

  • 安装前准备

yum -y install openssl openssl-devel popt popt-devel gcc* wget vim ipvsadm pcre pcre-devel

   运行ipvsadm

   查看内核模块是否存在

lsmod|grep ip_vs

 

 

设置master /etc/keepalived/文件

vim  /etc/keepalived/keepalived.conf

! Configuration File for keepalived
vrrp_instance VI_1 {
    state MASTER
    interface ens192
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.108
    }
}

virtual_server 192.168.0.108  80 {
    delay_loop 6
    #lb_algo rr
    lb_algo wlc
    lb_kind DR
    persistence_timeout 0
    protocol TCP

    real_server 192.168.0.103 80 {
        weight 1
        TCP_CHECK {               # check usability of the Port:47380 service
            connect_timeout 3     # connection timeout, /sec
            retry 3               # retry times
            delay_before_retry 3  # connetcion retry interval, /sec
            connect_port 80       # connection port
        }
    }
    real_server 192.168.0.101 80 {
        weight 1
        TCP_CHECK {               # check usability of the Port:47380 service
            connect_timeout 3     # connection timeout, /sec
            retry 3               # retry times
            delay_before_retry 3  # connetcion retry interval, /sec
            connect_port 80       # connection port
        }
    }

}

 

设置backup /etc/keepalived/文件

! Configuration File for keepalived
vrrp_instance VI_1 {
    state BACKUP
    interface ens192
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.108
    }
}

 

 

 Real server节点2台配置脚本:

#! /bin/bash
vip=192.168.0.108
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip 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

-----------------

#!/bin/bash
VIP=10.46.79.98
source /etc/rc.d/init.d/functions
case "$1" in
start)
           echo "start LVS of RealServer DR"
           /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
           /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  
       ;;
stop)
           /sbin/ifconfig lo:0 down
           echo "close LVS of RealServer DR"
           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 "Usage: $0 {start|stop}"
          exit 1
esac  
exit 0
------

#!/bin/sh

VIP="192.168.0.108"  # value of vip
ETH_DEV="ens192"  # local eth_dev name
VIP_DEV="lo:0"  # eth_dev name for vip

IFCONFIG_CMD="/sbin/ifconfig"
ROUTE_CMD="/sbin/route"

case "$1" in
start)
    #set ip_forward off(1 on, 0 off).
    echo "0" >/proc/sys/net/ipv4/ip_forward
    echo "/proc/sys/net/ipv4/ip_forward ="
    cat /proc/sys/net/ipv4/ip_forward

    #hiding interface ETH_DEV, will not arp
    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "/proc/sys/net/ipv4/conf/all/arp_ignore ="
    cat /proc/sys/net/ipv4/conf/all/arp_ignore
    
    echo "1" >/proc/sys/net/ipv4/conf/$ETH_DEV/arp_ignore
    echo "/proc/sys/net/ipv4/conf/${ETH_DEV}/arp_ignore ="
    cat /proc/sys/net/ipv4/conf/$ETH_DEV/arp_ignore
    
    echo "2" >/proc/sys/net/ipv4/conf/$ETH_DEV/arp_announce
    echo "/proc/sys/net/ipv4/conf/${ETH_DEV}/arp_announce ="
    cat /proc/sys/net/ipv4/conf/$ETH_DEV/arp_announce
    
    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
    echo "/proc/sys/net/ipv4/conf/all/arp_announce ="
    cat /proc/sys/net/ipv4/conf/all/arp_announce
    
    #add ethernet device and routing for VIP
    $IFCONFIG_CMD $VIP_DEV $VIP broadcast $VIP netmask 0xffffffff up
    $ROUTE_CMD add -host $VIP dev $VIP_DEV
    
    echo "Set ENV for RL_SERVER-DR OK!"
    ;;
stop)    
    #remove ethernet device and routing about VIP
    $ROUTE_CMD del -host $VIP
    $IFCONFIG_CMD $VIP_DEV down
    
    #set ip_forward on(1 on, 0 off).
    echo "1" >/proc/sys/net/ipv4/ip_forward
    echo "/proc/sys/net/ipv4/ip_forward ="
    cat /proc/sys/net/ipv4/ip_forward
    
    #recover arp
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "/proc/sys/net/ipv4/conf/all/arp_ignore ="    
    cat /proc/sys/net/ipv4/conf/all/arp_ignore
    
    echo "0" >/proc/sys/net/ipv4/conf/$ETH_DEV/arp_ignore
    echo "/proc/sys/net/ipv4/conf/${ETH_DEV}/arp_ignore ="
    cat /proc/sys/net/ipv4/conf/$ETH_DEV/arp_ignore
    
    echo "0" >/proc/sys/net/ipv4/conf/$ETH_DEV/arp_announce
    echo "/proc/sys/net/ipv4/conf/${ETH_DEV}/arp_announce ="
    cat /proc/sys/net/ipv4/conf/$ETH_DEV/arp_announce
    
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
    echo "/proc/sys/net/ipv4/conf/all/arp_announce ="
    cat /proc/sys/net/ipv4/conf/all/arp_announce
    
    echo "Recover ENV from RL_SERVER-DR OK!"
    ;;
*)
    echo "Usage:$0 {start|stop}"
    exit 1
esac
exit 0

 chmod a+x /root/lvs_dr_realserver.sh
ln -s /root/lvs_dr_realserver.sh /etc/init.d/kenolvs
service kenolvs start
service kenolvs stop

 

[root@lvs01 keepalived]# ipvsadm -L --stats     ipvsadmin -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  lvs01:http                        472     2848        0   192425        0
  -> 192.168.0.101:http                172     1047        0    73284        0
  -> 192.168.0.103:http                300     1801        0   119141        0

转载于:https://www.cnblogs.com/luck123/p/11418251.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值