LVS集群之DR模式
今天来讲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 ~]# ./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模式的更多相关文章
- Linux系统(五)负载均衡LVS集群之DR模式
序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...
- LVS集群之DR模式 实现
ps:做 dr 模式 之前,先把之前做过的操作清空掉 1.ipvsadm -ln 查看规则 2.ipvsadm -C 清空规则 3.ipvsadm -ln 确认 4.iptables -t nat - ...
- LVS集群之NAT模式实现
LVS集群之NAT模式实现 一.集群的种类 集群系统主要分为 1.HA:高可用集群,又叫双机热备. (a)原理 2台机器A,B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至 ...
- LVS集群之NAT模式实例(3)
LVS集群NAT模式实例 1. 实验拓扑图 DS 必须有两块网卡,需要在上面做NAT. 2. 实验环境 3台CentOS6.4 64bit的服务器. 类型 IP DR eth0:10.20.73.20 ...
- Linux系统(四)负载均衡LVS集群之NAT模式
序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...
- LVS集群之NAT模式
集群的分类: (1)HA:高可用集群,有叫双机热备 原理:两台机器A.B,正常是A提供服务,当A机宕机或者服务有问题时,会切换到B机继续提供服务常用的高了永软件:heartbeat和keepalive ...
- LB负载均衡集群及DR模式配置
一.系统环境准备: 1.dir服务器 主机名称:dir 系统环境:CentOS release 6.5 (Final) 外网ip:192.168.1.203(网络模式桥接) vip:192.168.1 ...
- Lvs+keepAlived实现负载均衡高可用集群(DR实现)
第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...
- 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 ...
随机推荐
- docker部署redis
镜像获取 docker pull redis:4.0 ##当前最新版本 docker images 启动 docker run --name redis-huiyuan -p : -v $PWD/da ...
- 通过ADB调试安卓程序
ADB,即 Android Debug Bridge,它是Android开发/测试人员不可替代的强大工具. 1.下载ADB后,将以下四个文件放到某个文件夹下即可.因为打开Cmd默认路径是 C:\Use ...
- 安装 node.js npm,cnpm
参考:https://blog.csdn.net/suiyuehuimou/article/details/74143436 https://www.liaoxuefeng.com/wiki/0014 ...
- MYSQL AND 和 OR
AND 和 OR 如果你失忆了,希望你能想起曾经为了追求梦想的你. QQ群:651080565(php/web 学习课堂) 我们查询数据的时候,会使用条件来过滤数据,达到筛选效果,过 ...
- 字节流、字符串、16进制字符串转换__java
package com.dvn.li.main; /** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转 ...
- CHD-5.3.6集群安装
我是基于Apache-hadoop2.7.3版本安装成功后,已有的环境进行安装chd-5..6 已用的环境: JDK版本: java version "1.8.0_191" Jav ...
- Mysql(八):ORM框架SQLAlchemy
一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取 ...
- aop 的一些表达式
切入点的表达式 execution(void cn.itcast.e_xml.a_before.UserServiceImpl.saveUser(java.lang.String,java.lang. ...
- Vue介绍:vue项目搭建
一.环境搭建 二.项目创建 三.认识项目 四.项目功能 一.环境搭建 *安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ *安装cnpm npm insta ...
- PHP判断是否有Get参数的方法
PHP如何判断是否有Get参数,方法很简单,一个函数就可以搞定,需要的朋友可以参考下 if(is_array($_GET)&&count($_GET)>0)//判断是否有Get参 ...