LVS(三)LVS集群NAT模式

Stella981
• 阅读 540

LVS集群NAT模式

一 Director服务器环境

1.查看Director服务器内核中是否有IPVS的功能

#显示IPVS配置信息以及支持的调度算法grep -i 'vs' /boot/config-3.10.0-514.el7.x86_64

...
# IPVS scheduler
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
...

2 Director服务器安装IPVSADM以及相关命令详解

yum install -y ipvsadm

2.1 IPVSADM查看集群服务

ipvsadm -L|l -n  数字格式显示主机地址和端口--stats 统计数据--rate 速率--timeout 显示tcp tcpfin 和udp的会话超时时长-c 显示当前的ipvs连接状况

2.2 IPVSADM管理集群服务

ipvsadm -A|E -t|u|f service-address [-s scheduler]

-A 添加-E 修改-t TCP协议的集群(WEB服务的80端口)-u UDP协议的集群(DNS)service-address Director地址-f 防火墙标记service-address Mark Number-s scheduler 调度方法(默认WLC)

2.3 IPVSADM管理集群服务中的RealServer

ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]

-a 添加-e 修改-t TCP协议的集群-u UDP协议的集群-f 防火墙标记service-address 已经定义好的集群服务(172.168.200.201)-r real serverserver-address RealServer 地址-g LVS gateway(DR) 模型(默认)-i internet (TUN)模型-m Masquerading (NET)模型-w weight RealServer权重

2.4 删除所有集群服务

ipvsadm -C

2.5 保存规则

ipvsadm -S > /path

2.6 载入此前保存的规则

ipvsadm -R < /path

3 Director服务器网络配置

VirtualBox:管理-全局设定-网络-仅主机(Host-Only)网络-添加

Director虚拟机:设置-网络-网卡1-连接方式-桥接网卡

Director虚拟机:设置-网络-网卡2-勾选启用网络连接-连接方式-仅主机(Host-Only)网络

编辑enp0s3网卡1(桥接网卡)

目录:/etc/sysconfig/network-scripts/

vi ifcfg-enp0s3 

#静态IP
BOOTPROTO=static
#网络名称
NAME=enp0s3
#网卡名称
DEVICE=enp0s3
#开机启动
ONBOOT=yes
#IP
IPADDR=192.168.43.201
#网关
GATEWAY=192.168.43.1
#DNS
DNS1=8.8.8.8
DNS2=114.114.114.114

编辑enp0s8网卡2(仅主机网卡)

目录:/etc/sysconfig/network-scripts/

 vi ifcfg-enp0s8 

#静态IP
BOOTPROTO=static
#网络名称
NAME=enp0s8
#网卡名称
DEVICE=enp0s8
#开机启动
ONBOOT=yes
#IP(RealServer的网关)
IPADDR=172.168.200.201

 二 RealServer服务器网络配置

先将RealServer网络设置成桥接模式,上传TOMCAT,并安装JDK。

然后将RealServer网络模式修改为仅主机网络模式

1 编辑网卡文件

#静态IP
BOOTPROTO=static
#网络名称
NAME=enp0s3
#网卡名称
DEVICE=enp0s3
#开机启动
ONBOOT=yes
#IP
IPADDR=172.168.200.202
#网关(Director的内网IP)
GATEWAY=172.168.200.201

2 关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

如不关闭防火墙测试时会报错(No route to host)

4 修改Tomcat默认启动端口为80

~/tomcat/conf/server.xml

5.修改Tomcat默认主页

~/tomcat/bin/webappes/ROOT/index.jsp

<html>
    <head>     
    </head>
    <body>
        <div>
        RealServer One(Two)
        </div>
    </body>
</html>

三 在Director服务器添加集群服务

1.添加Director

ipvsadm -A -t 192.168.43.201:80 -s rr

2.添加RealServerOne

ipvsadm -a -t 192.168.43.201:80 -r 172.168.200.202 -m

3.添加RealServerTwo

ipvsadm -a -t 192.168.43.201:80 -r 172.168.200.203 -m

4.查看配置

ipvsadm -L -n

5.打开网卡转发

查看:cat /proc/sys/net/ipv4/ip_forward

默认配置:0

修改配置:echo 1 >  /proc/sys/net/ipv4/ip_forward

6.保存配置

ipvsadm -S > /etc/sysconfig/ipvsadm.myconf

7.验证

访问Director主机http://192.168.43.201,RealServer One 和RealServer Two交替出现。

LVS(三)LVS集群NAT模式

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Keepalived LVS
KeepalivedLVSDR单网络双活双主配置模式Linux就该这么学 今天LVS是LinuxVirtualServer的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)、十种调度算法(rrr|wr
Stella981 Stella981
2年前
Keepalived+Nginx实现高可用和双主节点负载均衡
简介Nginx可以实现高并发反向代理,lvs集群可以实现负载均衡,但是他们都有一个共同的弊端,就是Nginx,lvs架构中Director是单点故障,有没有一个好的方案解决这个问题呢?答案是有。通过Keepalived就可以实现,前端Nginx,lvs中Director服务器的高可用和负载均衡,通过shell命令或者脚本可以实现对服务器状态和服务的监控!
Wesley13 Wesley13
2年前
1. LVS概述
1.LVS介绍  LVS是linuxvirtualserver的简写linux虚拟服务器,是一个虚拟的服务器集群系统,可以再unix/linux平台下实现负载均衡集群功能2.LVS组成 LVS由2部分程序组成,包括ipvs(嵌入到linux的内核,不需要安装)和ipvsadm(https://www.oschina
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这