构建LVS-NAT负载均衡群集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建LVS-NAT负载均衡群集相关的知识,希望对你有一定的参考价值。

在典型的负载均衡群集中,包括三个层次的组件:
第一层,负载调度器:这是访问整个群集系统的唯一入口,对外使用所有服务器共有的VIP(Virtualp,虚拟IP)地址,也称为群集1P地址.通常会配置主,备两台调度器实现热备份,当主调度器失效以后平滑替换至备用调度器,确保高可用性。
第二层,服务器池:群集所提供的应用服务(如HTTP、FTp)由服务器池承担,其中的每个节点具有独立的RIP(RealP,真实p)地址,只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。
第三层,共享存储;为服务器池中的所有节点提供稳定,一致的文件存取服务,确保整个群集的统二性,在Linux/UNIX环境中,共享存储可以使用NAS设备,或者提供NFS(NetworkFileSystem,网络文件系统)共享服务的专用服务器。

  • 地址转换(Netwo出AddressTranslat旧n):简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。
  • IP隧道(IPTunnel):简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器。服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。
  • 直接路由(DirectRout旧g);简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。

在NAT模式的群集中,LVS负载调度器是所有节点访问Internet的网关服务器,LVS调度器具有两块网卡,分别连接内外网。

  • 实验需求
  • 服务器系统为CentOS 7
服务器 IP 需要安装配置
LSV负载调度器 内:192.168.200.1 外:12.0.0.1 双网卡 、ipvsadm
节点服务器1 192.168.200.101 NFS 、 httpd
节点服务器2 192.168.200.102 NFS 、 httpd
共享储存服务器 192.168.200.104 NFS共享
外网windows7 12.0.0.12 用于测试

技术分享图片


  • 配置NFS共享服务器

    # systemctl stop firewalld.service   //关防火墙
    # setenforce 0
    # yum install nfs-utils rpcbind -y   //安装NFS服务
    # systemctl start rpcbind.service
    # systemctl start nfs.service  
    # cd /opt | mkdir benet accp  //创建共享目录
    (在实际工作中 还是要共享挂载磁盘阵列raid的目录)
    # vi /etc/exports
        /usr/share *(ro,sync)
        /opt/benet 192.168.200.0/24(rw,sync)            
        /opt/accp 192.168.200.0/24(rw,sync) 
    # exportfs -rv    //发布共享
  • 配置节点服务器1

    # yum install nfs-utils rpcbind -y   //安装NFS服务
    # systemctl start rpcbind.service
    # systemctl start nfs.service  
    # systemctl stop firewalld.service   //关防火墙
    # setenforce 0
    # systemctl start httpd.service   //开启httpd
    # showmount -e 192.168.200.104
    # mount.nfs 192.168.200.104:/opt/benet /var/www/html
    # echo "this 7.1" > /var/www/html/index.html   //添加测试页面
  • 配置节点服务器2

    # yum install nfs-utils rpcbind -y   //安装NFS服务
    # systemctl start rpcbind.service
    # systemctl start nfs.service  
    # systemctl stop firewalld.service   //关防火墙
    # setenforce 0
    # systemctl start httpd.service   //开启httpd
    # showmount -e 192.168.200.104
    # mount.nfs 192.168.200.104:/opt/accp /var/www/html
    # echo "this 7.2" > /var/www/html/index.html     //添加测试页面
  • 配置LVS负载调度器

    配置双网卡:内网为192.168.200.1    外网12.0.0.1
    # vim /etc/sysctl.conf
        net.ipv4.ip_forward=1    //添加路由转发
    # sysctl -p                    //立即生效
    # iptables -t nat -F      //清空规则
    # iptables -F
    # iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1             
      //设置DNAT策略
    
    # yum install ipvsadm -y           //安装ipvsadm
    # ipvsadm --save  > /etc/sysconfig/ipvsadm    //保存
    # systemctl start ipvsadm.service     //开启ipvsadm
    配置调度脚本
    # cd /opt
    # vim nat.sh
    #!/bin/bash 
            ipvsadm -C         (//清除内核虚拟服务器表中的所有记录//)      
            ipvsadm -A -t 12.0.0.1:80 -s rr
            ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.101:80 -m
            ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.102:80 -m
            ipvsadm             (//启用//)
    
    # source nat.sh   //启用脚本
  • 外网测试

    配置外面IP 12.0.0.12/24
    在浏览器输入 12.0.0.1  刷新多次(可以看到2个节点服务器的测试页面为成功)

技术分享图片技术分享图片

以上是关于构建LVS-NAT负载均衡群集的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Linux——LVS-NAT负载均衡群集原理搭建大白话

LVS负载均衡群集(LVS-NAT)

LVS负载均衡群集(LVS-NAT)