环境环境:

共五台服务器

一台load调度器(网关):两块网卡      外:12.0.0.1                       内:192.168.200.1

两台sever-web网站服务器:apache     web01:192.168.200.110     web02:192.168.200.120

一台shave共享存储                              192.168.200.130

一台interent客户端                              12.0.0.12    


注:在虚拟机环境下做实验,由于服务器要处于仅主机模式下,

       所以需提前将每个服务器所需下载的安装包配置好。


实验步骤:

------------------------------------1、安装所需环境包:-----------------------------------------
#shave:
yum install -y nfs-utils rpcbind
#server-web01
yum install -y httpd
#server-web02
yum install -y httpd
#load
yum install -y ipvsadm
----------------------------------2、五台服务器都设置网卡为仅主机模式,配置ens33-------------------------
#slave、web01、web02、load、win10
vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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="ens33"
UUID="39248c70-2e9e-4b84-8a0b-34e261c03851"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.200.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.200.1"
systemctl restart network
systemctl stop firewalld.service 
setenforce 0
#load   ens36
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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"
DEVICE="ens36"
ONBOOT="yes"
IPADDR="12.0.0.1"
NETMASK="255.255.255.0"
----------------------------------------3、编辑slave配置文件---------------------
systemctl start rpcbind
systemctl start nfs
vim /etc/exports
/usr/share *(ro,sync)
/opt/benet 192.168.200.0/24(rw,sync)
/opt/accp 192.168.200.0/24(rw,sync)
#共享目录通过只读,同步方式允许范围*为所有人
#为节点服务器创建的两个站点,benet和accp,目录创建好之后通过lvm挂载过去,允许范围200网段,可读可写
                 
#创建共享目录:
mkdir benet accp
chmod 777 accp/ benet/
ls -l
------------------------------------------4、slave发布共享---------------------------------------
exportfs -rv
exporting 192.168.200.0/24:/opt/accp
exporting 192.168.200.0/24:/opt/benet
exporting *:/usr/share
-----------------------------------------5、配置web01、web02--------------------------------
#web01
systemctl start httpd
netstat -natp | grep 80
ping 192.168.200.130
showmount -e 192.168.200.130
mount.nfs 192.168.200.130:/opt/accp /var/www/html
df -h
tmpfs                      183M   24K  183M   1% /run/user/0
192.168.200.130:/opt/accp   38G  3.5G   35G  10% /var/www/html
cd /var/www/html     //创建测试文件
echo "this is accp web" > index.html
#shave         //查看备份是否成功
cd /opt/accp
ls
#web02
//web02 为benet
systemctl start httpd
showmount -e 192.168.200.130
mount.nfs 192.168.200.130:/opt/benet /var/www/html
cd /var/www/html     //创建测试文件
echo "this is benet web" > index.html
---------------------------------------6、配置load------------------------------------------
#添加一块网卡
#两块网卡都配置静态ip
#不用关闭防火墙
systemctl restart network
ifconfig
------------------------------#做路由转发
vim /etc/sysctl.conf                      //末行插入
net.ipv4.ip_forward=1
sysctl -p                  //加载生效
iptables -t nat -F          //清空nat缓存
iptables -F                   //清空转发表
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1
#使用web01验证
ping 12.0.0.12
---------------------#回到load,做调度
-------加载lvs内核
modprobe ip_vs
cat /proc/net/ip_vs
ipvsadm --save > /etc/sysconfig/ipvsadm                              //保存
systemctl start ipvsadm.service                                                  //启动管理工具
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.110:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.120:80 -m
ipvsadm
#清楚缓存
#添加虚拟服务器,指定服务器,指定算法
#通过服务器找到真实的节点服务器,-m 指定nat模式
source nat.sh            //启动脚本
----------------------------------------测试实验结果-------------------------------------------
win10 
网站访问:12.0.0.1