一、装备一台lvs调度器主机
要求两个网卡一个为内部局域网ip,一个为公网ip

#IP地址设置过程不再重复
[root@localhost ~]# ip a | grep eth0 #内网ip
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
inet 192.168.200.10/ brd 192.168.200.255 scope global eth0
[root@localhost ~]# ip a | grep eth1 #公网ip
: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
inet 192.168.100.1/ brd 192.168.100.255 scope global eth1 #开启路由功能,以便两个不同网络之间通信
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward =
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward =

安装ipvsadm软件,配置lvs负载均衡

[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# lsmod | grep "ip_vs" #查看策略中有没有
#没有添加
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# lsmod | grep "ip_vs"
ip_vs

添加负载分配策略

[root@localhost ~]# ipvsadm -A -t 192.168.100.1: -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.100.1: -r 192.168.200.111: -m -w
[root@localhost ~]# ipvsadm -a -t 192.168.100.1: -r 192.168.200.112: -m -w ———————————————————————————————————
-A:表示添加虚拟服务器
-t用来指定VIP 地址及TCP端口
-s:用来指定负载调度算法——轮询(rr)
-a:添加服务器
-r 用来指定RIP 地址及TCP 端口
-m:使用NAT 群集模式(-g DR 模式、-i TUN 模式
-w:用来设置权后重(权重为0 时表示暂停节点)

查看群集节点状态

[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.1: rr
-> 192.168.200.111: Masq
-> 192.168.200.112: Masq

二、设置两台轮询主机
#安装Apache,并开启服务,不再复述
修改两台主机的默认网关,改为lvs服务器内网IP地址

部分修改内容
第一台
[root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
IPADDR=192.168.200.112
NETMASK=255.255.255.0
GATEWAY=192.168.200.10
DNS1=8.8.8.8
~
第二台
[root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
IPADDR=192.168.200.111
NETMASK=255.255.255.0
GATEWAY=192.168.200.10
DNS1=8.8.8.8

为两台主机准备测试文件

第一台
[root@tomcat1 ~]# echo "" > /var/www/html/index.html
第二台
[root@localhost ~]# echo "" > /var/www/html/index.html

三、测试
关闭防火墙,测试

#是轮询访问
[root@localhost ~]# while : ; do curl 192.168.100.1 ;sleep ; done

构建LVS负载均衡集群——NAT模式(最简单方式)的更多相关文章

  1. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  2. LVS负载均衡集群--DR模式部署

    目录: 一.LVS-DR数据包流向分析 二.DR 模式的特点 三.LVS-DR中的ARP问题 四.DR模式 LVS负载均衡群集部署 一.LVS-DR数据包流向分析 1.为方便进行原理分析,将clien ...

  3. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  4. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  5. 项目实战2—实现基于LVS负载均衡集群的电商网站架构

    负载均衡集群企业级应用实战-LVS 实现基于LVS负载均衡集群的电商网站架构 背景:随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响 ...

  6. LVS之2---基于LVS负载均衡集群架构

    LVS之2---基于LVS负载均衡集群架构实现 目录 LVS之2---基于LVS负载均衡集群架构实现 ipvsadm software package Options 常用命令 保存及重载规则 内存映 ...

  7. 实现基于LVS负载均衡集群的电商网站架构

    背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...

  8. LVS负载均衡集群服务搭建详解(二)

    lvs-nat模型构建 1.lvs-nat模型示意图 本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7 VS内核都支持ipv ...

  9. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

随机推荐

  1. Class文件结构-常量池

    常量池里存放:1.字面量(Literal) • 文本字符串 • 声明为final的常量值(final的8种基本类型) • 非final的基本类型也可能进(doublefloatlong)2.符号引用( ...

  2. html中的a标签详解

    事故起源于一个魔鬼测试人员,某天做网站UI优化的时候,突然甩了一个问题给我 第二列的数据是可以跳转至其他页面的,但是,魔鬼测试的电脑上,一直都有一条数据是与其他的样式不同,于是便甩了这个问题给我,我一 ...

  3. JavaScript-----14.内置对象 Array()和String()

    5. 数组对象 5.1数组的创建 之前提到过数组的创建方式 字面量 new Array() //创建数组的两种方式 //1.利用数组字面量 var arr = [1, 2, 3]; console.l ...

  4. redis启动错误: Warning: no config file specified, using the default config. In order to specify a config

    redis启动错误: Warning: no config file specified, using the default config. In order to specify a config ...

  5. asp开发类型判段

    Asp的东西有许多,asp的类型便是其中之一,如同Asp的数据类型只需一个那便是"variant ". 它是一种特别的数据类型可以依据它的运用标明许多不同品种的信息(cnhfjj) ...

  6. Ruby入门1

    由于部门的自动化是由一个前辈实现的,他使用的Ruby的语言来实现的,所以需要学习一下Ruby语言,争取在15天左右可以掌握Ruby语言!加油~~~ 1.常量&变量 # 1.常量 # 一般用大写 ...

  7. C++笔记——快读快写

    直接开始吧 额m~,这里就没什么好说的了,无非就是用getchar加快cin或printf的读入速度. 代码: inline int read() { int X=0; bool flag = 1; ...

  8. vuex动态引入store modules

    主要解决的问题每次建一个module需要自己去主index.js里面去注册 为了偷懒,也为了避免团队开发时同时对index.js 进行修改引发冲突 所以在index.js中 动态的对子目录和模块进行注 ...

  9. 地图SDK全新版本v4.3.0上线 - 新增多项功能及优化

    以下内容转载自腾讯位置服务公众号的文章<地图SDK全新版本v4.3.0上线 - 新增多项功能及优化!> 作者:腾讯位置服务 链接:https://mp.weixin.qq.com/s/hb ...

  10. Swift实战技巧

    Swift实战技巧 从OC转战到Swift,差别还是蛮大的,本文记录了我再从OC转到Swift开发过程中遇到的一些问题,然后把我遇到的这些问题记录形成文章,大体上是一些Swift语言下面的一些技巧,希 ...