目录
一、LVS-DR模式工作原理
(一)原理
(二)工作过程
1.客户端发送访问请求
2.调度器处理
3.节点服务器解包
4.节点服务器响应报文
(三)LV-DR模式部署步骤
1.部署NFS共享存储
2.部署Web节点服务器
3.部署调度器
4.客户端访问VIP测试
二、LVS-DR模式部署
(一)部署NFS共享存储
1.关闭防火墙和安全机制
2.安装nfs服务
3.新建目录,并创建站点文件
编辑
4.开启服务
5.增加权限
6.设置共享策略
编辑
7.发布共享
(二)部署web节点服务器
1.部署web服务器1
(1)关闭防火墙和安全机制
(2)本地yum安装nginx程序
(3)开启nginx服务
(4)配置网卡
(5)重启网关
(6)修改响应参数
(7)添加lo接口配置网卡
(8)重启网卡
(9)设置路由
(10)设置路由开机自启(永久添加路由)
2.部署web服务器2
(三)部署负载调度服务器
1.添加虚拟网卡
2.修改响应配置
3.下载ipvsadm服务
4.保存并开启ipvsadm
5.开启ip_v4模块
6.清空策略
7.添加策略
(四)Windows客户机验证
LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。
LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用;
节点 Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server;
为了响应对整个群集的访问,Director Server 与 Real Server 都需要配置 VIP 地址。
通过VIP将访问请求报文(源IP为客户端IP,目的IP为VIP)发送到调度器
通过调度算法选择最适合的节点服务器,并重新封装数据报文(将源MAC改为调度器的MAC,目的MAC改为节点服务器的MAC地址),再通过交换机转发请求给节点服务器
收到请求报文后,确认目的MAC和目的IP无误后解包并送到应用层进行处理
在返回响应报文前,会先重新封装报文(源IP为VIP,目的为客户端IP),再将响应报文先通过lo接口传送给物理网卡,再通过物理网卡发送给客户端
在lo:0接口配置VIP,修改内核参数arp_ignore=1、arp_announce=2,添加路由route add -host
在ensXX:0接口配置VIP,修改内核参数关闭IP路由转发和ICMP重定向功能ip_forward=0、send_redirects=0,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-g选项选择DR模式
如果需要跨网段通信,调度器和节点服务器的默认网关要指向路由器的网关接口地址
负载调度器配置
systemctl stop firewalld
#关闭防火墙
setenforce 0
#关闭安全机制
yum install nfs-utils rpcbind -y
#安装nfs服务
mkdir /var/www/html/ {accp,benet} -p
#在/var/www/html/目录下递归创建accp,benet文件
cd /var/www/html/
#切换目录
echo `this is web01 page!` > accp/test.html
echo `this is web02 page!` > benet/test.html
#创建站点文件
systemctl start rpcbind
systemctl start nfs
#开启服务
chmod 777 accp/ benet/
#增加权限
vim /etc/exports
#配置共享策略
/var/www/html/accp 172.16.72.30/24(rw,sync)
/var/www/html/benet 172.16.72.30/24(rw,sync)
#添加要发布的共享目录
exportfs -rv
#发布共享
systemctl stop firewalld
#关闭防火墙
setenforce 0
#关闭安全机制
mount /dev/sr0 /mnt
#磁盘挂载
cd /etc/yum.repos.d
#切换目录
mkdir bak
#创建备份文件
mv *.repo bak
#将当前目录下所有以repo结尾的文件移动到bak文件中
vim local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
systemctl start nginx
在NAT模式基础上继续配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
#添加系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
cp ifcfg-ens33 ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.233.200
NETMASK=255.255.255.255
ifup lo:0
route add -host 192.168.233.200 dev lo:0
#使用虚拟接口承载VIP地址,并添加路由
route -n
#查看路由
vim /etc/rc.d/rc.local
/usr/sbin/route add -host 192.168.233.200 dev lo:0
#将添加路由命令写入配置文件,使其开机自启动(永久添加路由)
chmod +x /etc/rc.d/rc.local
#给/etc/rc.d/rc.local增加执行权限(执行开机自启动,需要权限)
与web服务器1配置一致,不在赘述
vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.233.200
NETMASK=255.255.255.255
ifup ens33:0
#重启网卡
vim /etc/sysctl.conf
net.ipv4.ip_forward=0
#关闭路由转发功能
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0
#关闭icmp重定向
yum install ipvsadm -y
#安装ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
#保存负载分配策略
systemctl start ipvsadm.service
#开启负载分配策略
modprobe ip_v4
#开启ipvs模块
ipvsadm -C
#清空策略
ipvsadm -A -t 192.168.233.200:80 -s rr
#指定IP地址 外网的入口 -s rr 轮询
ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.20:80 -g
ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.30:80 -g
#先指定虚拟服务器再添加真实服务器地址,-r:真实服务器地址 -g指定DR模式
ipvsadm
#开启服务查看策略
访问192.168.233.200,多次刷新