实战检验----超!详细的LVS-NAT模式部署攻略

实战检验----超!详细的LVS-NAT模式部署攻略

文章目录

前言

一、LVS负载均衡原理

二、实验过程

2.1:实验环境
2.2:实验架构
2.3:实验目的
2.4:实验步骤
2.4.1:配置存储服务器
2.4.2:配置WEB服务器群集池
2.4.3:配置LVS调度器
2.4.4:实验验证

前言

前面我们已经我们已经了解了负载均衡的相关知识,今天我们就来部署一下相关环境,更进一步的了解负载均衡的相关配置。

一、LVS负载均衡原理

可以参考我的博客,地址是https://blog.csdn.net/weixin_48185204/article/details/108712390

二、实验过程

2.1: 实验环境
  • 所有的服务器架构在VMware虚拟机上
  • 一台调度器:配置双网卡VM1:192.168.100.21 桥接网卡:20.0.0.21
  • 二台WEB服务器群集池:192.168.100.22、192.168.100.23,这两台服务器的网关必须指向192.168.100.21这个地址
  • 一台NFS共享服务器:192.168.100.24
  • 一台真机可以访问WEB地址
2.2:实验架构

实战检验----超!详细的LVS-NAT模式部署攻略_第1张图片

2.3:实验目的
  • win10客户机访问20.0.0.21的网址,通过nat地址转换,轮询的访问到WEB1和WEB2
  • 搭建NFS存储服务器
2.4:实验步骤
2.4.1:配置存储服务器
  • 安装NFS服务
[root@sql opt]# rpm -q nfs-utils    ####检查nfs服务是否安状,未安状就进行安装
未安装软件包 nfs-utils 
[root@sql opt]# yum -y install nfs-utils
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nfs-utils.x86_64.1.1.3.0-0.61.el7 将被 安装
--> 正在处理依赖关系 libtirpc >= 0.2.4-0.7,它被软件包 1:nfs-utils-1.3.0-0.61.el7.x86_64 需要
--> 正在处理依赖关系 gssproxy >= 0.7.0-3,它被软件包 1:nfs-utils-1.3.0-0.61.el7.x86_64 需要
#####省略字段...                                                                                                                             
完毕!
[root@sql opt]# rpm -q rpcbind  ####检查共享服务是否安装
rpcbind-0.2.0-47.el7.x86_64
[root@sql opt]# yum -y install rpcbind  ####未安装重新安装
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 rpcbind-0.2.0-47.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@sql opt]# systemctl start nfs
[root@sql opt]# systemctl start rpcbind
  • 配置共享文件
[root@sql opt]# mkdir /opt/text1 /opt/text2  ####创建测试页面
[root@sql opt]# vi /etc/exports      ####开启文件共享
/opt/text1 192.168.100.0/24(rw,sync)
/opt/text2 192.168.100.0/24(rw,sync)
~

"/etc/exports" 2L, 74C written
[root@sql opt]# systemctl restart nfs
[root@sql opt]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@sql ~]# echo www.text1.com > /opt/text1/index.html
[root@sql ~]# echo www.text2.com > /opt/text2/index.html
[root@sql opt]# systemctl restart rpcbind
[root@sql opt]# systemctl enable rpcbind
[root@sql opt]# 
2.4.2:配置WEB服务器群集池
  • 配置WEB1服务器

    • 配置NFS服务器
    
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 nfs-utils.x86_64.1.1.3.0-0.61.el7 将被 安装
    省略字段...     
    
    完毕!
    [root@WE1 opt]# showmount -e 192.168.100.24    #####查看共享情况
    Export list for 192.168.100.24:
    /opt/text2 192.168.100.0/24
    /opt/text1 192.168.100.0/24
    [root@WE1 opt]# 
    
    • 配置apache服务
    [root@WE1 opt]# yum -y install httpd
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    正在解决依赖关系
    --> 正在检查事务
    省略字段...
    完毕!
    [root@WE1 opt]# mount 192.168.100.24:/opt/text1 /var/www/html     #####挂载共享服务
    [root@WE1 opt]# vi /etc/fstab 
    
    
    #
    # /etc/fstab
    # Created by anaconda on Mon Sep 21 20:00:48 2020
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=b637b300-d90e-4665-9880-32748c87087f /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/cdrom   /mnt  iso9660    defaults 0 0
    192.168.100.24:/opt/text1/ /var/www/html/       nfs     defaults,_netdev 0 0
    ~
    
    ~
    "/etc/fstab" 13L, 576C written
    [root@WE1 opt]# systemctl start httpd
    [root@WE1 opt]# systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@WE1 opt]# 
    

    在真机上验证Apache服务是否开启

实战检验----超!详细的LVS-NAT模式部署攻略_第2张图片

验证通过,接下来通过同样的配置配置WEB2服务器,然后验证

在这里插入图片描述

WEB服务器已经搭载好

2.4.3:配置LVS调度器
  • 虚拟机添加网卡
[root@ipvsadmin ~]# nmcli connection   ####查看网卡信息
NAME        UUID                                  TYPE      DEVICE 
ens33       da8af2fb-ef53-4faa-a729-e94780e2b2b4  ethernet  ens33  
有线连接 1  d40fabe6-cca6-3a72-9c1c-06aacee5164a  ethernet  ens36  
[root@ipvsadmin ~]# ^C
[root@ipvsadmin ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
[root@ipvsadmin ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36       ####重新配置第二块网卡

PREFIX="24"
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens36"
UUID="d40fabe6-cca6-3a72-9c1c-06aacee5164a"
DEVICE="ens36"
ONBOOT="yes"
IPADDR="192.168.100.21"
PREFIX="24"
IPV6_PRIVACY="no"
~

"/etc/sysconfig/network-scripts/ifcfg-ens36" 18L, 364C written
[root@ipvsadmin ~]# systemctl restart network
  • 安装调度服务,配置
[root@ipvsadmin ~]# yum -y install ipvsadm      ####安装ipvsadm工具
已加载插件:fastestmirror
省略字段...
正在解决依赖关系
--> 正在检查事务

完毕!

[root@ipvsadmin ~]# ipvsadm -a -t 20.0.0.21:80 -r 192.168.100.22:80 -m   ####添加服务器节点
[root@ipvsadmin ~]# ipvsadm -a -t 20.0.0.21:80 -r 192.168.100.23:80 -m 
[root@ipvsadmin ~]# ipvsadm-save > /opt/ipvsadm     ####导出节点配置
[root@ipvsadmin ~]# cat /opt/ipvsadm 
-A -t ipvsadmin:http -s rr
-a -t ipvsadmin:http -r 192.168.100.22:http -m -w 1
-a -t ipvsadmin:http -r 192.168.100.23:http -m -w 1

[root@ipvsadmin ~]# vi /etc/sysctl.conf     ####开启路由重分发
省略字段.....
net.ipv4.ip_forward=1    ####最后一段插入
"/etc/sysctl.conf" 11L, 471C written
[root@ipvsadmin ~]# sysctl -p    ####将配置写入内存用来运行
net.ipv4.ip_forward = 1
2.4.4:实验验证

在真机浏览器中输入20.0.0.21这个地址,会转向到WEB服务器的测试页面
在这里插入图片描述

重新清除缓存后,会重分发跳转到另一个测试页面

在这里插入图片描述

验证成功!

※※※※实验要点※※※※

这个实验中,我发现有个要点,在配置调度器的网卡的时候,2块网卡接不设置网关,而web服务器的网关地址又要调度器的地址一致,才能使得实验成功。

你可能感兴趣的:(NAT负载均衡,LVS,重分发,mysql,分布式)