推荐一篇关于LVS的好文:

https://www.cnblogs.com/gaoxu387/p/7941381.html

一、原博主要内容:

1、概述

IP负载均衡:四层负载,是基于IP+端口的负载均衡,主要代表是LVS(Linux Virtual Server)

LVS工作原理:LVS的IP负载均衡技术是通过IPVS模块实现的,IPVS模块工作在内核空间。

2、LVS的工作模式

A、DR模式
通过 MAC 地址改写机制实现转发,集群局限于局域网内,需要设置lo接口的VIP不能响应本地网络内的arp请求。
B、TUN模式
通过再封装一层IP报文转发,集群可在公网上。
C、NAT模式
通过修改IP报文转发,集群局限在局域网内。

3、LVS的调度算法

  • 轮叫调度(Round-Robin Scheduling)
  • 加权轮叫调度(Weighted Round-Robin Scheduling)
  • 最小连接调度(Least-Connection Scheduling)
  • 加权最小连接调度(Weighted Least-Connection Scheduling)
  • 基于局部性的最少链接(Locality-Based Least Connections Scheduling)
  • 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)
  • 目标地址散列调度(Destination Hashing Scheduling)
  • 源地址散列调度(Source Hashing Scheduling)

固定调度算法:rr,wrr,dh,sh

动态调度算法:wlc,lc,lblc,lblcr

二、DR模式的配置

 这里介绍一下DR模式的配置。
1、负载均衡服务器:一般对外的负载均衡器须具有灾备能力,在负载均衡服务器上安装keepalived,并完成keepalived的配置,配置如下:

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
} vrrp_instance VI_EPG {
state MASTER //主用设置为MASTER,备用设置为BACKUP
interface bond0 //VIP设置所在网卡
virtual_router_id 64 //路由ID主备需一致
priority 100 //主用优先级要比备用优先级高
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
111.11.11.10 //对外VIP
}
}
virtual_server 111.11.11.10 6600 {
delay_loop 6
lb_algo rr //调度算法RR,也可以设置其他算法
lb_kind DR //负载均衡模式为DR
persistence_timeout 20
protocol TCP real_server 111.11.11.21 6600 { //RS节点服务器IP
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 111.11.11.22 6600 { //RS节点服务器IP
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
} real_server 111.11.11.23 6600 { //RS节点服务器IP
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
2、RS节点服务器:需要设置lo接口的VIP,且设置其不能响应本地网络内的arp请求,可执行脚本:
 #!/bin/bash
# description: Config realserver lo and apply noarp
VIP=111.11.11.10 . /etc/rc.d/init.d/functions case "$1" in
start)
echo "" >/proc/sys/net/ipv4/conf/bond0/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/bond0/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null >&
ifconfig lo: $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:
echo "RealServer Start OK"
;;
stop)
ifconfig lo: down
route del $VIP >/dev/null >&
echo "" >/proc/sys/net/ipv4/conf/bond0/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/bond0/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
status)
# Status of LVS-DR real server.
islothere=`/sbin/ifconfig lo: | grep $VIP`
isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
if [ ! "$islothere" -o ! "isrothere" ];then
# Either the route or the lo: device
# not found.
echo "LVS-DR real server Stopped."
else
echo "LVS-DR Running."
fi
;;
*)
# Invalid entry.
echo "$0: Usage: $0 {start|status|stop}"
exit
;;
esac
exit

注意:此脚本最好设置成开机执行,如脚本名称为realserver.sh,放置在/usr/bin/路径下,赋可执行权限,在/etc/rc.local的末尾添加一行:/usr/bin/realserver.sh start

IP负载均衡的更多相关文章

  1. 转载-lvs官方文档-LVS集群中的IP负载均衡技术

    章文嵩(wensong@linux-vs.org) 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN ...

  2. LVS集群中实现的三种IP负载均衡技术

    LVS有三种IP负载均衡技术:VS/NAT,VS/DR,VS/TUN. VS/NAT的体系结构如图所示.在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的.这些服务器 提供相同的网络服 ...

  3. Lvs IP负载均衡技术

    Lvs集群的通用结构 Lvs集群采用IP负载均衡技术,属于IP层的交换(L4),具有很好的吞吐率.调度器分析客户端到服务器的IP报头信息,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器 ...

  4. LVS集群中的IP负载均衡技术

    LVS集群中的IP负载均衡技术 章文嵩 (wensong@linux-vs.org) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集 ...

  5. 消费五分钟,小白也能了解的经典技术:关于IP负载均衡(LVS之NAT)

    这里准备以两篇文章来大概讲述一下LVS负载均衡 NAT TUN/DR和共享存储 前言: 为什么搭建LVS: 若一台服务器只能支持10人在线.那么有100人访问,则需要多少台服务器. 这个不言而喻:10 ...

  6. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  7. IP负载均衡技术

    参考链接:http://www.360doc.com/content/12/1117/19/820209_248442094.shtml

  8. 负载均衡之IP

    文章出自:http://blog.csdn.net/cywosp/article/details/38036537       首先让我们来看看下面这张大家都非常熟悉的TCP/IP协议族的分层图:   ...

  9. 配置LVS + Keepalived高可用负载均衡集群之图文教程

    负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性.  重点:每个节点时间都同步哈! C++代码 [r ...

随机推荐

  1. [原创]Struts2奇葩环境任意文件上传工具(解决菜刀无法传文件或上传乱码等问题)

    上面这问题问得好  1 不知道大家有没碰到有些Strus2站点  上传JSP后访问404 或者503    注意我说的是404或503不是403(要是403换个css/img等目录或许可以)    但 ...

  2. [Node.js与数据库]node-mysql 模块介绍

    [Node.js与数据库]node-mysql 模块介绍   转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...

  3. Xamarin.Android 获取手机IP地址

    命名空间: using System.Net; 代码: IPAddress[] address = Dns.GetHostAddresses(Dns.GetHostName()); ] != null ...

  4. Postgresql ---plv8扩展(windows下安装过程)

    Postgresql下plv8安装过程其实很简单,但是在网络上搜集了半天都没有找到一篇满意的安装文档,现在总结如下: 1.下载和PostgreSQL相对应的plv8版本,下载地址如下: http:// ...

  5. JavaScript之radio遍历

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. show profiles 分析sql耗时瓶颈

    1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro%'; 或者 SELECT @@profiling; 2.开启profiling ; 3.执行sql语句例 ...

  7. 【微收藏】FourShadows.js – 时间感知的算法驱动的图标阴影JS库

    废话一箩筐,筐筐有心得 不小心养成了一个刷微博的习惯,主要还是关注一些前端人士,学习一些前端方面的知识,看到大家都有一些刷微博的小习惯.有的是转发一下,转发内容来一个标记(MARK).也有评论中标记为 ...

  8. Jmeter配置通过SSH连接的mysql数据库

    jmeter连接配置mysql数据库时,如果数据库服务器没有通过ssh连接,则只需要添加配置相应的jdbc参数就可以了.如果数据库服务器是通过SSH连接的,则需要通过中间远程连接工具来登录,此处使用的 ...

  9. Sql Insert into select 创建临时表插入自增列

    ] GO ============================================= -- Author: PPL -- Create date: 2015-11-23 -- Desc ...

  10. 简单JAVA爬虫51Jobs

    使用Jsoup工具,它是一个HTML解析器,可以直接直接解析某个地址或者HTML文件.还可 通过Dom,CSS以及类似JQuery的操作方法操作数据. Jsoup官方文档地址:https://jsou ...