一、环境准备
配置环境:
负载调度器:配置双网卡 内网:172.168.1.11(ens33) 外网卡:12.0.0.1(ens37)
二台WEB服务器集群池:172.168.1.12、172.168.1.13
一台NFS共享服务器:172.168.1.14
客户端:
关闭防火墙和selinux
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0

二、部署共享存储(NFS服务器:172.168.1.14)
1. 启动 nfs 服务
yum install nfs-utils rpcbind -y
#安装nfs服务
systemctl start nfs


2. 新建目录,并创建站点文件
[root@localhost opt]#mkdir /opt/test1 /opt/test2
[root@localhost opt]#echo 'this is test1!' > /opt/test1/index.html
[root@localhost opt]#echo 'this is test2!' > /opt/test2/index.html

3. 设置共享策略
[root@localhost opt]#vim /etc/exports
/opt/test1 *
/opt/test2 *
[root@localhost ~]#exportfs -rv
#发布服务

三、部署节点服务器(172.168.1.12、172.168.1.13)
[root@localhost ~]#rpm -qa |grep nfs
[root@localhost ~]#showmount -e 172.168.1.14
#查看nfs服务

1. 节点服务器1(172.168.1.12)
1.1 安装 httpd 服务
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]#

1.2 挂载站点
mount 172.168.1.14:/opt/test1 /var/www/html

1.3 测试

2. 节点服务器2(172.168.1.13)
2.1 安装 httpd 服务
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]#

2.2 挂载站点
mount 172.168.1.14:/opt/test2 /var/www/html
2.3 测试

四、调度服务器
1. 添加一块网卡

2. 配置新网卡
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-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
GATEWAY=12.0.0.1
DNS1=8.8.8.8
DNS2=114.114.114.114

3. 配置 ens33 网卡
vim 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=e6eab2a6-16f2-4b63-b5ba-f08de4938357
DEVICE=ens33
ONBOOT=yes
IPADDR=172.168.1.11
NETMASK=255.255.255.0
GATEWAY=172.168.1.11
DNS1=8.8.8.8
DNS2=114.114.114.114

[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ip a

4. 打开路由转发功能
[root@localhost network-scripts]#vim /etc/sysctl.conf
#打开路由转发功能
net.ipv4.ip_forward = 1
[root@localhost network-scripts]#sysctl -p
net.ipv4.ip_forward = 1


5. 安装 ipvsadm
5.1 网络源安装
yum install ipvsadm* -y
5.2 本地yum仓库安装
[root@localhost network-scripts]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0

[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/ #挂载
[root@localhost yum.repos.d]# yum clean all #清缓存
[root@localhost yum.repos.d]# yum makecache #建立元信息
[root@localhost yum.repos.d]# yum install ipvsadm.x86_64 -y #安装
6. 开启 ipvsadm 软件
[root@localhost yum.repos.d]# ipvsadm-save >/etc/sysconfig/ipvsadm
#保存配置文件
[root@localhost yum.repos.d]# systemctl start ipvsadm.service

7. 配置负载调度器 ipvsadm
[root@localhost yum.repos.d]# ipvsadm -C
#清空策略
[root@localhost yum.repos.d]# ipvsadm -A -t 12.0.0.1:80 -s rr
#指定IP地址 外网的入口 -s rr 轮询
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.12:80 -m
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -m指定nat模式
[root@localhost yum.repos.d]# ipvsadm -a -t 12.0.0.1:80 -r 172.168.1.13:80 -m
#
[root@localhost yum.repos.d]# ipvsadm -ln
#查看策略
[root@localhost yum.repos.d]# ipvsadm
#启动
8. 测试
此时还有问题,需要修改一下网卡配置

[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# route -n



