基于 NAT(地址转换模式)构建 LVS 负载均衡

LVS 基本配置详解请参考博文:https://blog.51cto.com/14227204/2436891
案例环境:

实现结果如下:

  • 使用NAT模式的群集技术,LVS负载调度器是所有节点访问Internet的网关服务器,其200.0.0.1也作为整个群集的VIP地址。
  • 使用轮询(rr)的调度算法。
  • web1和web2先搭建web服务,分别准备不同的网页文件,供客户端访问,以此来确定client访问LVS服务器的200.0.0.1,可以访问到两台wbe服务器。
  • 待client测试成功后,web1和web2便可以挂载NFS服务器提供的共享目录,以此来为client提供相同的网页文件。
    一、准备:
    1、先把网络调试至互通
    2、准备系统镜像和相关的软件包,以便搭建httpd服务,和安装相关工具。这里为了方便,便直接使用系统映像中的安装包来搭建httpd服务。
    3、配置防火墙策略放行流量(图个方便,我这里直接停掉了防火墙)
    二、配置负载调度器:
    开启路由转发功能:
    [[email protected] /]# vim /etc/sysctl.conf
    ...................       // 省略部分
    net.ipv4.ip_forward = 1
    [[email protected] /]# sysctl -p
    net.ipv4.ip_forward = 1

    配置负载分配策略:

    [[email protected] /]# modprobe ip_vs                   # 加载 ip_vs 模块
    [[email protected] /]# cat /proc/net/ip_vs             # 查看版本信息,弹出如下所示,说明该模块已启动
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn

    ipvsadm 是在负载调度器上使用的 LVS 群集管理工具,通过调用 ip_vs 模块来添加、删除服务器节点,以及查看群集的运行状态(需要手动安装)。

    [[email protected] /]# yum -y install ipvsadm              # 安装 ipvsadm
    [[email protected] /]# ipvsadm -v                       # 查看版本信息
    ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
    [[email protected] /]# ipvsadm -C                 # 清除原有策略
    [[email protected] /]# ipvsadm -A -t 200.0.0.1:80 -s rr
    [[email protected] /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.10:80 -m -w 1
    [[email protected] /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.20:80 -m -w 1
    [[email protected] /]# ipvsadm-save            # 保存策略
    -A -t localhost.localdomain:http -s rr
    -a -t localhost.localdomain:http -r 192.168.1.10:http -m -w 1
    -a -t localhost.localdomain:http -r 192.168.1.20:http -m -w 1
    [[email protected] /]# systemctl enable ipvsadm.service            # 设置为开机自启

    配置节点服务器:
    web1 配置:

    [[email protected] /]# yum -y install httpd              # 安装 http 服务
    [[email protected] /]# echo test1.com > /var/www/html/index.html            # 准备测试网页
    [[email protected] /]# systemctl start httpd               # 开启服务
    [[email protected] /]# systemctl enable httpd           # 开机自启

    web2 配置:

    [[email protected] /]# yum -y install httpd              # 安装 http 服务
    [[email protected] /]# echo test2.com > /var/www/html/index.html             # 准备测试网页
    [[email protected] /]# systemctl start httpd
    [[email protected] /]# systemctl enable httpd

    当然,在实际生产环境时,网页内容都是一样的,这里为了区分验证从实验的成功与否,我写了两个内容不同的测试文件。
    测试一下 LVS 是否在工作:

    刷新网页:

    三、NFS 共享存储服务:
    搭建 NFS 共享使两台web服务器共同挂载同一个NFS服务器共享的目录,以此来提供相同的网页文件。
    安装 nfs-utils、rpcbind 软件包:

    [[email protected] /]# yum -y install nfs-utils rpcbind        # 安装软件包
    [[email protected] /]# systemctl enable nfs                    # 设置为开机自启
    [[email protected] /]# systemctl enable rpcbind

    这两软件包我使用 rpm-qa 在Centos 7 上查看的时候是有的,具体这里本人也不是很清楚到底是不是安装系统时自带的,所以在做时还是敲一下这命令吧,以防万一嘛,如有大佬知道的,还烦请告知小弟。(拜谢)
    设置共享目录:

    [[email protected] /]# mkdir -p /opt/wwwroot              # 创建共享目录
    [[email protected] /]# vim /etc/exports                       # 修改 NFS 主配置文件
    /opt/wwwroot    192.168.2.0/24(rw,sync,no_root_squash)
    --rw:允许读写,ro 为只读
    --sync:表示同步写入
    --no_root_squash:当客户机以 root 身份访问时赋予本地的 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)
    [[email protected] wwwroot]# echo nfs.test.com > index.html            # 准备测试文件
    [[email protected] /]# systemctl restart rpcbind             # 重启服务使配置生效
    [[email protected] /]# systemctl restart nfs
    [[email protected] /]# showmount -e                        # 查看本机发布的共享目录
    Export list for localhost.localdomain:
    /opt/wwwroot 192.168.2.0/24

    在两台 web 主机上挂载 NFS 共享目录,并配置为开机自动挂载

    [[email protected] /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/            # 在两台 web 主机上都执行此操作
    [[email protected] /]# df -hT /var/www/html/                  # 查看是否挂载成功
    Filesystem               Type  Size  Used Avail Use% Mounted on
    192.168.2.1:/opt/wwwroot nfs4   50G  4.0G   47G   8% /var/www/html
    [[email protected] /]# vim /etc/fstab                          # 设为开机自动挂载
    192.168.2.1:/opt/wwwroot        /var/www/html   nfs     defaults,_netdev 0 0

    测试验证:

    .
    我们看到 NFS 上写的测试文件已经访问成功,但无论怎么刷新都不会变,这就说明 LVS 负载均衡也就成功了。

当LVS服务器重启后,LVS规则将会丢失,这就用到了备份,需要注意的是,备份时的主机名和恢复时的主机名必须一致,并且需要注意网卡优先的问题,否则在恢复后,会发现VIP(群集的虚拟IP)变成了LVS服务器的另一个IP地址

[[email protected] /]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak            # 先备份一分
[[email protected] /]# ipvsadm -ln    #    查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[[email protected] /]# ipvsadm-restore <  /etc/sysconfig/ipvsadm.bak            # 恢复策略
[[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  200.0.0.1:80 rr                                          # 注意这里是否还是原来的 VIP
  -> 192.168.1.10:80              Masq    1      0          0
  -> 192.168.1.20:80              Masq    1      0          0         

原文地址:https://blog.51cto.com/14227204/2437018

时间: 2024-08-21 09:56:35

基于 NAT(地址转换模式)构建 LVS 负载均衡的相关文章

#构建LVS负载均衡群集之地址转换模式(LVS-NAT)

构建LVS负载均衡群集之地址转换模式(LVS-NAT) 试验环境:本实验共需要五台虚拟机,一台作为调度服务器的Linux虚拟机.两台作为真实服务器的Linux虚拟机,一台作为NFS服务器的Linux虚拟机,一台用于最后用于测试访问的win7虚拟机(也可以用自己的宿主机访问). 网址规划:作为调度服务器的Linux需要配置双网卡,公网网卡IP地址ens33:12.0.0.1 私网地址ens37:192.168.1.1 两台真实服务器的IP:192.168.1.8 192.168.1.9 NFS服务

CentOS7.4——构建LVS负载均衡群集—地址转换模式(LVS-NAT)

LVS负载均衡群集-地址转换模式(LVS-NAT)环境:调度服务器一台:Linux-CentOS7.4IP地址:192.168.80.20(内网)192.168.90.20(外网)Web服务器两台:Linux-CentOS7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.80.40(SERVER BB)客户端一台:以win7为例,用于测试验证IP地址:192.168.80.2(内网)IP地址:192.168.90.2(外网) 第一步:配置调度服务器//加载

构建LVS负载均衡群集

概述:群集(或集群),表示一群.一串的意思,用在服务器领域则表示大量服务器的集合体,以区分于单个服务器.实验要求:需要五台Linux虚拟机,四台Centos7,一台windows7,设置为仅主机模式.Centos7-1作负载调度器.网关,需要配置双网卡.外网地址:12.0.0.1内网地址:192.168.200.1Centos7-2.Centos7-3作节点服务器web1:192.168.200.110Web2:192.168.200.120Centos7-4作NFS共享存储设备IP:192.1

构建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负载均衡集群架构介绍

为什么需要使用负载均衡呢?这是一个必较重要的问题 实际生产环境中某单台服务器已不能负载日常用访问压力时,就需要使用负载均衡,把用户的请求数据分担到(尽可能平均分配)后端所有功能同等的集群的节点上,同样也是为了解决单台服务器故障问题,从而提高用户的访问体验. 1.LVS的介绍 LVS(linux virtual server)LINUX虚拟服务器,是一个虚拟的服务器集群系统,可以在linux和unix系统中运行,1985年开发研究的项目 http://www.linuxvirtualserver.

CentOS7上部署LVS负载均衡群集之LVS-NAT(地址转换模式)

CentOS7中的LVS负载均衡群集之LVS-NAT(地址转换模式) 简介 在当今各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等的要求越来越高,单台服务器将难以承担所有的访问.除了使用价格昂贵的大型机.专用负载分流设备以外,企业还有另外一种选择来解决难题,就是构建集群服务器--通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务. 负载均衡群集:以提高应用系统的响应能力.尽可能处理更多的访问请求.减少延迟为目标,获得高并发.高负载的整体性能. 实验介绍 环境

LVS负载均衡群集之构建NAT模式,可跟做!!!

有关于LVS负载均衡群集的相关概念可以参考博文:LVS负载均衡群集详解 一.案例概述 LVS负载均衡模式-NAT模式:NAT用法本来是因为网络IP地址不足而把内部保留IP地址通过映射转换成公网地址的一种上网方式(源地址NAT).如果把NAT的过程稍微变化,就可以 成为负载均衡的一种方式.原理其实就是把从客户端发来的IP包的IP头目的地址在DIR上换成其中一台Web节点服务器的IP地址并发至此Web节点服务器,而Web节点服务器则在处理完成后把数据经过DIR主机发回给客户端,DIR在这个时候再把数

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

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

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

具体如何实现电商网站请参看博客:http://13150617.blog.51cto.com/13140617/1978954 实验一.实现基于NAT模式的LVS负载均衡: 准备三台主机:一台Director(桥接网卡.仅主机网卡): DIP:192.168.199.145 VIP:172.17.111.117 一台后台服务器(仅主机):RIP:192.168.199.146  配置有电商网站 一台后台服务器(仅主机):RIP:192.168.199.143  配置有电商网站 步骤: 一.Dir