均衡负载LVS-DR模式

来源:互联网 发布:教育软件 麦田 编辑:程序博客网 时间:2024/05/18 13:48

LVS/DR 利用大多数 Internet服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。
调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过交换机或者高速的HUB相连。
VIP地址为调度器和服务器组共享,调度器配置的 VIP地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP地址配置在各自的 Non­ARP网络设备上,它对外面是不可见的(arp请求),只是用于处 理目标地址为 VIP的网络请求。

实验环境:
系统: redhat6.5
所有的主机 iptables selinux disable
Laod Balance: 172.25.67.1
virtual IP: 172.25.67.100
realserver1: 172.25.67.3
realserver2: 172.25.67.4
yum源:172.25.67.250/rhel6.5

这里写图片描述

配置realserver(RS)
两个节点都做
加载规则:
ip addr add 172.25.67.100 dev eth0
添加vip,ip后可以指定子网掩码,不加就默认32
yum install arptables_jf -y
arptables -A IN -d 172.25.67.100 -j DROP
将目的ip为172.25.67.100的arp包丢掉(外部广播有vip的arp请求包时,RS忽略它,不做响应)
arptables -A OUT -s 172.25.67.100 -j mangle –mangle-ip-s 172.25.67.3
将源ip为172.25.67.100的arp请求包转给172.25.67.3发送出去(另一个节点ip为172.25.67.4),即RS发arp请求包时,源ip为自己真实ip
/etc/init.d/arptables_jf save
注:
-A:向规则链中追加规则;
-d:指定要匹配arp包的目的ip地址;
-s:指定要匹配arp包的源ip地址

配置Load Balance(VS)
加载规则:
yum install ipvsadm -y #yum源需要高可用的配置,配置见文末
ipvsadm -A -t 172.25.67.100:80 -s rr
ipvsadm -a -t 172.25.67.100:80 -r 172.25.67.3:80 -g
ipvsadm -a -t 172.25.67.100:80 -r 172.25.67.4:80 -g

注:-A:在内核的虚拟服务器表中添加一条新的虚拟服务器记录;-t:说明虚拟服务器提供的是tcp服务;-s:使用的调度算法;-g:指定LVS的工作模式为直接路由模式(也是LVS的默认模式);-r:真实的服务器;-a:在内核虚拟服务器表的一条记录里添加一条新的真实服务器;-C:删除内核虚拟服务器表中的所有记录;-D:删除内核虚拟服务器表中的一条虚拟服务器记录;-L:显示内核虚拟服务器表;

保存规则
/etc/init.d/ipvsadm save
查看规则
ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  172.25.67.100:http rr  -> server3:http                 Route   1      0          0           -> server4:http                 Route   1      0          0  

yum源配置:


[rhel-source]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5gpgcheck=0[Server]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5/Servergpgcheck=0[HighAvailability]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5/HighAvailabilitygpgcheck=0[LoadBalancer]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5/LoadBalancergpgcheck=0[ScalableFileSystem]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5/ScalableFileSystemgpgcheck=0[ResilientStorage]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=http://172.25.67.250/rhel6.5/ResilientStoragegpgcheck=0