Linux系统LVS-DR模式群集
目录
一、LVS-DR模式工作原理
? ? ? ?LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。
(一)原理
? ? ? LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用;
? ? ? 节点?Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过 Director Server;
? ? ? 为了响应对整个群集的访问,Director Server 与 Real Server?都需要配置 VIP 地址。
(二)工作过程
1.客户端发送访问请求
? ? ? ?通过VIP将访问请求报文(源IP为客户端IP,目的IP为VIP)发送到调度器
2.调度器处理
? ? ? ?通过调度算法选择最适合的节点服务器,并重新封装数据报文(将源MAC改为调度器的MAC,目的MAC改为节点服务器的MAC地址),再通过交换机转发请求给节点服务器
3.节点服务器解包
? ? ? ?收到请求报文后,确认目的MAC和目的IP无误后解包并送到应用层进行处理
4.节点服务器响应报文
? ? ? ?在返回响应报文前,会先重新封装报文(源IP为VIP,目的为客户端IP),再将响应报文先通过lo接口传送给物理网卡,再通过物理网卡发送给客户端
(三)LV-DR模式部署步骤
1.部署NFS共享存储
2.部署Web节点服务器
? ? ? ? 在lo:0接口配置VIP,修改内核参数arp_ignore=1、arp_announce=2,添加路由route add -host <VIP> dev lo:0
3.部署调度器
? ? ? ?在ensXX:0接口配置VIP,修改内核参数关闭IP路由转发和ICMP重定向功能ip_forward=0、send_redirects=0,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-g选项选择DR模式
4.客户端访问VIP测试
? ? ? ? 如果需要跨网段通信,调度器和节点服务器的默认网关要指向路由器的网关接口地址
二、LVS-DR模式部署
(一)部署NFS共享存储
负载调度器配置
1.关闭防火墙和安全机制
systemctl stop firewalld
#关闭防火墙
setenforce 0
#关闭安全机制
2.安装nfs服务
yum install nfs-utils rpcbind -y
#安装nfs服务
3.新建目录,并创建站点文件
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
#创建站点文件
4.开启服务
systemctl start rpcbind
systemctl start nfs
#开启服务
5.增加权限
chmod 777 accp/ benet/
#增加权限
6.设置共享策略
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)
#添加要发布的共享目录
7.发布共享
exportfs -rv
#发布共享
(二)部署web节点服务器
1.部署web服务器1
(1)关闭防火墙和安全机制
systemctl stop firewalld
#关闭防火墙
setenforce 0
#关闭安全机制
(2)本地yum安装nginx程序
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
(3)开启nginx服务
systemctl start nginx
(4)配置网卡
在NAT模式基础上继续配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
(5)重启网关
systemctl restart network
(6)修改响应参数
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
(7)添加lo接口配置网卡
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
(8)重启网卡
ifup lo:0
(9)设置路由
route add -host 192.168.233.200 dev lo:0
#使用虚拟接口承载VIP地址,并添加路由
route -n
#查看路由
(10)设置路由开机自启(永久添加路由)
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增加执行权限(执行开机自启动,需要权限)
2.部署web服务器2
? 与web服务器1配置一致,不在赘述
(三)部署负载调度服务器
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
#重启网卡
2.修改响应配置
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重定向
3.下载ipvsadm服务
yum install ipvsadm -y
#安装ipvsadm
4.保存并开启ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
#保存负载分配策略
systemctl start ipvsadm.service
#开启负载分配策略
5.开启ip_v4模块
modprobe ip_v4
#开启ipvs模块
6.清空策略
ipvsadm -C
#清空策略
7.添加策略
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
#开启服务查看策略
(四)Windows客户机验证
访问192.168.233.200,多次刷新
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!