文章目录
案例环境
LVS负载调度器作为Web服务器池的网关,LVS两块网卡,分别连接内外网,使用轮询(rr)调度算法;
两个节点的首页文件保存在NFS远程共享目录中
3台Linux主机先使用NAT模式安装好各自所需软件,再切换成仅主机模式,构建出局域网。防火墙和核心防护都应先关闭掉
如下为案例拓扑图,方便大家理解
实验步骤
NFS服务器安装
1.安装nfs-utils软件包,启动服务rpcbind和nfs
[root@localhost ~]# rpm -q rpcbind #查看rpcbind软件包是否已经安装(Centos7.6自带)
rpcbind-0.2.0-47.el7.x86_64
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
2.创建共享目录并编辑配置文件
[root@localhost ~]# mkdir /opt/test01
[root@localhost ~]# mkdir /opt/test02
[root@localhost opt]# chmod 777 test01
[root@localhost opt]# chmod 777 test02
[root@localhost ~]# vim /etc/exports #写入共享目录
/opt/test01 192.168.100.0/24(rw,sync)
/opt/test02 192.168.100.0/24(rw,sync)
3.发布共享目录
[root@localhost ~]# exportfs -rv
exporting 192.168.100.0/24:/opt/test02
exporting 192.168.100.0/24:/opt/test01
4.两个节点上查看共享目录,分别进行挂载
[root@localhost ~]# showmount -e 192.168.100.50
Export list for 192.168.100.50:
/opt/test02 192.168.100.0/24
/opt/test01 192.168.100.0/24
[root@localhost html]# vim /etc/fstab #在192.168.100.20节点
192.168.100.50:/opt/test01 /var/www/html nfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost html]# vim /etc/fstab #在192.168.100.30节点
192.168.100.50:/opt/test02 /var/www/html nfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th #可以验证挂载是否成功
5.在两个web节点中分别写入首页内容
vim /var/www/html/index.html
<h1>this is test01</h1> #192.168.100.20节点中写
<h1>this is test02</h1> #192.168.100.30节点中写
LVS-NAT服务部署
6.加载LVS内核模块
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
7.安装ipvsadm管理工具
[root@localhost ~]# yum -y install ipvsadm
8.使用脚本设置NAT工作模式、只要在LVS服务器上配置,web服务器上不需要添加配置
[root@localhost ~]# vim nat.sh
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 14.0.0.1:80 -s rr
ipvsadm -a -t 14.0.0.1:80 -r 192.168.100.20:80 -m
ipvsadm -a -t 14.0.0.1:80 -r 192.168.100.30:80 -m
ipvsadm
ipvsadm命令选项解析:
-C:清除内核虚拟服务器表中的所有记录
-A:增加一台新的虚拟服务器
-t:说明虚拟服务器提供的是tcp的服务
-s rr:启用轮询算法
-a:在一个虚拟服务器中增加一台新的真实服务器
-r:指定真实服务器
-m:指定LVS的工作模式为NAT模式
ipvsadm:启用LVS功能
[root@localhost ~]# sh nat.sh
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http rr
-> 192.168.100.20:http Masq 1 0 0
-> 192.168.100.30:http Masq 1 0 0
9.在win10服务器中输入14.0.0.1地址验证是否为轮询调度。
第一次是访问节点1的网页内容,刷新浏览器,第二次是访问节点2的网页内容,实验成功。