构建 LVS-NAT 负载均衡群集


实验环境:

主机 操作系统 IP地址
LVS 负载调度器 CentOS 7.3 x86_64 内:192.168.1.100 外:12.0.0.1
web 服务器 1 CentOS 7.3 x86_64 192.168.1.101
web 服务器 2 CentOS 7.3 x86_64 192.168.1.102
NFS 共享储存 CentOS 7.3 x86_64 192.168.1.103
客户机 Windows 7 12.0.0.12

构建 LVS-NAT 负载均衡群集

注:LVS 调度器充当网关服务器,要有两个网卡。

配置 NFS

  1. 关闭防火墙 ,编辑配置文件:

    vim /etc/exports
    /opt/benet 192.168.1.0/24(rw,sync)    #读写 远程同步
    /opt/accp 192.168.1.0/24(rw,sync)

    注:共享的文件夹 ,如果不存在要创建 ,现实中可以做磁盘阵列挂载在共享的文件夹 。

  2. 创建共享的文件夹 ,添加文件的权限:

    mkdir /opt/benet /opt/accp    
    chmod 777 benet accp         
  3. 开启服务 ,发布共享 :

    systemctl start rpcbind.service       #开启远程过程调用协议
    systemctl start nfs.service              #开启nfs服务
    exportfs -rv                                     #发布共享
    showmount -e 192.168.1.103        #测试本机是否共享

    注:有些系统可能 ,没有安装 nfs-utils 用于NFS共享发布和访问 。

配置 web 服务器

  1. 安装 httpd 服务 ,编辑配置文件:

    vim /usr/local/apache/conf/httpd.conf  
    Listen 192.168.1.101:80                      #修改IP                            
    ServerName www.yun.com:80            #更改域名          
  2. 挂载 NFS 提供的文件共享:

    showmount -e 192.168.1.103                                             #检测是否有共享文件
    mount.nfs 192.168.1.103:/opt/benet /var/www/html           #把NFS 提供的共享文件 挂载在httpd 站点里  
  3. 添加一个 httpd 首页 ,关闭防火墙 :

    echo "this is benet " > /var/www/html/index.html
    systemctl stop firewalld.service                          

    注:可以本地测试能否打开测试首页 ,两台 web 服务器配置一样 ,添加不一样的首页以作区分 。

配置 LVS 负载调度器

  1. 安装双网卡 ,作为网关服务器使用 。

  2. 开启路由转发功能:

    vim /etc/sysctl.conf            
    net.ipv4.ip_forward=1       #添加 
    sysctl -p                            #立即生效
  3. 加载 LVS 模板:

    modprobe ip_vs                    #加载模板 
    cat /proc/net/ip_vs                #查看版本信息
  4. 安装管理软件 ,添加服务器节点 ,开启服务:

    yum install ipvsadm -y 
    ipvsadm -C                                         #清除服务器节点
    ipvsadm -A -t 12.0.0.1:80 -s rr           #添加虚拟服务器
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.101:80 -m
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.1.102:80 -m
    ipvsadm --save  > /etc/sysconfig/ipvsadm            #保存策略   (在7以上开启ipvsadm服务需要)
    ipvsadm -ln     #查看节点状态
    ipvsadm          #开启服务

    注:-A 添加虚拟服务器、 -s 负载调度算法、 rr 轮询 、 -a 添加真实服务器 、-t 指定虚拟IP及TCP端口、-r 指定真实IP及TCP端口、-m 使用 NAT 群集模式 、-d 删除

  5. 设置防火墙规则:

    iptables -t nat -F         #清除nat表里的规则
    iptables -F                  #清除防火墙默认表规则链
    iptables -t nat -A POSTROUTING -o ens34 -s 192.168.1.0/24 -j SNAT --to-source 12.0.0.1            

    注: -o 出口网卡 12.0.0.1 网卡名称

测试

打开 win 访问 12.0.0.1

构建 LVS-NAT 负载均衡群集构建 LVS-NAT 负载均衡群集

注:有时候刷新可能不会跳转 ,需要清除缓存。