LVS+Keepalived负载均衡配置

简介

lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高。

lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在keepalived中进行配置,只是在keepalived中调用lvs

架构图

配置

LVS+Keepalived MASTER

配置:【keepalived.conf】

global_defs {
   notification_email {
         [email protected]
   }
   notification_email_from sns-[email protected]
   smtp_server 192.168.80.1
   smtp_connection_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER   #指定Keepalived的角色,MASTER为主,BACKUP为备
    interface eth1  #指定Keepalived的角色,MASTER为主,BACKUP为备
    virtual_router_id 51  #虚拟路由编号,主备要一致
    priority 100  #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
    advert_int 1  #检查间隔,默认为1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.80.200  #定义虚拟IP(VIP)为192.168.2.33,可多设,每行一个
    }
}
# 定义对外提供服务的LVS的VIP以及port
virtual_server 192.168.80.200 80 {
    delay_loop 6 # 设置健康检查时间,单位是秒
    lb_algo wrr # 设置负载调度的算法为wlc
    lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
    nat_mask 255.255.255.0     #NAT模式会用到
    persistence_timeout 0   #会话保持时间,单位是秒(可以适当延长时间以保持session)
    protocol TCP      #转发协议类型,有tcp和udp两种
  sorry_server 127.0.0.1 80      #如果所有realserver都出现问题,vip指向本机80端口

    real_server 192.168.80.102 80 {  # 指定real server1的IP地址
        weight 3   # 配置节点权值,数字越大权重越高
        TCP_CHECK {  #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
          connect_timeout 10     #超时时间,单位是秒
          nb_get_retry 3    #重连次数
          delay_before_retry 3   #重连间隔时间
          connect_port 80  #检测端口
        }
    }
    real_server 192.168.80.103 80 {  # 指定real server2的IP地址
        weight 3  # 配置节点权值,数字越大权重越高
        TCP_CHECK {
          connect_timeout 10
          nb_get_retry 3
          delay_before_retry 3
          connect_port 80
        }
     }
}

LVS+Keepalived BACKUP

配置:【keepalived.conf】

global_defs {
   notification_email {
         [email protected]
   }
   notification_email_from sns-[email protected]
   smtp_server 192.168.80.1
   smtp_connection_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP   #指定Keepalived的角色,MASTER为主,BACKUP为备
    interface eth1  #指定Keepalived的角色,MASTER为主,BACKUP为备
    virtual_router_id 51  #虚拟路由编号,主备要一致
    priority 99  #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
    advert_int 1  #检查间隔,默认为1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.80.200  #定义虚拟IP(VIP)为192.168.2.33,可多设,每行一个
    }
}
# 定义对外提供服务的LVS的VIP以及port
virtual_server 192.168.80.200 80 {
    delay_loop 6 # 设置健康检查时间,单位是秒
    lb_algo wrr # 设置负载调度的算法为wlc
    lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
    nat_mask 255.255.255.0     #NAT模式会用到
    persistence_timeout 0   #会话保持时间,单位是秒(可以适当延长时间以保持session)
    protocol TCP      #转发协议类型,有tcp和udp两种
  sorry_server 127.0.0.1 80      #如果所有realserver都出现问题,vip指向本机80端口

    real_server 192.168.80.102 80 {  # 指定real server1的IP地址
        weight 3   # 配置节点权值,数字越大权重越高
        TCP_CHECK {  #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
          connect_timeout 10     #超时时间,单位是秒
          nb_get_retry 3    #重连次数
          delay_before_retry 3   #重连间隔时间
          connect_port 80  #检测端口
        }
    }
    real_server 192.168.80.103 80 {  # 指定real server2的IP地址
        weight 3  # 配置节点权值,数字越大权重越高
        TCP_CHECK {
          connect_timeout 10
          nb_get_retry 3
          delay_before_retry 3
          connect_port 80
        }
     }
}

Real Server

配置脚本:realserver.sh

SNS_VIP=192.168.80.200
/etc/rc.d/init.d/functions
case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_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 $SNS_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"
       ;;
*)
       echo "Usage: $0 {start|stop}"
       exit 1
esac
exit 0


参考资料:

http://www.cnblogs.com/edisonchou/p/4281978.html

http://www.tuicool.com/articles/Vz2qYj

时间: 2024-10-12 14:08:57

LVS+Keepalived负载均衡配置的相关文章

RedHat linux 6.4 下LVS+Keepalived负载均衡配置

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,现在已经是 Linux标准内核的一部分.在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良好可靠性.

lvs及lvs+keepalived负载均衡

################ lvs负载均衡 ####################实验环境:Redhat6.5ip:172.25.8.1,hostname:server1.example.com,lvs httpdip:172.25.8.3,hostname:server3.example.com,httpdip:172.25.8.4,hostname:server4.example.coms,httpd关闭所有主机防火墙iptables server1安装lvs作为调度器,后面的ser

LVS+Keepalived负载均衡主备

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在这里主要用作RealServer的健康状态检查以及LoadBal

LVS+Keepalived负载均衡双主架构全攻略

二.LVS+Keepalived负载均衡双主互备架构 IP信息清单:名称 IP LVS-DR-Master 192.168.2.98 LVS-DR-Backup 192.168.2.99 LVS-DR-VIP1 192.168.2.100 LVS-DR-VIP2 192.168.2.105 Realserver01 192.168.2.101 Realserver02 192.168.2.102 Realserver03 192.168.2.103 Realserver04 192.168.2.

MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移

转自 MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移 - KK ——专注数据 - 博客频道 - CSDN.NEThttp://blog.csdn.net/kk185800961/article/details/51115264# 系统信息: mysql主库 192.168.1.152 CentOS 5.6 mysql 5.6.22 mysql从库 192.168.1.153 CentOS 5.6 mysql 5.6.22 VIP 192.168.1.150 my

搭建LVS+Keepalived负载均衡集群

这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G SSD,双核 软件环境: 因为资源有限.搭建了4个虚拟机. 虚拟机 [[email protected] work]# uname -a Linux rs-1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_6

CentOS7 搭建LVS+keepalived负载均衡

CentOS7 搭建LVS+keepalived负载均衡(一) 本文中只涉及一台负载均衡服务器,和两台真实服务器,主要是初步体验负载均衡:实际的环境中,lvs和keepalived一起用才是黄金搭档,下篇将继续讲述lvs+keepalived的搭建过程 一.本次搭建的系统架构图- 虚拟机:VirtualBox- virtaulbox host-only的IP地址:192.168.137.1- 所用系统:CentOS7- 真实web服务器(RS1):192.168.137.5- 真实web服务器(

linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡

最近希望能够配置一下负载均衡,在虚拟机上面,但是网上找了很多资料很零散,对于不了解的人,很多不够详细,最近终于做好了,把具体的步骤写下来,方便各位网友查阅学习 这个实验需要安装nginx如果没有安装过,请参考: linux安装nginx:http://www.cnblogs.com/aspirant/p/6714548.html (1) 我们的系统是CentOS7 目前需要四台机器,分别为 Director机器 两台:master,slave 真实机器realserver1,realserver

搭建LVS+Keepalived负载均衡

1.LVS+Keepalived 介绍 LVS        LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项 目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh). Keepalvied        Keepalived在这里主要用作RealServer的健康状