【LVS】负载均衡集群NAT模式

LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。LVS可以实现LINUX平台下的简单负载均衡。

其中LVS/NAT是一种最简单的方式,所有的RealServer只需要将自己的网关指向Director即可。

LVS负载均衡的NAT模式

一、实验准备

在VMware Workstation虚拟机环境下,准备三台服务器,一台作为director, 两台作为real server。

二、网络配置

director需要配置两块网卡,一块(eth0)与real server连接的内网,另外一块(eth1)连接到公网。

配置参考如下:

director:eth0 192.168.20.28/24 (内网)

eth1 192.168.1.33/24 (外网)

real server1:eth0 192.168.20.138

real server2:eth0 192.168.20.250

这三台服务器在192.168.20.0/24能互相通信

实现方法:

1、虚拟机网络模式选择【自定义VMnet1】,在这里的LVS-NAT实验中需要设置director的eth0和两台real server的eth0为自定义VMnet1模式,而director的eth1则设置为桥接模式,可以直接使用外网。

2、客户机Windows机器上VMnet1的IP设置,设置成与LVS的三台服务器eth0的IP在同一个网段,目的是为了能与三台LVS服务器通信,方便做试验

3、具体配置如下,real server1、2的网关均指向192.168.20.28

director:

DEVICE=eth0(内网)
HWADDR=00:0C:29:92:99:4D
TYPE=Ethernet
UUID=5c49f4f6-154d-43cd-ab8c-d84df2838d01
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.20.28
NETMASK=255.255.255.0

DEVICE=eth1(外网)
HWADDR=00:0c:29:92:99:57
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.33
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

real server1:

DEVICE=eth0
HWADDR=00:0C:29:BE:49:72
TYPE=Ethernet
UUID=2e41da17-945e-4ce8-9646-178ce035984e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.20.138
NETMASK=255.255.255.0
GATEWAY=192.168.20.28

real server2:

DEVICE=eth0
HWADDR=00:0C:29:8B:40:4A
TYPE=Ethernet
UUID=00ac2932-56ea-434f-b3e2-b6499d552879
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.20.250
NETMASK=255.255.255.0
GATEWAY=192.168.20.28

三、LVS/NAT 配置

1、安装epel扩展源、nginx(测试用)(nginx在real server下安装)

wget http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

[[email protected] ~]# yum -y install nginx

2、测试页面

[[email protected] ~]# echo "sr1-192.168.20.138" >/usr/share/nginx/html/index.html

[[email protected] ~]# echo "sr2-192.168.20.250" >/usr/share/nginx/html/index.html

3、Director 下安装ipvsadm

[[email protected] ~]# yum -y install ipvsadm

4、配置ipvsadm,创建/usr/local/sbin/lvs_nat.sh脚本

#! /bin/bash
# director 服务器上开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭icmp的重定向
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/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects

# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.20.0/24  -j MASQUERADE
# director设置ipvsadm
IPVSADM=‘/sbin/ipvsadm‘
$IPVSADM -C
$IPVSADM -A -t 192.168.1.33:80 -s wrr   (wrr表示加权轮和以下-w2 -w1对应,表示20.138权值为2,则调度到服务器20.138的请求会是服务器20.250的两倍,若设置为rr,则不需要加-w权值,表示平常分配请求)
$IPVSADM -a -t 192.168.1.33:80 -r 192.168.20.138:80 -m -w 2
$IPVSADM -a -t 192.168.1.33:80 -r 192.168.20.250:80 -m -w 1

LVS的调度算法:轮叫调度(Round Robin)(简称rr) ,加权轮叫(Weighted Round Robin)(简称wrr),最少链接(least connection)(LC),加权最少链接(Weighted Least Connections)(WLC) 等

5、开启nat服务
[[email protected] ~]# sh /usr/local/sbin/lvs_nat.sh

[[email protected] ~]# 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.1.33:80 wrr
  -> 192.168.20.138:80            Masq    2      0          0         
  -> 192.168.20.250:80            Masq    1      0          0

6、测试LVS/NAT,由于sr1的权值为2,所以响应的请求为sr1的两倍

[[email protected] ~]# curl 192.168.1.33
sr2-192.168.20.250
[[email protected] ~]# curl 192.168.1.33
sr1-192.168.20.138
[[email protected] ~]# curl 192.168.1.33
sr1-192.168.20.138
[[email protected] ~]# curl 192.168.1.33
sr2-192.168.20.250
[[email protected] ~]# curl 192.168.1.33
sr1-192.168.20.138
[[email protected] ~]# curl 192.168.1.33
sr1-192.168.20.138
[[email protected] ~]# curl 192.168.1.33
sr2-192.168.20.250
在windows下访问

时间: 2024-10-08 10:03:42

【LVS】负载均衡集群NAT模式的相关文章

构建LVS负载均衡集群--NET模式

1.准备四台虚拟机(一台Linux配置LVM,两台Web,一台windows机测试) 2.关闭Linux虚拟机的防火墙和安全机制 systemctl stop firewalld iptables -F setenforce 0 一.配置LVM主机(给主机添加两个网卡,两个网卡不在一个模式下,分别配置IP地址) 网卡一:NET模式网卡二:VMnet2模式[[email protected] ~]# ip a | grep eno 2: eno16777728: <BROADCAST,MULTIC

LVS负载均衡架设,NAT模式

lvs-nat模型:类似于DNAT,但支持多目标转发, 就是多目标的DNAT 它通过修改请求报文的目标地址为根据调度算法所挑选出的某RS的RIP来进行转发 架构特性: (1) RS应该使用私有地址,即RIP应该为私有地址,各RS的网关必须指向DIP (2) 请求报文和响应报文都经由Director转发:高负载场景中,Director易于成为系统瓶颈 (3) 支持端口映射 (4) RS可以使用任意类型的OS (5) RS的RIP必须与Director的DIP在同一网络 架设NAT模式的LVS负载均

LVS 负载均衡集群

说明:在学习LVS负载均衡集群时,最好对网络通信原理,尤其是ARP通信原理有所了解,否则,将无法理解LVS的工作原理. LVS工作原理和安装配置#################工作模式及其原理####################VS/NAT模式(即Virtual Server via Network Address Translation): 此种模式是通过网络地址转换技术来实现虚拟服务器. ##实现原理:  1.请求: 客户端发送请求到调度器,调度器将请求报文的目的地址(即虚拟IP地址)

LVS负载均衡集群技术学习笔记

一.ARP协议 1. Address Resolution Protocal地址解析协议,功能是根据主机IP地址来解析到主机的MAC地址. 2. ARP协议和DNS协议对比: a. DNS是在域名和IP之间进行解析,ARP是在IP和MAC之间解析. b. ARP协议不需要服务,DNS需要开启服务. c. ARP协议需要互联的主机处于同一个物理网段之内(即局域网环境)! 3. ARP协议工作过程(第一次通信) 4. 高可用服务器切换机器以及更换路由器的时候要注意刷新ARP缓存 5. IP切换时候A

构建高可用的LVS负载均衡集群 入门篇

一.LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org.现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能. LVS 集群采用IP负载和基于内容请求分

通过keepalived搭建高可用的LVS负载均衡集群

一.keepalived软件简介 keepalived是基于vrrp协议实现高可用功能的一种软件,它可以解决单点故障的问题,通过keepalived搭建一个高可用的LVS负载均衡集群时,keepalived还能检测后台服务器的运行状态. 二.vrrp协议原理简介 vrrp(虚拟路由器冗余协议),是为了解决网络上静态路由出现的单点故障的问题,举个例子,如下图 主机A和B均在同一个局域网内,C和D均是该局域网的网关,即A和B想与外网通信,需指网关到C或D,那究竟指向C好还是指向D好呢?都不好!当指向

企业实战-实现基于LVS负载均衡集群的电商网站架构

实现LVS-DR工作模式: 环境准备:一台centos系统做DR.两台实现过基于LNMP的电子商务网站 机器名称 IP配置 服务角色 备注 lvs-server VIP:172.17.252.110 DIP:172.17.250.223 负载均衡器 开启路由功能 (VIP桥接) rs01 RIP:172.17.251.245 后端服务器 网关指向DIP(桥接) rs02 RIP:172.17.252.87 后端服务器 网关指向DIP(桥接) 实验步骤: 一.安装: 1.yum install i

构建高可用的LVS负载均衡集群 进阶篇

一.lvs组件介绍 lvs的组件由两部分组成:工作在内核空间的ipvs模块和工作在用户空间ipvsadm工具.其中ipvsadm是规则生成工具,而ipvs是一个使规则生效的工具. 二.ipvsadm详解 构建高可用的LVS负载均衡集群 进阶篇,布布扣,bubuko.com

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

LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均衡 lvs(又称ipvs)是基于内核中的防火墙netfilter实现 2.lvs集群术语: vs:Virtual Server 虚拟服务,可称为Director.Dispatcher分发器.Balancer负载均衡器 rs:Real Server 真实服务器 CIP:Client IP 客户端IP