案例详解
要求:
使用1台调度器实现2台web服务器负载均衡并且使用NAT轮询模式实现 web服务器,从nfs服务器中获取网页文件
环境准备:
LVS调度器
内网网卡192.168.107.136 外网网卡192.168.20.57
Web1服务器
内网网卡 192.168.107.137
Web2服务器
内网网卡 192.168.107.138
NFS服务器
内网网卡 192.168.107.139
客户机
外网网卡 192.168.20.56
配置调度器服务器
准备工作
1.为调度器服务器添加双网卡,连接外网的配置为dhcp自动获取ip这里获取到的是192.168.20.57,内网使用静态地址192.168.107.136,无需配置dns和gateway,开启服务器的路由功能,然后通过dhcp自动获取网关这里是192.168.1.1,可以通过route -n命令查看。
2.为2台web服务器配置内网网卡,将地址设为与调度器同网段的 然后将gateway指向调度器的地址
3.NFS服务器 需要与调度器处于同一网段 网关无需指向调度器
关闭所有服务器防火墙防止拦截 或者设置放行所需的端口流量
4.加载LVS内核模块
LVS现在已经作为linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。一下操作可以手动加载ip_vs模块,并查看当前系统中ip_vs模块的宝宝信息
4.1.#modprobe ip_vs #加载模块
4.2.#cat /proc/net/ip_vs #查看版本信息
4.3.#rpm -ivh /mnt/Packages/ipvsadm-1.27-7.e17.x86_64.rpm #安装管理软件ipvsadm 无需启动
5.编辑调度服务器脚本
#vi /etc/sysctl.conf #编辑路由配置文件
#net.ipv4.ip_forward=1 #在末行插入 开启服务器路由功能
保存退出
#sysctl -p
#vi nat.sh #新建管理脚本
#!/bin/bash
ipvsadm -C #清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.20.57:80 -s rr #创建虚拟服务器
ipvsadm -a -t 192.168.20.57:80 -r 192.168.107.137:80 -m #添加服务器节点
ipvsadm -a -t 192.168.20.57:80 -r 192.168.107.138:80 -m #添加服务器节点
ipvsadm -Ln #查看节点状态
保存退出
选项注释:
“-A”表示添加虚拟服务器,
”-a”表示添加真实服务器
”-t"用来指定VIP地址及TCP端口
“-r”用来指定RIP地址及TCP端口
“-s"用来指定负载调度算法——rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)
" -m"表示使用NAT群集模式(”-g"是DR模式,"-i"是TUN模式)
#sh nat.sh #执行脚本
输出内容:IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.20.57:80 rr
-> 192.168.107.137:80 Masq 1 0 0
-> 192.168.107.138:80 Masq 1 0 0
6.配置NFS服务器
yum -y install nfs-utils rpcbind
mkdir /opt/web1 /opt/web2
echo "this is server1" > /opt/web1/index.html #编辑测试用网页
echo "this is server2" > /opt/web2/index.html
vi /etc/exports
/opt/web1 192.168.100.0/24 (ro,sync) #为nfs设置访问权限
/opt/web2 192.168.100.0/24 (ro,sync)
保存退出
systemctl start nfs
systemctl start rpcbind
7.配置Web服务器
注释:2台配置步骤一样 只需更改ip和挂载的nfs目录即可
yum -y install httpd
vi /etc/httpd/conf/httpd.conf
找到#Server Name .... 去掉#号然后修改域名
保存退出
showmount -e 192.168.107.139 #查看是否能正常访问nfs
mount 192.168.107.139:/opt/web1 /var/www/html/ #挂载网nfs存储 在web2中将web1改为web2
vi /etc/fstab
192.168.107.139:/opt/web2 /var/www/html/ nfs defaults,_netdev 0 0 #设置永久挂载
systemctl start httpd #开启服务
8.验证
使用客户机访问http://192.168.20.57获取网页,可以多刷新几次看看是否正常轮询
之后使用ipvsadm -Ln命令来查看当前的访问量和积累的访问量