lvs的DR模式负载均衡

主机 ip 服务
server1 172.25.16.1 ipvsadm调度器
server2 172.25.16.2 RealServer1 apache服务
server3 172.25.16.3 RealServer2 apache服务
物理真机机 172.25.16.250 模拟客户端测试服务
VIP 172.25.16.100 连接服务用的ip
  • 安装ipvsadm

真机挂载好yum源(不会就点这句话)

虚拟机修改yum源

vim /etc/yum.repos.d/yum.repo

[iso]
name=iso
baseurl=http://172.25.16.250/iso6.5
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.16.250/iso6.5/LoadBalancer
gpgcheck=0
enabled=1

安装软件

yum install ipvsadm -y
  • server2和3安装httpd并写发布页

以server2为例3的操作是一样的

yum install -y httpd

vim /var/www/html//index.html
server2


/etc/init.d/httpd start
chkconfig httpd on
  • server1写策略

添加一个监控的vip
查看现有策略

ipvsadm -A -t 172.25.16.100:80 -s rr
ipvsadm -l

lvs的DR模式负载均衡_第1张图片
添加真实服务器的地址并且绑定到vip上
查看策略
保存策略

ipvsadm -a -t 172.25.16.100:80 -r 172.25.16.2:80 -g
ipvsadm -a -t 172.25.16.100:80 -r 172.25.16.3:80 -g
ipvsadm -l
/etc/init.d/ipvsadm save

lvs的DR模式负载均衡_第2张图片

  • 添加vip

server1

ip addr add 172.25.16.100/24 dev eth1

server2和3

ip addr add 172.25.16.100/32 dev eth1

注意:
在server2和server3中之所以将子网掩码设置成32,是因为请求从调度器过来时,不对外提供服务的,只提供内部通信就好

  • 访问测试

真机访问vip
查看在此网段下绑定100这个ip的MAC地址

curl 172.25.16.100
arp -an | grep 100

lvs的DR模式负载均衡_第3张图片
查看server3的MAC地址是否一样
lvs的DR模式负载均衡_第4张图片
清除绑定的MAC地址
再次访问vip

arp -d 172.25.16.100
curl 172.25.16.100

lvs的DR模式负载均衡_第5张图片
可见此时又自动绑定到server2

清除绑定,再次访问

arp -d 172.25.16.100
curl 172.25.16.100

lvs的DR模式负载均衡_第6张图片
查看此时绑定的MAC地址
在这里插入图片描述
对比server1
lvs的DR模式负载均衡_第7张图片
可见只有在绑定MAC地址为server1时才能轮巡,这样是不合理的,我们需要在server2和3的路由策略

  • 配置server2和3的路由策略

server2和3的配置过程是一样的,区别只在172.25.16.2要改为172.25.16.3

安装arp路由策略软件

yum install arptables_jf -y

增添策略

arptables -A IN -d 172.25.16.100 -j DROP
######当网内广播需要172.25.16.100这个ip时,它将丢弃网内的所有请求

arptables -A OUT -s 172.25.16.100 -j mangle --mangle-ip-s 172.25.16.2
######当往外传数据时伪装成172.25.16.2这个ip进行工作

/etc/init.d/arptables_jf save
#####保存策略

/etc/init.d/arptables_jf start
######开启服务

lvs的DR模式负载均衡_第8张图片
真机测试
lvs的DR模式负载均衡_第9张图片
chkconfig +服务 on 可以把服务设置为开机启动
下次重启的时候我们只需要server1手动添加vip172.25.16.100/24
server2和3添加vip172.25.16.100/32就行了

你可能感兴趣的:(lvs的负载均衡和高可用)