负载调度器:内网管 ens33:192.168.100.6,外网关 ens37: 12.0.0.1
web节点服务器1:192.168.100.101
web节点服务器2:192.168.100.60
NFS服务器:192.168.100.50
客户端:12.0.0.66
ipvsadm 工具常用选项介绍
常用选项 | 说明 |
---|---|
-A | 添加虚拟服务器 |
-D | 删除整个虚拟服务器 |
-s | 指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc) |
-a | 表示添加真实服务器(节点服务器) |
-d | 删除某一个节点 |
-t | 指定VIP地址及TCP端口 |
-r | 指定RIP地址及TCP端口 |
-m | 表示使用nat群集模式 |
-g | 表示使用DR模式 |
-i | 表示使用TUN模式 |
-w | 设置权重(权重为0时表示暂停节点) |
-p 60 | 表示保持长连接60秒 |
-l | 列表查看LVS虚拟服务器(默认为查看所有) |
-n | 以数字形式显示地址、端口等信息,常与“-l”选项组合使用 |
一、部署关系存储服务(NFS服务器:192.168.100.60)
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
2、安装nfs服务
yum install nfs-utils rpcbind -y
[root@localhost ~]# systemctl start rpcbind.service
[root@localhost ~]# systemctl start nfs.service
[root@localhost ~]# systemctl enable rpcbind.service
[root@localhost ~]# systemctl enable nfs.service
3、创建网页文件
[root@localhost ~]# mkdir /opt/qiao /opt/benet
[root@localhost ~]# chmod 777 /opt/qiao/ /opt/benet/
[root@localhost ~]# echo 'this is qiao web!' > /opt/qiao/index.html
[root@localhost ~]# echo 'this is benet web!' > /opt/benet/index.html
4、创建共享目录
[root@localhost ~]# vim /etc/exports
/usr/share *(ro,sync)
/opt/qiao 192.168.100.0/24(rw,sync)
/opt/benet 192.168.100.0/24(rw,sync)
5、发布共享
showmount -e 192.168.100.50
exportfs -rv
二、配置节点服务器(192.168.100.101、192.168.100.60)
2台配置除了挂载内容不同其它都一样
*2台节点服务器网关都设置为:192.168.100.6,和调度器ip一样,因为调度器在这里相当于网关
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
2、安装httpd服务
yum install -y httpd
systemctl start httpd.service
systemctl enable httpd.service
3、安装nfs服务
yum install nfs-utils rpcbind -y
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable rpcbind.service
systemctl enable nfs.service
4、挂载共享目录
mount 192.168.100.50:/opt/qiao /var/www/html #web节点服务器1挂载设置
mount 192.168.100.50:/opt/benet /var/www/html #web节点服务器2挂载设置
查看是否成功
#web节点服务器1
df -H
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
index.html
[root@localhost html]# cat index.html
this is qiao web!
#web节点服务器2
df -H
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
index.html
[root@localhost html]# cat index.html
this is benet web! #一个是qiao,一个是benet
三、配置负载调度器
(内网关ens33:192.168.100.60 外网关ens37:12.0.0.1)
1、实验前准备
添加一张网卡,并修改网卡配置
2张网卡的网关和DNS都注释掉
重启网卡
systemctl restart network
2、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
3、配置SNAT转发规则
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #此为添加的内容
4、更改IPtables规则
删除原本规则,添加新的规则
[root@localhost ~]# iptables -t nat -F
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens37 -j SNAT --to-source 12.0.0.1
查看是否成功
[root@localhost ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 192.168.100.0/24 0.0.0.0/0 to:12.0.0.1
5、加载LVS内核模块
[root@localhost ~]# modprobe ip_vs #加载ip_vs模块
[root@localhost ~]# cat /proc/net/ip_vs #查看 ip_vs版本信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
6、安装ipvsadm管理工具,并启动服务
yum install -y ipvsadm
启动服务前必须先保存负载分配策略
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm #保存
[root@localhost ~]# systemctl start ipvsadm.service #启动服务
7、配置负载分配策略
NAT模式只要在服务器上配置,节点服务器不需要特殊配置
ipvsadm -C #清楚原有策略
ipvsadm -A -t 12.0.0.1:80 -s rr #添加虚拟
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.101:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.60:80 -m
ipvsadm #启动策略
[root@localhost ~]# ipvsadm -ln #查看节点状态,masq代表NAT模式
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 12.0.0.1:80 rr
-> 192.168.100.60:80 Masq 1 0 0
-> 192.168.100.101:80 Masq 1 0 0
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略
浏览器验证
在IP:12.0.0.66客户端访问12.0.0.1
客户端如下设置
浏览器访问(过60秒会刷新)
60秒后