LVS+Keppalived实现高可用负载均衡

三、LVS Keppalived的安装

3.1、环境描述

LVS server1 (Master):10.0.0.202 虚拟IP为:10.0.0.210

LVS server2 ( Slave ) :10.0.0.203虚拟IP为:10.0.0.210

WEB server1: 10.0.0.201  网关为:10.0.0.254

WEB server2; 10.0.0.204  网关为:10.0.0.254

注意:所有集群服务器时间要一致

3.2、安装LVS

注意此动作。否则MAKE直接报错。

如果没有/2.6.32-279.el6.x86_64 这个目录,请安装内核开发包   

# yum -y install kernel-devel

# ln -s /usr/src/kernels/2.6.32-279.el6.x86_64/ /usr/src/linux(根据自己实际的内核,千万不能复制粘贴,千万!!!!)

# tar -xvf ipvsadm-1.24.tar.gz

# cd ipvsadm-1.24

#make && make install

# ipvsadm –L

3.3、安装Keepalived

# tar –xvf keepalived-1.2.12.tar.gz

#./configure --sysconf=/etc/ --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64/

Keepalived version       : 1.2.12

Compiler                 : gcc

Compiler flags           : -g -O2

Extra Lib                : -lssl -lcrypto -lcrypt

Use IPVS Framework       : Yes 表示使用ipvs框架,也是代表启动IPVS功能

IPVS sync daemon support : Yes  表示启动ipvs的同步功能,--disabled-lvs-sysncd此参数可以关闭。

IPVS use libnl           : No   表示使用新的libn1版本,如果想使用新的版本,需要重新安装libn1的包

Use VRRP Framework       : Yes 表示使用VRRP框架,这个实现keepalived高可用的必须功能

Use VRRP VMAC            : Yes 表示使用基础VMAC接口的xmit VRRP

SNMP support             : No

SHA1 support             : No

Use Debug flags          : No

# make && make install

# cp /soft/keepalived-1.2.12/bin/keepalived /usr/bin/

ERRR:

!!! OpenSSL is not properly installed on your system. !!!

!!! Can not include OpenSSL headers files.            !!!

解决:yum install -y openssl openssl-devel

3.3、主(master)配置Keepalived配置文件

! Configuration File for keepalived
global_defs {  #全局定义
   notification_email { #定义邮件
      [email protected]  #定义邮件地址
   }
   notification_email_from [email protected] #定义邮件地址
   smtp_server mail.126.com #邮件服务器
   smtp_connect_timeout 30 #邮件超时时间
   router_id LVS_DEVEL #route_id标识

}
vrrp_instance VI_1 { #定义VRR组,
    state MASTER  #定义为MASTER主
    interface eth1 #对外访问的网络接口
    virtual_router_id 100 #虚拟路由标识。注意主从要一致
    priority 100 #主从优先级,主的优先级要高于从。注意
    advert_int 1 #:广播周期秒数
    authentication {
        auth_type PASS
        auth_pass 2209
    }
    virtual_ipaddress {
        10.0.0.210 #:虚拟VIP地址,真实环境这里应该是公网IP
 }
}
virtual_server 10.0.0.210 80 { #:虚拟VIP地址 与 端口,DR架构WEB端口要和虚拟端口监听一致。否则将无法访问
    delay_loop 6 #健康检查时间间隔,单位是秒
    lb_algo rr   #调用算法为RR
    lb_kind DR   #调用架构模式为DR
    persistence_timeout 0 #:同一IP 50秒内的请求都发到同个real server
    protocol TCP  #使用TCP协议
    real_server 10.0.0.201 80 {#:真实WEB服务器地址与端口
     weight 1 #:转发伐值,越高调用的越多
        TCP_CHECK {
        connect_timeout 10   #:连接超时为10秒
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80  #连接端口为80,要和上面的保持一致
}
    }

    real_server 10.0.0.204 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80

        }

     }

}

3.4、从(Slave)配置Keepalived配置文件

主从配置区别:

 state BACKUP   #状态改成BACKUP
 priority 90     #优先级要低于主
 interface eth1  #网络接口注意和本机对应,

其它的配置文件内容和主的一样

3.5、配置WEBserver,所有的WEB脚本都一样

# vim realserver.sh

如下:

#!/bin/bash
# Written by NetSeek
# description: Config realserver lo and apply noarp
WEB_VIP="10.0.0.210"        #:修改VIP,其它的地方不动,

. /etc/rc.d/init.d/functions

case "$1" in
start)
       ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP
       /sbin/route add -host $WEB_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 $WEB_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 Stoped"
       ;;

status)
        # Status of LVS-DR real server.
        islothere=`/sbin/ifconfig lo:0 | grep $WEB_VIP`
        isrothere=`netstat -rn | grep "lo:0" | grep $web_VIP`
        if [ ! "$islothere" -o ! "isrothere" ]
        then
            echo "LVS-DR real server Stopped."
        else
            echo "LVS-DR Running."
        fi
        ;;

*)
        # Invalid entry.
        echo "$0: Usage: $0 {start|status|stop}"
        exit 1
        ;;
esac
exit 0
 

3.5、启动WEB server的脚本

# ./ realserver.sh start

# ip add list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

    inet 10.0.0.210/32 brd 10.0.0.210 scope global lo:0  是否有VIP

inet6 ::1/128 scope host

3.6、启动LVS

在LVS主从服务器上启动LVS

# /etc/init.d/keepalived start

在MASTER服务器上会看到VIP,当MASTER挂了之后。VIP将自动切换到SLAVE(从)

# /etc/init.d/keepalived start

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:8c:4c:ec brd ff:ff:ff:ff:ff:ff

inet 10.0.0.202/16 brd 10.0.255.255 scope global eth1

  inet 10.0.0.210/32 scope global eth1 是否有VIP有则OK

inet6 fe80::20c:29ff:fe8c:4cec/64 scope link

valid_lft forever preferred_lft forever

3.7、访问测试

是否可以看到WEBIP

# ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.0.0.210:http rr

-> 10.0.0.204:http              Route   1      0          0

-> 10.0.0.201:http              Route   1      0          0

然后通过浏览器访问:http://10.0.0.210 看看是否可以访问?

配置文件里面设置了。同一IP,50秒内定为一台WEBserver保证数据的完整连接。

如果80端口无非是用。请更该为81试试。?〉〉

时间: 2024-11-04 19:21:15

LVS+Keppalived实现高可用负载均衡的相关文章

LVS+Keepalived实现高可用负载均衡

用LVS+Keepalived实现高可用负载均衡,简单来说就是由LVS提供负载均衡,keepalived通过对rs进行健康检查.对主备机(director)进行故障自动切换,实现高可用. 1. LVS NAT模式配置准备三台服务器,一台director, 两台real serverdr1: 外网ip 192.168.75.130,内网ip 10.1.1.10 两台real serverrs1: 内网ip 10.1.1.11rs2: 内网ip 10.1.1.12 两台real server的内网网

L8.1 lvs+heartbeat-ldirectord实现高可用负载均衡

lvs+heartbeat-ldirectord实现高可用负载均衡 IPVS规则与heartbeat ipvs规则不再使用ipvsadm配置,而是依靠heartbeat的包工具ldirectord去生成规则 并且ldirectord有检测后端RS健康状况的机制(利用权重,非常正常剔除(w=0),正常后添加). 删除之前 heartbeat v2 crm lamp配置的约束和资源 节点分别停止heartbeat:/etc/init.d/heartbeat stop 规划 ipvs-ld节点: 19

虚拟机 搭建LVS + DR + keepalived 高可用负载均衡

一:环境说明:   LVS-DR-Master:    10.3.0.82   LVS-DR-Backup:    10.3.0.70   VIP:                10.3.0.60   RealServer1:    10.3.0.69   RealServer1:    10.3.0.83   Centos:5.7    二:安装LVS和Keepalvied软件包   1. 下载相关软件包    mkdir /usr/local/src/lvs    cd /usr/loca

LVS+Keepalived 实现高可用负载均衡集群

简介: 随着网站业务量的增长,网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如 F5 ,Array又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时还需要实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案吗?有!我们利用LVS+Keepalivd基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器.  一.LVS+Keepalived  介绍 1.  LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服

LVS+Keepalived搭建高可用负载均衡

应用环境: LVS负责多台WEB端的负载均衡(LB):Keepalived负责LVS的高可用(HA),这里介绍主备模型. 测试环境: HOSTNAME IP SYSTEM DR1 192.168.10.234 CENTOS7.5 DR2 192.168.10.235 CENTOS7.5 RS1 192.168.10.236 CENTOS7.5 RS2 192.168.10.237 CENTOS7.5 VIP 192.168.10.239 DR配置步骤: 安装软件(在DR1和DR2上分别安装) y

利用lvs+keepalived实现高可用负载均衡环境的部署

此方案用于lvs+keepalived部署 ,本系统主要使用的技术有:ipvsadm.keepalived 一.服务器环境 ip地址分配如下: lvs1(master) ip:192.168.30.209 lvs2(backup) ip:192.168.30.210 vip1:192.168.30.88 realserver1 ip:192.168.30.201:8087 192.168.30.201:8088 realserver2 ip:192.168.30.202:8087 192.168

LVS+Keepalived实现高可用负载均衡群集

一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.4 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装及配置LVS和keepalived 1.在两台Director Server上分别配置LVS+Keepalived LVS install ------------- yum -y install popt-static kernel kernel-

LVS+Keepalived高可用负载均衡集群架构

实验环境: LVS和keepalived介绍: 1.keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用来做双机热备. 使用keepalived构建LVS群集更加简便易用,主要优势体现在: 对LVS负载调度器实现热备切换,提高可用性: 对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 2.在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器,

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalived版本:keepalived-1.2.4 三.安装 0.安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*