[转载]LVS+Keepalived之三大模式

LVS + Keepalived之三大模式
======================================================================================
NAT模式:
======================================================================================
一、仅lvs服务器端安装
yum install ipvsadm openssl-devel popt popt-devel libnl-devel
cd /opt/src/
tar xzvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure
make && make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/

修改/etc/keepalived/keepalived.conf文件
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {

     [email protected]
   }
   notification_email_from [email protected]
   smtp_server mail.123.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       88.88.88.88
    }
}
vrrp_instance LAN_GATEWAY {
    state MASTER
    interface eth1
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.88
    }
}
virtual_server 88.88.88.88 80 {
    delay_loop 6
    lb_algo lc
    #lb_kind DR
    #lb_kind TUN
    lb_kind NAT
    persistence_timeout 60
    protocol TCP

    real_server 192.168.1.18 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
    }
    real_server 192.168.1.68 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
     }
 }
[[email protected] ~]#
[[email protected] ~]# service ipvsadm start
[[email protected] ~]# service keepalived start

注意:
echo "1" > /proc/sys/net/ipv4/ip_forward

二、实际服务器端的操作
将网关设置为lanvip的地址192.168.1.88

三、lvs查看

ipvsadm -ln
ipvsadm -lnc
ipvsadm -l -n --stats

调度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq
======================================================================================
TUN模式:
======================================================================================
一、仅lvs服务器端安装
yum install ipvsadm openssl-devel popt popt-devel libnl-devel
cd /opt/src/
tar xzvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure
make && make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/

修改/etc/keepalived/keepalived.conf文件
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server mail.123.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       192.168.1.88
    }
}
virtual_server 192.168.1.88 80 {
    delay_loop 6
    lb_algo lc
    lb_kind TUN
    persistence_timeout 60
    protocol TCP

    real_server 192.168.2.18 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
    }
    real_server 192.168.3.68 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
     }
 }
[[email protected] ~]#
[[email protected] ~]# service ipvsadm start
[[email protected] ~]# service keepalived start

注意:
打开转发或关闭,dr/tun模式无影响
echo "1" > /proc/sys/net/ipv4/ip_forward

二、实际服务器端的操作
[[email protected]]# cat /usr/local/vip_tun.sh
#!/bin/bash
#srcipt to start LVS TUN realserver

VIP=192.168.1.88
case "$1" in

start)
#start LVS-TUN real server on this machine
/sbin/ifconfig tunl0 down
/sbin/ifconfig tunl0 up
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/tunl0/forwarding

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
/sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255  up
/sbin/route add -host $VIP dev tunl0

;;
stop)
#stop lvs-TUN real server loopback device
/sbin/ifconfig tunl0 down

/sbin/ifconfig tunl0 down
echo 0 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
;;
status)
islothere=‘/sbin/ifconfig tunl0 |grep $VIP‘
isrothere=‘netstat -rn |grep "tunl0"|grep $VIP‘
if [ ! "$islothere" -o ! "$isrothere" ];then
echo "LVS-TUN real server stopped"
else echo "LVS-TUN Running"
fi
;;
*)
echo "$0: Usage: $0 {start|stop|status}"
exit 1
;;
esac
[[email protected] ~]#  /usr/local/vip.sh start|stop|status

三、lvs查看

ipvsadm -ln
ipvsadm -lnc
ipvsadm -l -n --stats

调度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq
======================================================================================
DR模式:
======================================================================================
一、仅lvs服务器端安装
yum install ipvsadm openssl-devel popt popt-devel libnl-devel
cd /opt/src/
tar xzvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure
make && make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/

修改/etc/keepalived/keepalived.conf文件
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {

     [email protected]
   }
   notification_email_from [email protected]
   smtp_server mail.123.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       192.168.1.88
    }
}
virtual_server 192.168.1.88 80 {
    delay_loop 6
    lb_algo lc
    lb_kind DR
    persistence_timeout 60
    protocol TCP

    real_server 192.168.1.18 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
    }
    real_server 192.168.1.68 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 30
        nb_get_retry 3
        delay_before_retry 2
        connect_port 80
        }
     }
 }
[[email protected] ~]#
[[email protected] ~]# service ipvsadm start
[[email protected] ~]# service keepalived start

注意:
打开转发或关闭,dr/tun模式无影响
echo "1" > /proc/sys/net/ipv4/ip_forward

二、实际服务器端的操作
[[email protected] ~]# cat /usr/local/vip.sh
#!/bin/bash
# Script to start LVS DR real server.
# description: LVS DR real server
.  /etc/rc.d/init.d/functions
VIP=192.168.1.88
#host=`/bin/hostname`
case "$1" in
start)
       # Start LVS-DR real server on this machine.
        /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
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        /sbin/route add  $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)
        # Status of LVS-DR real server.
        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
[[email protected] ~]#  /usr/local/vip.sh start|stop|status

三、lvs查看

ipvsadm -ln
ipvsadm -lnc
ipvsadm -l -n --stats

调度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

转载自:http://www.gaizaoren.com/archives/998

原文地址:https://www.cnblogs.com/wsjhk/p/8464759.html

时间: 2024-07-30 17:41:48

[转载]LVS+Keepalived之三大模式的相关文章

LVS + KEEPAlived 配置 DIR模式

1 .1 Lvs LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR) 本文主要介绍DR模式运用 1 .2 DR模式      DR模式是什么?撇开lvs调度算法部分,DR模式的原理就是,将报文直接路由给目标服务器(Direct Routing),其实这里没有routing啥事情,叫做Direc

LVS+keepalived 的DR模式的两种做法

LVS DR模式搭建 准备工作 三台机器: dr:192.168.13.15 rs1:192.168.13.16 rs2: 192.168.13.17 vip:192.168.13.100 修改DR上的/etc/sysctl.conf文件 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1 第一种做法lo Dr上的配置 ! Configuration File for Keepalived ! --------------------------------

LVS+keepalived搭建DR模式架构实验

环境: CentOS6.4  64bit ipvsadm-1.24.tar.gz keepalived-1.1.19.tar.gz IP部署: VIP:172.16.100.5 DIP1:172.16.100.1 DIP2:172.16.100.2 RIP1:172.16.100.3 RIP2:172.16.100.4 说明:VIP在防火墙上做映射 安装: ln  -s  /usr/src/kernels/2.6.32-358.el6.x86_64/  /usr/src/linux tar  z

CentOS 7 部署LVS集群(DR模式、NAT模式,LVS+keepalived)

1.简介 1.1LVS linux虚拟服务器,是一个虚拟的服务器集群系统,可以在Unix和linux平台下实现负载均衡集群的功能. 1.2LVS与nginx的对比 1)工作在网络模型的7层,可以针对http应用做一些分流的策略,nginx单凭这点可利用的场合远多于LVS.   2)最新版的nginx也支持4层TCP负载,这曾是LVS的优势.   3)nginx对网络稳定性的依赖小,相反LVS对网络稳定性依赖大.   4)nginx安装和配置比较简单,测试起来比较方便,基本上能把错误用日志打印出来

centos6.5里搭建LVS+Keepalived(DR模式)集群

最近闲着,整理下以前搭建的服务.. 介绍还是百度下, LVS+Keepalived 介绍LVSLVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq).KeepalviedKeepalived在这里主要用作

LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Redhat提供的工具piranha来配置LVS 软件下载: ipvsadm下载地址: http://www.linuxvirtualserver.org/software/kernel-2.6/ Keepalived下载地址: http://www.keepalived.org/software/ 安装

LVS + keepalived DR 模式

第1章 LVS  + keepalived 负载均衡安装配置笔记 经安装测试能够实现我的这些需要: 双机或多机实现虚拟IP,能够实现IP故障切换 能够连接多台后端真实服务器,实现后端服务器的负载均衡 能够实现双机热备份(同一时间单机工作,故障后切换到另一台) 能够双机虚拟IP且负载均衡(双机即做调度器又做真实服务器) 1.1 LVS (Linux Virtual Server) 虚拟IP,负载均衡调度器,但需要手工动态增加命令,所以需要keepalived来实现自动配合.虚拟IP同时只能存在于某

LVS + Keepalived 高可用群集 【DR模式】

简介 Keepalived 起初是专门针对 LVS 设计的一款强大的辅助工具,主要用来提供故障切换和健康检查( Health Checking )功能--判断 LVS 负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后就会重新加入群集中. Keepalived 采用 VRRP (虚拟路由冗余协议)热备份协议,和HSRP一样,只不过 HSRP 是思科私有的协议,VRRP 可以跑在很多设备上!VRRP 是以软件的方式实现 Linux 服务器的多机热备功能. VRRP 工作原

LVS+Keepalived 高可用环境部署记录(主主和主从模式)

一.LVS+Keepalived主从热备的高可用环境部署 1)环境准备 1 2 3 4 5 6 7 8 9 10 11 12 LVS_Keepalived_Master      182.148.15.237 LVS_Keepalived_Backup      182.148.15.236 Real_Server1               182.148.15.233 Real_Server2               182.148.15.238 VIP