Keepalived管理LVS负载均衡实战


众所周知,早期LVS软件,需要通过命令行或脚本实现管理,而且没有针对LVS节点的健康检查功能。为了解决LVS的这些使用不便问题,Keepalived便诞生。
Keepalived服务的三大重要功能

  1. 管理VLS负载均衡
  2. 实现对LVS集群node健康检查
  3. 作为系统网络服务的高可用**

    闲话不多说,直接上实例**


LB端Keepalived配置

 [[email protected] keepalived]# ip addr del 10.0.0.3/24 dev eth0 label eth0:0
[[email protected] keepalived]# ipvsadm -C
修改keepalived主配置文件
[[email protected] keepalived]# cat keepalived.conf+lvs_master
! Configuration File for keepalived
global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.0.3/24 dev eth0 label eth0:1
    }
}
#ipvsadm -A -t 10.0.0.3:80 -s wrr ?LVS命令配置示例与Keepalived对比
virtual_server 10.0.0.3 80 { ?-lvs中的VIP
    delay_loop 6 ?延迟
    lb_algo rr ?轮询调度算法
    lb_kind DR ?直接路由模式
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP ?调度协议
#ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.7:80 -g -w 1 ?LVS命令配置示例与Keepalived对比
      real_server 10.0.0.7 80 {
      weight 1
      TCP_CHECK {
      connect_timecout 5
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
     }
}
#ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.8:80 -g -w 1 ?LVS命令配置示例与Keepalived对比
      real_server 10.0.0.8 80 {
      weight 1
      TCP_CHECK {
      connect_timecout 5
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
     }
  }
}
[[email protected] ~]# /etc/init.d/keepalived restart ?重启keepalived

Real server节点实例也一起奉上

[[email protected] ~]# lsmod |grep ip_vs
ip_vs_wrr               2179  0
ip_vs                 126534  2 ip_vs_wrr
libcrc32c               1246  1 ip_vs
ipv6                  335589  277 ip_vs
[[email protected] ~]# ip addr add 10.0.0.3/32 dev lo label lo:0

[[email protected] ~]# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
[[email protected] ~]# echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
[[email protected] ~]# echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
[[email protected] ~]# echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

遇到的问题:
lsmod |grep ip_vs 查询时没反馈如下图

解决办法:
[[email protected] ~]# ipvsadm或modprode ip_vs
如果ln没有发现内核,那是因为Kernels-devel没安装
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Arp抑制说明
arp_ignore 定义对目标地址为本地IP的ARP询问不同的应答模式
0-默认值:回应任何网络接口上对任何本地IP地址的arp查询请求。
1-只目标IP地址是来访网络接口本地地址的ARP查询请求
2-只回答目标IP地址是来访网络接口本地地址的arp查询请求,且来访IP必须在该网络接口的子网段
arp_announce 对网络接口上,本地IP地址发出的ARP回应,作出相应级别的限制
0-默认值在任意网络接口(eth0,eth1,lo)上的任何本地地址
1-尽量避免不在该网络接口子网段的本地地址做出arp回应,当大气arp请求的源IP地址是被设置应该经过由路由达到次网络接口的时候很有用。此时会检查来访IP是否为所有接口上的子网段内IP之一。如果该来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理。
2-对查询目标使用最适当的本地地址,在此模式下将忽略这个IP数据包的源地址并尝试选择能与该地址通信的本地地址,首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址。如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送,限制了使用本地的vip地址作为优先网络接口。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

原文地址:http://blog.51cto.com/jungiewolf/2112651

时间: 2024-10-12 07:32:26

Keepalived管理LVS负载均衡实战的相关文章

Nginx配合keepalived实现LVS负载均衡

前言:由于服务器资源有限,keepalived未配主备. 一.架构规划 1.服务器IP地址规划 VIP:192.168.1.6 real_server1:192.168.1.7 real_server2:192.168.1.8 WebServer1:192.168.1.9 WebServer2:192.168.1.10 memcache: 192.168.1.13 mysql主:192.168.1.12 mysql从:192.168.1.2 2.服务器操作系统 所使用的操作系统均为CentOS

虚拟机 搭建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负载均衡、Nginx、共享存储、海量数据、队列缓存)

课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普通的技术人员就可以快速搭建起千万级的高并发大数据网站平台. 亮点一:真实环境还原,课程采用了VM环境重现大网站集群服务器环境,真实环境还原再现. 亮点二:基础实用,细节决定成败,课程内容在演练过程中重点介绍各种细节,保证初级人员快速入门及高级进阶. 亮点三:讲师丰富的海量平台运作经验 讲师tom5多

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

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

项目实战2—LVS负载均衡

负载均衡集群企业级应用实战-LVS 实现基于LVS负载均衡集群的电商网站架构 随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法承载更多的用户访问,此时需要用负载均衡技术,对网站容量进行扩充,来解决承载的问题.scale out? scale up? 实现基于LVS负载均衡集群的电商网站架构 前景:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3

LVS负载均衡群集之DR模式+keepalived群集机构(理论+实践篇)

LVS-DR数据包流向分析 为方便进行原理分析,将Client与群集机器放在同一网络中,数据包流经的路线为1-2-3-4 Client向目标VIP发出请求, Director (负载均衡器)接收 Director根据负载均衡算法选择RealServer 1,不修改也不封装IP报文,而是将数据帧的MAC地址改为RealServer 1的MAC地址,然后在局域网上发送. RealServer_ _1收到这个帧,解封装后发现目标IP与本.机匹配(RealServer事先绑定 了VIP),于是处理这个报

lvs+keepalived高可用负载均衡集群双主实现

项目说明 1.         使用LVS负载均衡用户请求到后端web服务器,并且实现健康状态检查 2.         使用keepalived高可用LVS,避免LVS单点故障 3.         集群中分别在LK-01和LK-02运行一个VIP地址,实现LVS双主 4.         用户通过DNS轮训的方式实现访问集群的负载均衡(不演示) 环境拓扑 环境介绍 IP地址 功能描述 LK-01 172.16.4.100 调度用户请求到后端web服务器,并且和LK-02互为备份 LK-02

搭建LVS负载均衡环境(keepalived+lvs+nginx)

LVS简介: LVS集群有DR.TUN.NAT三种配置模式,可以对www服务.FTP服务.MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置 Director-Server: LVS的核心服务器,作用类似于一个路由器,含有为LVS功能完成的路由表,通过路由表把用户的请求分发给服务器组层的应用服务器(Real_Server),同时监控Real-servers ,在Real-Server不可用时,将其从LVS路由表中剔除,再恢复时,重新加入. Real-

通过keepalived搭建高可用的LVS负载均衡集群

一.keepalived软件简介 keepalived是基于vrrp协议实现高可用功能的一种软件,它可以解决单点故障的问题,通过keepalived搭建一个高可用的LVS负载均衡集群时,keepalived还能检测后台服务器的运行状态. 二.vrrp协议原理简介 vrrp(虚拟路由器冗余协议),是为了解决网络上静态路由出现的单点故障的问题,举个例子,如下图 主机A和B均在同一个局域网内,C和D均是该局域网的网关,即A和B想与外网通信,需指网关到C或D,那究竟指向C好还是指向D好呢?都不好!当指向