0.调度算法


  0.1.静态调度
    ●rr - 轮询调度
    ●lr - 最少连接调度
    ●wlr - 加权最少连接调度

  0.2.静态调度

1.LVS-nat模式


  1.1.实验结构:

    ●LVS Server(双网卡)

    ●Real Server1(后台服务器)

    ●Real Server2(后台服务器)

    ●Client pc(客户端)

  1.2.IP地址规划:

    Client pc:8.8.8.1/24

    VIP:无vip

    LVS Server:8.8.8.8/24;192.168.10.1/24

    Real Server1:192.168.10.2/24

    Real Server2:192.168.10.3/24

配置“负载均衡”
[root@LVS_Server ~]# ifconfig eth0 8.8.8.8 netmask 255.255.255.0
[root@LVS_Server ~]# ifconfig eth1 192.168.10.1 netmask 255.255.255.0
配置“后台服务器1”
[root@Real_Server1 ~]# ifconfig eth0 192.168.10.2 netmask 255.255.255.0
[root@Real_Server1 ~]# route add default gw 192.168.10.1
配置“后台服务器2”
[root@Real_Server2 ~]# ifconfig eth0 192.168.10.3 netmask 255.255.255.0
[root@Real_Server2 ~]# route add default gw 192.168.10.1

ping测试,全网通(路由生效,网络层贯通)。

  1.3.配置过程:

    LVS配置方法

检查、打开路由表转发功能
# cat /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_forward# ipvsadm -C
设定调度算法
# ipvsadm -At 8.8.8.8:80 -s rr
设定工作模式
# ipvsadm -at 8.8.8.8:80 -r 192.168.10.2:80 -m
# ipvsadm -at 8.8.8.8:80 -r 192.168.10.3:80 -m

* IP装发表   1 开启路由表 ; 0 关闭路由管道
* -s 调度算法
* -m nat模式
* -i ip tuns模式
* -g dr模式

#!/bin/bash
#lvs.sh
#启动脚本
echo 1 > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -At 8.8.8.8:80 -s rr
ipvsadm -at 8.8.8.8:80 -r 192.168.10.2:80 -m
ipvsadm -at 8.8.8.8:80 -r 192.168.10.3:80 -m
# chmod a+x ipvs.sh
# ./ipvs.sh
# ipvsadm -L -n

  1.4.测试:

      客户端浏览器访问 http://8.8.8.8;多次刷新。

2.LVSip-tun模式


  2.1.实验结构(所有机器处于同一网段)

    ●LVS Server(单网卡)

    ●Real Server1(后台服务器)

    ●Real Server2(后台服务器)

    ●Client pc(客户端)

  2.2.IP地址规划:

    Client pc:200.168.10.4/24

    VIP:200.168.10.10

    LVS Server:200.168.10.1/24;200.168.10.10/24

    Real Server1:192.168.10.2/24

    Real Server2:192.168.10.3/24

配置“负载均衡”
[root@LVS_Server ~]# ifconfig eth0 200.168.10.1 netmask 255.255.255.0 up
添加虚拟网卡,配置虚拟IP
[root@LVS_Server ~]# ifconfig tun0 200.168.10.10 netmask 255.255.255 up
添加主机路由
[root@LVS_Server ~]# route add -host 200.168.10.10 dev tunl0
配置“后台服务器1”网卡
[root@Real_Server1 ~]# ifconfig eth0 200.168.10.2 netmask 255.255.255.0 up
在后台服务器配置虚拟IP
[root@Real_Server1 ~]# ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
添加主机路由
[root@Real_Server1 ~]# route add -host 200.168.10.10 dev tunl0
删除默认路由
[root@Real_Server1 ~]# route del default
[root@Real_Server1 ~]# route -n
#!/bin/bash
#arp.sh
#修改网卡属性
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@Real_Server1 ~]# chmod +x arp.sh
执行脚本,修改网卡配置
[root@Real_Server1 ~]# ./arp.sh
同样需要在另外的后台服务器执行相同配置
[root@Real_Server1 ~]# scp arp.sh 200.168.10.3:~
配置“后台服务器2”网卡
[root@Real_Server2 ~]# ifconfig eth0 200.168.10.3 netmask 255.255.255.0 up
在后台服务器配置虚拟IP
[root@Real_Server2 ~]# ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
添加主机路由
[root@Real_Server2 ~]# route add -host 200.168.10.10 dev tunl0
删除默认路由
[root@Real_Server2 ~]# route del default
[root@Real_Server2 ~]# route -n
修改网卡配置
[root@Real_Server2 ~]# ./arp.sh

ping测试,全网通(路由生效,网络层贯通)。

  2.3.配置过程:

    LVS配置方法

# cat /proc/sys/net/ipv4/ip_forward
# echo 0 > /proc/sys/net/ipv4/ip_forward
# ipvsadm -C
# ipvsadm -A -t 200.168.10.10:80 -s rr
# ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -i
# ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -i

* IP装发表   1 开启路由表 ; 0 关闭路由管道
* -s 调度算法
* -m nat模式
* -i ip tuns模式
* -g dr模式

#!/bin/bash
#lvs.sh
#启动脚本
echo 1 > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -i
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -i
# chmod a+x ipvs.sh
# ./ipvs.sh
# ipvsadm -L -n

  2.4.测试:

      客户端浏览器访问 http://200.168.10.10;多次刷新。

3.LVS-dr模式


  DR模式的优点:
    ●不会形成瓶颈*(相对nat模式)
    ●适应面广*(相对于IP tuns)
    ●只需要一块网卡*(借助lo0接口)
  VS/DR 工作原理 ( Virtual Server via Direct Routing )
    VS/DR 通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回

  给客户。同 VS/TUN技术一样,VS/DR 技术可极大地提高集群系统的伸缩性。却没有IP 隧道的开

  销,对集群中的真实服务器也没有必须支持IP隧道协议的要求,但是要求调度器与真实服务器都有

  一块网卡连在同一物理网段上。

  3.1.实验结构(所有机器处于同一网段)

    ●LVS Server(单网卡)

    ●Real Server1(后台服务器)

    ●Real Server2(后台服务器)

    ●Client pc(客户端)

  3.2.IP地址规划:

    Client pc:200.168.10.4/24

    VIP:200.168.10.10

    LVS Server:200.168.10.1/24;200.168.10.10/24

    Real Server1:192.168.10.2/24

    Real Server2:192.168.10.3/24

[root@LVS_Server ~]# ifconfig eth0 200.168.10.1 netmask 255.255.255.0
[root@LVS_Server ~]# ifconfig eth0:0 200.168.10.10 netmask 255.255.255 up
[root@LVS_Server ~]# route add -host 200.168.10.10 dev eth0:0
[root@LVS_Server ~]# route -n
设定后台服务器的真实ip地址
[root@Real_Server1 ~]# ifconfig eth0 200.168.10.2 netmask 255.255.255.0
[root@Real_Server1 ~]# route del default
[root@Real_Server1 ~]# route -n
#!/bin/bash
#arp.sh
#修改网卡属性
echo 1 > /proc/sys/net/ipv4/conf/lo0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@Real_Server1 ~]# chmod a+x arp.sh
用上边的脚本修改网卡属性
[root@Real_Server1 ~]# ./arp.sh
同样需要在另外的后台服务器执行相同配置
[root@Real_Server1 ~]# scp arp.sh 200.168.10.3:/root/
为后台服务器设定VIP
[root@Real_Server1 ~]# ifconfig lo:0 200.168.10.10 netmask 255.255.255.255 up
[root@Real_Server1 ~]# route add -host 200.168.10.10 dev lo:0
[root@Real_Server2 ~]# ifconfig eth0 200.168.10.3 netmask 255.255.255.0
[root@Real_Server2 ~]# route del default
[root@Real_Server2 ~]# route -n
执行类似上边的脚本,修改网卡配置
[root@Real_Server2 ~]# ./arp.sh
添加虚拟ip(vip)
[root@Real_Server2 ~]# ifconfig  lo:0 200.168.10.10 netmask 255.255.255.255 up
[root@Real_Server2 ~]# route add -host 200.168.10.10 dev lo:0 up
[root@Real_Server2 ~]# route add -host 200.168.10.10 dev lo:0 up

ping测试,全网通(路由生效,网络层贯通)。

  3.3.配置过程:

    LVS配置方法

# cat /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_forward
# ipvsadm -C
# ipvsadm -A -t 200.168.10.10:80 -s rr
# ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -g
# ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -g

* IP装发表   1 开启路由表 ; 0 关闭路由管道
* -s 调度算法
* -m nat模式
* -i ip tuns模式
* -g dr模式

#!/bin/bash
#lvs.sh
#启动脚本
echo 0 > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -g
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -g
# chmod a+x ipvs.sh
# ./ipvs.sh
# ipvsadm -L -n

  3.4.测试:

      客户端浏览器访问 http://200.168.10.10;多次刷新。

4.0.附


  4.1.RealServer

#!/bin/bash
VIP=192.168.10.200
./etc/rc.d/init.d/function
case “$1” instart)ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP/sbin/route add -host $VIP dev lo:0echo “1” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “1” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>$1echo “RealServer Stsrt OK”;;stop)ifconfig lo:0 downroute del $VIP >/dev/null 2>$1echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “0” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/all/arp_announceecho “RealServer Stoped”;;*)echo “Usage: $0 {start|stop}”exit 1
esac
exit 0

  4.2.Directory Server

#!/bin/sh
#description:Start LVS of Director server
VIP=10.10.10.200
RIP1=172.16.10.10
RIP2=172.16.10.20
. /etc/rc.d/init.d/functions
case “$1” instart)echo “start LVS of Directory Server”#set the Virtual IP Address and sysctl parameter/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 upecho “1” > /proc/sys/net/ipv4/ip_forward#Clear IPVS table/sbin/ipvsadm -C#set LVS/sbin/ipvsadm -A -t $VIP:80 -s rr -p 600/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g#run LVS/sbin/ipvsadm;;stop)echo “close LVS Directory server”echo “0” > /proc/sys/net/ipv4/ip_forward/sbin/ipvsadm -C/sbin/ifconfig eth0:0 down;;*)echo “Usage:$0{start|stop}”exit 1
esac
exit 0

转载于:https://blog.51cto.com/sunnybay/1375288

使用lvs实现负载均衡(V2.0)相关推荐

  1. LVS+keepalived负载均衡

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

  2. 使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...

  3. LVS+keepalived负载均衡 ??待续

    2019独角兽企业重金招聘Python工程师标准>>> 背景:         随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是 ...

  4. 算法高级(15)-LVS的负载均衡策略及LVS+KeepAlived+Nginx实现高可用方案

    前面讲的nginx负载均衡,是属于网络七层负载,今天讲另外一种负载均衡技术LVS,它是基于网络四层进行负载,性能很好,通常在大型项目中,我们会同时使用四层和七层负载. 一.LVS简介 LVS是Linu ...

  5. 基于centos7.3 3.10-514的LVS双机负载均衡部署方案

    基于centos7.3 3.10-514的LVS双机负载均衡部署方案 主机:192.168.1.51 备机:192.168.1.52 LVS VIP: 192.168.1.50 0.制作系统本地的光盘 ...

  6. LVS四层负载均衡集群

    大型网站高并发解决方案LVS 文章目录 大型网站高并发解决方案LVS 一.集群功能分类 LB 图示 负载均衡产品分类 软件负载均衡设备 硬件负载均衡设备 HA 二.负载均衡 负载均衡的主要方式 htt ...

  7. Linux运维之LVS实现负载均衡的DR(直接路由)模式

    前言: 我们在浏览器输入网址后,经过cdn的反向代理后缓解了一些访问压力,下面就来到了LB(负载均衡)集群! 硬件负载均衡器 HA.F5 软件实现负载均衡 (LVS(工作在OSI网络模型的传输层).N ...

  8. lvs+nginx负载均衡

    1 学习目标 掌握什么是负载均衡及负载均衡的作用和意义. 了解lvs负载均衡的三种模式. 了解lvs-DR负载均衡部署方法. 掌握nginx实现负载均衡的方法. 掌握lvs+nginx负载均衡拓扑结构 ...

  9. LVS+nginx负载均衡(一)-企业实战lvs负载均衡

    一.LVS简介 1.LVS简介 LVS是linux虚拟服务器,是一个虚拟的服务器集群:通过LVS的负载均衡技术和linux操作系统可以实现一个人高性能.高可用的Linux服务器集群,并具有良好的高可靠 ...

  10. LVS实现负载均衡及高可用

    LVS实现负载均衡及高可用 1 实验环境 1.1 虚拟机最小化封装 1.1.1 虚拟机母机安装 1.1.2 清理和压缩母机 1.1.3 创建子机 1.2 名词理解 2 lvs的工作模式 2.1 NAT ...

最新文章

  1. Sharding-eth
  2. 电影网网站优化-SEO篇
  3. python观察日志(part11)--管道及MD5文件比较
  4. HDU 5514 Frogs 欧拉函数
  5. Android Material风格的应用(三)--DrawerLayout
  6. qml tableview 滚动条加宽_qt qtableview 样式设置
  7. 学习HTML的第二次课
  8. jsp页面中插入css样式的三种方法总结
  9. n9 android模拟器,Android软件将兼容诺基亚N9
  10. 病毒库的备份及***隐藏地址
  11. 400款营销策划PPT模板免费下载
  12. Teechart图表应用技术详解—第四章之工具组件概述
  13. 计算机网络的通信主体,计算机网络试题及答案
  14. java 实现pdf 转图片_java实现PDF转图片的方法
  15. Matlab学习笔记 kron函数
  16. vue3.0常用的composition API
  17. Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述
  18. ie浏览器出现代理服务器没有响应
  19. ElasticSearch、ki、head、kibana安装与基本使用
  20. 奈奎斯特与香农定理_大神带你理解奈奎斯特定理和香农定理

热门文章

  1. 淘宝Web服务器Tengine正式开源
  2. Git 提交的正确姿势:Commit message 编写指南
  3. oracle rownum使用与分页
  4. 如何在20130513image上,备份NAND到SD卡,然后把这个SD卡做成可以自启动的SD卡
  5. MOQL--操作数(Operand) (二)
  6. 【DFS】LeetCode 17. Letter Combinations of a Phone Number
  7. Leetcode 931.下降路径最小和
  8. Leetcode 303.区域和检索 - 数组不可变
  9. selenium课程笔记1---安装与环境配置(selenium,python,pycharm)
  10. (转)日语时间的表示法