目录
? ? ? ?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 <VIP> dev lo:0
? ? ? ?在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 `<h1>this is web01 page!<h1>` > accp/test.html
echo `<h1>this is web02 page!<h1>` > 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,多次刷新