今天来讲LVS-DR模式集群实现负载均衡的搭建方法

环境

主机名 IP   系统 角色
dir DIP:192.168.199.9 VIP:192.168.199.8 rhel7.4 集群服务器
node1 RIP:192.168.199.67 VIP:192.168.199.8 rhel6.5 RS/web服务器
node2 RIP:192.168.199.68 VIP:192.168.199.8 rhel6.5 RS/web服务器

分发器配置:

1、安装lvs核心软件包:

[root@dir ~]# yum install ipvsadm -y

2、在DR设置两个IP地址:DIP要配置在接口上,VIP要配置在网卡接口别名上

a) DIP: 192.168.199.9 ,设置静态ID

b) VIP:192.168.199.8

[root@dir ~]# cd /etc/sysconfig/network-scripts/
[root@dir network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1

[root@dir network-scripts]# vim ifcfg-ens33:1

3、写脚本管理(开启路由转发,添加虚拟服务,添加虚拟服务后端的real server)

[root@dir ~]# vim lvs_nat.sh

#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
iptables -t nat -F
iptables -t nat -X  
iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j MASQUERADE
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.199.8:80 -s rr
$IPVSADM -a -t 192.168.199.8:80 -r 192.168.199.67:80 -g
$IPVSADM -a -t 192.168.199.8:80 -r 192.168.199.68:80 -g

[root@dir ~]# chmod +x lvs_nat.sh  增加执行权限

[root@dir ~]# ./lvs_nat.sh

查看规则:
[root@node1 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.199.8:80 rr
  -> 192.168.199.67:80            Route   1      0          0         
  -> 192.168.199.68:80            Route   1      0          0         
4、添加路由规则:
[root@dir ~]#route add -host 192.168.199.8 dev ens33:1

RS上配置(两台都得配置)。

1、在多台RS( apeche或者tomcat )上面的配置:RIP要配置在接口上,VIP要配置在lo的别名上,定义内核参数,禁止响应对VIP的ARP广播请求(先配置,再绑定VIP)

两台RS的RIP设置:静态设置192.168.199.67      192.168.199.68

2、关闭ARP

临时关闭:

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore      

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore      

echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce      

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  

永久关闭:

[root@node1 ~]# vim /etc/sysctl.conf (配置文件后面添加)

net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

3、在两台机器(RS)上,设置网卡的别名192.168.199.8,此时绑定的网络接口不进行对外通信,所以VIP绑定在lo的别名上

ifconfig lo:1 192.168.199.8  netmask 255.255.255.255

4、在两台机器(RS)上,添加一个路由:route add -host 192.168.199.8 dev lo:1    确保如果请求的目标IP是$VIP,那么让出去的数据包的源地址也显示为$VIP

5、在rs1和rs2上安装Apache服务,然后下一个测试页面

rs1:echo 'this is 192.168.199.67' > /var/www/html/index.html

rs2: echo 'this is 192.168.199.68' > /var/www/html/index.html

测试:找一台客户机访问VIP,查看结果:

LVS集群之DR模式的更多相关文章

  1. Linux系统(五)负载均衡LVS集群之DR模式

    序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...

  2. LVS集群之DR模式 实现

    ps:做 dr 模式 之前,先把之前做过的操作清空掉 1.ipvsadm -ln 查看规则 2.ipvsadm -C 清空规则 3.ipvsadm -ln 确认 4.iptables -t nat - ...

  3. LVS集群之NAT模式实现

    LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备.   (a)原理      2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...

  4. LVS集群之NAT模式实例(3)

    LVS集群NAT模式实例 1. 实验拓扑图 DS 必须有两块网卡,需要在上面做NAT. 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20 ...

  5. Linux系统(四)负载均衡LVS集群之NAT模式

    序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...

  6. LVS集群之NAT模式

    集群的分类: (1)HA:高可用集群,有叫双机热备 原理:两台机器A.B,正常是A提供服务,当A机宕机或者服务有问题时,会切换到B机继续提供服务常用的高了永软件:heartbeat和keepalive ...

  7. LB负载均衡集群及DR模式配置

    一.系统环境准备: 1.dir服务器 主机名称:dir 系统环境:CentOS release 6.5 (Final) 外网ip:192.168.1.203(网络模式桥接) vip:192.168.1 ...

  8. Lvs+keepAlived实现负载均衡高可用集群(DR实现)

    第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...

  9. LVS集群DR模式实例(4)

    LVS集群DR模式实例 1. 实验拓扑图 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20  VIP eth0:0 10.20.73.3 ...

随机推荐

  1. VBA精彩代码分享-2

    VBA开发中经常需要提示消息框,如果不关闭程序就会暂时中断,这里分享下VBA如何实现消息框的自动关闭,总共有三种方法: 第一种方法 Public Declare Function MsgBoxTime ...

  2. ASP.NET如何接收清楚缓存的通知

    1 如果使用cache的add方法或者接受CacheItemPriority值得Insert方法重载接收通知,可以提供CacheItemRemovedCallBack对象,选择在清除对象时接收通知 u ...

  3. 使用LaTeX和KnitR自动生成报告

    扩展名为.Rnw(Rtex)的文件就是包含了R代码的LaTeX文档.编译的时候,先用Rscript调用Knitr处理,生成.TeX文档,然后用pdfLaTeX/XeLaTeX编译成PDF. 最方便的编 ...

  4. PHP中RabbitMQ之amqp扩展实现(四)

    目前我在PHP里接触实现RabbitMQ的方式有两种,一种是通过amqp扩展,一种是使用php-amqplib,本章讲诉RabbitMQ的安装及amqp扩展及amqp扩展如何实现RabbitMQ 环境 ...

  5. linux中公钥和私钥的区别以及关系

    导读 在学习ssh章节时,一定有不少人对公钥和私钥产生过不解.在搜索公钥跟私钥的理解时,发现了这篇有趣的图解小文章,与大家共享. 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给 ...

  6. Pycharm Community 配置 Django 开发环境

    1. 安装数据库可视化工具 Database Navigator 2. 括号匹配高亮工具 HighlightBracketPair (...) Web 开发放弃 Pycharm Community 版 ...

  7. PHPStorm 3.3 破解方法 以及汉化

    第一步修改host文件(host文件地址为): C:\Windows\System32\drivers\etc 将以下内容添加到host文件里面     0.0.0.0 account.jetbrai ...

  8. Java&Selenium自动化测试之数据驱动

    一.摘要 本片博文以四个方式展示自动化测试的数据驱动,数组.CSV.Excel.Mysql 二.TestNG&Csv&Driven package testNGWithDataDriv ...

  9. BZOJ5206 [Jsoi2017]原力[根号分治]

    这是一个三元环计数的裸题,只是多了一个颜色的区分和权值的计算罢了. 有一种根号分治的做法(by gxz) 这种复杂度的证明特别显然,思路非常简单,不过带一个log,可以用unordered_map或者 ...

  10. jQuery 查找父节点 parents()与closest()

    parents()由内向外,直到最高的父节点停止查找,返回的父节点是多个 closest()由内向外查找,当找到符合规则的一个,则不再查找,返回的是0或1个