简介

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

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

架构图

配置

LVS+Keepalived MASTER

配置:【keepalived.conf】

  1. global_defs {
  2. notification_email {
  3. edisonchou@hotmail.com
  4. }
  5. notification_email_from sns-lvs@gmail.com
  6. smtp_server 192.168.80.1
  7. smtp_connection_timeout 30
  8. router_id LVS_DEVEL
  9. }
  10. vrrp_instance VI_1 {
  11. state MASTER #指定Keepalived的角色,MASTER为主,BACKUP为备
  12. interface eth1 #指定Keepalived的角色,MASTER为主,BACKUP为备
  13. virtual_router_id 51 #虚拟路由编号,主备要一致
  14. priority 100 #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
  15. advert_int 1 #检查间隔,默认为1s
  16. authentication {
  17. auth_type PASS
  18. auth_pass 1111
  19. }
  20. virtual_ipaddress {
  21. 192.168.80.200 #定义虚拟IP(VIP)为192.168.2.33,可多设,每行一个
  22. }
  23. }
  24. # 定义对外提供服务的LVS的VIP以及port
  25. virtual_server 192.168.80.200 80 {
  26. delay_loop 6 # 设置健康检查时间,单位是秒
  27. lb_algo wrr # 设置负载调度的算法为wlc
  28. lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
  29. nat_mask 255.255.255.0 #NAT模式会用到
  30. persistence_timeout 0 #会话保持时间,单位是秒(可以适当延长时间以保持session)
  31. protocol TCP #转发协议类型,有tcp和udp两种
  32.   sorry_server 127.0.0.1 80 #如果所有realserver都出现问题,vip指向本机80端口
  33.  
  34. real_server 192.168.80.102 80 { # 指定real server1的IP地址
  35. weight 3 # 配置节点权值,数字越大权重越高
  36. TCP_CHECK { #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
  37.   connect_timeout 10 #超时时间,单位是秒
  38.   nb_get_retry 3 #重连次数
  39.   delay_before_retry 3 #重连间隔时间
  40.   connect_port 80 #检测端口
  41. }
  42. }
  43. real_server 192.168.80.103 80 { # 指定real server2的IP地址
  44. weight 3 # 配置节点权值,数字越大权重越高
  45. TCP_CHECK {
  46.   connect_timeout 10
  47.   nb_get_retry 3
  48.   delay_before_retry 3
  49.   connect_port 80
  50. }
  51. }
  52. }

LVS+Keepalived BACKUP

配置:【keepalived.conf】

  1. global_defs {
  2. notification_email {
  3. edisonchou@hotmail.com
  4. }
  5. notification_email_from sns-lvs@gmail.com
  6. smtp_server 192.168.80.1
  7. smtp_connection_timeout 30
  8. router_id LVS_DEVEL
  9. }
  10. vrrp_instance VI_1 {
  11. state BACKUP #指定Keepalived的角色,MASTER为主,BACKUP为备
  12. interface eth1 #指定Keepalived的角色,MASTER为主,BACKUP为备
  13. virtual_router_id 51 #虚拟路由编号,主备要一致
  14. priority 99 #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
  15. advert_int 1 #检查间隔,默认为1s
  16. authentication {
  17. auth_type PASS
  18. auth_pass 1111
  19. }
  20. virtual_ipaddress {
  21. 192.168.80.200 #定义虚拟IP(VIP)为192.168.2.33,可多设,每行一个
  22. }
  23. }
  24. # 定义对外提供服务的LVS的VIP以及port
  25. virtual_server 192.168.80.200 80 {
  26. delay_loop 6 # 设置健康检查时间,单位是秒
  27. lb_algo wrr # 设置负载调度的算法为wlc
  28. lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
  29. nat_mask 255.255.255.0 #NAT模式会用到
  30. persistence_timeout 0 #会话保持时间,单位是秒(可以适当延长时间以保持session)
  31. protocol TCP #转发协议类型,有tcp和udp两种
  32.   sorry_server 127.0.0.1 80 #如果所有realserver都出现问题,vip指向本机80端口
  33.  
  34. real_server 192.168.80.102 80 { # 指定real server1的IP地址
  35. weight 3 # 配置节点权值,数字越大权重越高
  36. TCP_CHECK { #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
  37.   connect_timeout 10 #超时时间,单位是秒
  38.   nb_get_retry 3 #重连次数
  39.   delay_before_retry 3 #重连间隔时间
  40.   connect_port 80 #检测端口
  41. }
  42. }
  43. real_server 192.168.80.103 80 { # 指定real server2的IP地址
  44. weight 3 # 配置节点权值,数字越大权重越高
  45. TCP_CHECK {
  46.   connect_timeout 10
  47.   nb_get_retry 3
  48.   delay_before_retry 3
  49.   connect_port 80
  50. }
  51. }
  52. }

Real Server

配置脚本:realserver.sh

  1. SNS_VIP=192.168.80.200
  2. /etc/rc.d/init.d/functions
  3. case "$1" in
  4. start)
  5. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
  6. /sbin/route add -host $SNS_VIP dev lo:0
  7. echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  8. echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
  9. echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
  10. echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
  11. sysctl -p >/dev/null 2>&1
  12. echo "RealServer Start OK"
  13. ;;
  14. stop)
  15. ifconfig lo:0 down
  16. route del $SNS_VIP >/dev/null 2>&1
  17. echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  18. echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
  19. echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
  20. echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
  21. echo "RealServer Stoped"
  22. ;;
  23. *)
  24. echo "Usage: $0 {start|stop}"
  25. exit 1
  26. esac
  27. exit 0

参考资料:

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

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

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

  1. [转]LVS+Keepalived负载均衡配置

    简介 来源:https://www.cnblogs.com/MacoLee/p/5858995.html lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且 ...

  2. 搭建LVS+Keepalived负载均衡集群

    这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...

  3. (转)CentOS7 搭建LVS+keepalived负载均衡(一)

    原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...

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

    最近希望能够配置一下负载均衡,在虚拟机上面,但是网上找了很多资料很零散,对于不了解的人,很多不够详细,最近终于做好了,把具体的步骤写下来,方便各位网友查阅学习 这个实验需要安装nginx如果没有安装过 ...

  5. LVS+keepalived负载均衡

    背景:         随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...

  6. LVS+keepalived负载均衡实战

    1 首先安装虚拟机 安装系统 这里 配置两台虚拟机 1:192.168.137.102   2:192.168.137.103 分别安装tomcat 默认80端口,同时都是开启状态 配置192.168 ...

  7. lvs+keepalived 负载均衡

    LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...

  8. Linux CentOs集群LVS+Keepalived负载均衡的实现

    准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备)  LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...

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

    系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ...

随机推荐

  1. VRP介绍以及AC初始化配置-06

    VRP介绍 VRP:多功能路由平台(Versatile Routing Platform) 角色:网络操作系统 支撑多种设备的软件平台 提供TCP/IP 路由服务 通用路由平台VRP(Versatil ...

  2. Poisson回归模型

    Poisson回归模型也是用来分析列联表和分类数据的一种方法,它实际上也是对数线性模型的一种,不同点是对数线性模型假定频数分布为多项式分布,而泊松回归模型假定频数分布为泊松分布. 首先我们来认识一下泊 ...

  3. 在eclipse中导入weka(小白在路上)

    第一步:新建一个java工程,new->javaproject,假设工程名为wekatest 第二步:导入weka.jar 第三步:src关联 导入后有许多的.class文件,直接双击打开是看不 ...

  4. C++ const、volatile、mutable的用法 (转)

      const.volatile.mutable的用法 鸣谢作者: http://blog.csdn.net/wuliming_sc/article/details/3717017 const修饰普通 ...

  5. 樱花漫地集于我心,蝶舞纷飞祈愿相随 発生:genesis 发生:genesis

    朱念齐,学号160809404(这些其实并没有什么乱用)唉( ̄y▽ ̄)~* 正文 鬼族后裔,原是露格尼卡王国的子民,在王立比布利亚学园任职魔法使拥有分别为: 拥有书库: 书库:傲慢(Superbia) ...

  6. 安装Pod时提示ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod

    环境:OSX EI 10.11.1 昨天切换gem源后,招待pod安装没有任何问题,也可以正常用$ gem sources --add https://ruby.taobao.org/ --remov ...

  7. 一块神奇的树莓派电子板竟让我学会了Linux系统

    树莓派(Raspberry Pi)是基于ARM的微型电脑主板,外形只有信用卡大小,因此也被称为新型卡片式电脑,树莓派具有电脑的所有基本功能,可谓麻雀虽小五脏俱全.而其开发组织Raspberry Pi ...

  8. 1900. Brainwashing Device

    http://acm.timus.ru/problem.aspx?space=1&num=1900 题目大意: 有N个车站,相邻车站之间形成一个段,这样就有N-1个段,每个段最多可以放一个洗脑 ...

  9. Lantern卫星接收器:为你提供免费上网服务

    包括笔者在内,许多现代人的日常生活都无法离开网络,因为在网络上我们几乎可以找到任何我们需要的信息.但你是否有想过在户外无网络信号的情况下如何接收网络数据呢?一个名为Outernet Inc.的公司为我 ...

  10. thread启动线程