CLUSTER LVS集群技术 部署LVS-DR集群

在这里插入图片描述
LVS-DR技术讲解:由于LVS-NAT技术的缺点(数据进出都走调度器,调度器很容易成为瓶颈),大佬们提出了一种返回数据时不走调度器的技术,即DR技术。

实验主机配置:(都不需要配置网关)
在这里插入图片描述
实验LVS DR模式的核心需求是: 希望web1和web2可以不走调度器返回数据!

在这里插入图片描述
但是网络中的基本原则是A访问B,必须是B返回数据给A。
现在4.10访问4.5,最终4.100给4.10返回网页数据,所有数据包都会被丢弃!!!
那怎么办呢? 地址欺骗

在这里插入图片描述

在这里插入图片描述

实验:

	步骤一:配置实验网络环境
	
	1)设置Proxy服务器的VIP和DIP
	注意:为了防止冲突,VIP必须要配置在网卡的虚拟接口,网卡名称不能照抄!!!
	1.	[root@proxy ~]# cd /etc/sysconfig/network-scripts/
	2.	[root@proxy ~]# cp ifcfg-eth0  ifcfg-eth0:0
	3.	[root@proxy ~]# vim ifcfg-eth0:0
	4.	TYPE=Ethernet           #网卡类型为:以太网卡
	6.	BOOTPROTO=none  	#none手动配置IP,或者dhcp自动配置IP
	8.	NAME=eth0:0           	#网卡名称
	10.DEVICE=eth0:0          #设备名称
	12.	ONBOOT=yes      	#开机时是否自动激活该网卡
	14.	IPADDR=192.168.4.15	#IP地址
	16.	PREFIX=24                 	#子网掩码
	18.	[root@proxy ~]# systemctl restart network        #重启网络服务
	19.	[roo	t@proxy ~]# ip  a  s             					#会看到一个网卡下面有两个IP地址
	常见问题:RHEL7和Centos7系统中有两个管理网络的服务,有可能冲突?
	解决方法:关闭NetworkManager服务后重启network即可。

	2)设置Web1服务器网络参数(不能照抄网卡名称)
	1.	[root@web1 ~]# nmcli connection modify eth0 ipv4.method manual  	ipv4.addresses 192.168.4.100/24 connection.autoconnect yes
	3.	[root@web1 ~]# nmcli connection up eth0
	接下来给web1配置VIP地址。
	注意:这里的子网掩码必须是32(也就是全255),网络地址与IP地址一样,广播地址与IP地址也一样。
			1.	[root@web1 ~]# cd /etc/sysconfig/network-scripts/
			2.	[root@web1 ~]# cp ifcfg-lo  ifcfg-lo:0
			3.	[root@web1 ~]# vim ifcfg-lo:0
			4.	DEVICE=lo:0	   							#设备名称
			6.	IPADDR=192.168.4.15				#IP地址
			8.	NETMASK=255.255.255.255		#子网掩码
			10.	NETWORK=192.168.4.15		#网络地址
			12.	BROADCAST=192.168.4.15	#广播地址
			14.	ONBOOT=yes							#开机是否激活本网卡
			16.	NAME=lo:0								#网卡名称

	防止地址冲突的问题:
	这里因为web1也配置与调度器一样的VIP地址,默认肯定会出现地址冲突;
	sysctl.conf文件写入这下面四行的主要目的就是访问192.168.4.15的数据包,只有调度器会响应,其他主机都不做任何响应,这样防止地址冲突的问题。
			1.	[root@web1 ~]# vim /etc/sysctl.conf
			2.	#文件末尾手动写入如下4行内容,英语词汇:ignore(忽略、忽视),announce(宣告、广播通知)
			3.	net.ipv4.conf.all.arp_ignore = 1
			4.	net.ipv4.conf.lo.arp_ignore = 1
			5.	net.ipv4.conf.lo.arp_announce = 2
			6.	net.ipv4.conf.all.arp_announce = 2
			7.	#当有arp广播问谁是192.168.4.15时,本机忽略该ARP广播,不做任何回应(防止进站冲突)
			8.	#本机不要向外宣告自己的lo回环地址是192.168.4.15(防止出站冲突)
			9.	[root@web1 ~]# sysctl -p
	重启网络服务
			root@web1 ~]# systemctl restart network        #重启网络服务
			[root@web1 ~]# ip  a   s           #会看到一个网卡下面有两个IP地址
	常见错误:如果重启网络后未正确配置lo:0,有可能是NetworkManager和network服务有冲突,关闭NetworkManager后重启network即可。(非必须的操作)
				1.	[root@web1 ~]# systemctl stop NetworkManager
				2.	[root@web1 ~]# systemctl restart network
	
	3)设置Web2服务器网络参数(不能照抄网卡名称)

步骤二:proxy调度器安装软件并部署LVS-DR模式调度器

1)安装软件(如果已经安装,此步骤可以忽略)
			1.	[root@proxy ~]# yum -y install ipvsadm
2)清理之前实验的规则,创建新的集群服务器规则
			1.	[root@proxy ~]# ipvsadm -C                                #清空所有规则
			2.	[root@proxy ~]# ipvsadm -A -t 192.168.4.15:80 -s wrr
			3.	## -A(add)是创建添加虚拟服务器集群
			4.	# -t(tcp)后面指定集群VIP的地址和端口,协议是tcp协议
			5.	# -s后面指定调度算法,如rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)等等
3)添加真实服务器(-g参数设置LVS工作模式为DR模式,-w设置权重)
			1.	[root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100 -g -w 1
			2.	[root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200 -g -w 1
			3.	#-a(add)往虚拟服务器集群中添加后端真实服务器IP,指定往-t 192.168.4.15:80这个集群中添加
			4.	#-r(real)后面跟后端真实服务器的IP和端口,这里不写端口默认是80端口
			5.	#-w(weight)指定服务器的权重,权重越大被访问的次数越多,英语词汇:weight(重量,分量)
			6.	#-m指定集群工作模式为NAT模式,如果是-g则代表使用DR模式,-i代表TUN模式
4)查看规则列表(L代表list查看规则,n代表number数字格式显示)
			1.	[root@proxy ~]# ipvsadm -Ln
			2.	TCP  192.168.4.15:80 wrr
			3.	  -> 192.168.4.100:80             Route   1      0          0         
			4.	  -> 192.168.4.200:80             Route   1      0          0

步骤三:客户端测试
客户端使用curl命令反复连接http://192.168.4.15,查看访问的页面是否会轮询到不同的后端真实服务器。

扩展知识:默认LVS不带健康检查功能,需要自己手动编写动态检测脚本,实现该功能:(参考脚本如下,仅供参考)

1.	[root@proxy ~]# vim check.sh
	2.	#!/bin/bash
	3.	#LVS健康检查功能
	4.	VIP=192.168.4.15:80
	5.	RIP1=192.168.4.100
	6.	RIP2=192.168.4.200
	7.	while :
	8.	do
	9.	   for IP in $RIP1 $RIP2
	10.	   do
	11.	           curl -s http://$IP &>/dev/null
	12.	if [ $? -eq 0 ];then
	13.	            ipvsadm -Ln |grep -q $IP || ipvsadm -a -t $VIP -r $IP
	14.	        else
	15.	             ipvsadm -Ln |grep -q $IP && ipvsadm -d -t $VIP -r $IP
	16.	        fi
	17.	   done
	18.	sleep 1
	19.	done

总结:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值