运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解
实验准备
1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源
2.准备三台虚拟机,为了区分主机名与IP分别为
server1 172.25.6.1
server2 172.25.6.2
server3 172.25.6.3
3.我们将server1(172.25.6.1)作为调度器,server2、server3作为后端服务器,物理机作为客户端
(当然你如果从作者的运维企业部分1开始看的,这些配置不是问题)
1.VS/DR配置过程详解
1)调度器server1上相关配置如下
<1>yum源修改(因为一般的配置只能获得基础的包,不能获得ipvsadm)
vim /etc/yum.repos.d/rhel-source.repo
[LoadBalancer] name=Red Hat Enterprise Linux $releasever - $basearch - Source baseurl=http://172.25.6.250/rhel6.5/LoadBalancer enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
注意:为了方便起见,我们可以之间将这个yum源的配置文件发送给server2、server3
scp /etc/yum.repos.d/rhel-source.repo root@172.25.6.2:/etc/yum.repos.d scp /etc/yum.repos.d/rhel-source.repo root@172.25.6.3:/etc/yum.repos.d
<2>安装ipvsadm调度器
yum install ipvsadm -y ipvsadm -l ##查看调度器规则 lsmod lsmod | grep ip_vs
<3>添加外网ip地址(使客户端访问外网)
ip addr add 172.25.6.100/24 dev eth0 ip addr
<4>编写调度器规则(让客户端在访问172.25.6.100的时候采用轮循)
ipvsadm -A -t 172.25.6.100:80 -s rr ##rr调度算法详情参考前篇 ipvsadm -D -t 172.25.6.100:80 ##如果你不小心手残加错了,用它删除
<5>添加调度策略
ipvsadm -a -t 172.25.6.100:80 -r 172.25.6.2:80 -g ipvsadm -a -t 172.25.6.100:80 -r 172.25.6.3:80 -g ipvsadm -l /etc/init.d/ipvsadm save ##保存策略
注意:如果按照作者前面的实验做了,那么现在你还需要做一件事,将httpd的端口改回80
vim /etc/httpd/conf/httpd.conf /etc/init.d/httpd restart
2)后端服务器server2、server3配置如下(二者配置相同,此处以server2为例)
<1>安装apache服务,编写默认发布页
yum install httpd -y vim /var/www/html/index.html /etc/init.d/httpd start
<2>添加IP
ip addr add 172.25.6.100/32 dev eth0 ##注意这里的IP网段是32,也就是说这是唯一的IP ip addr
3)在客户端上测试(以下操作全都在客户端做)
curl 172.25.6.100
arp -an | grep 100 #此时172.25.6.100的MAC地址,绑定为server1调度器的MAC地址
arp -d 172.25.2.100 ##清除MAC地址,并重新访问 curl 172.25.2.100
这时我们发现,这一次100绑定在了后端服务器server3上,因此对于客户端的响应后端服务器也并没有实现轮循,你可以多尝试几次,验证一下MAC的绑定是随机的,还是有一定的规律
注意:此时的客户端进行访问的时候,100会随机选取MAC地址,后端谁抢到就是谁的,(因为arpip广播)
2.解决随机选择MAC地址的问题
由上面的实验可以得知,只有当172.25.6.100上绑定了调度器的MAC地址时实现负载均衡,由此有如下解决方案:
以下操作在后端服务器server2、server3上配置,操作相同,以server2为例
1)安装arptables火墙策略,查看火墙策略
yum search arptables yum install arptables_jf.x86_64 -y arptables -L
2)编写火墙策略
arptables -A IN -d 172.25.6.100 -j DROP #将此ip屏蔽掉 arptables -A OUT -s 172.25.6.100 -j mangle --mangle-ip-s 172.25.6.2 #让访问100的ip出去是8.2 arptables -L /etc/init.d/arptables_jf save ##保存策略
3)在客户端测试
清除100上的MAC地址
arp -d 172.25.6.100
访问调度器——实现了负载均衡
curl 172.25.6.100
后端服务器各访问了三次
为了排除其他干扰因此,再次清除MAC地址,进行测试
VS/DR模式配置成功 !!! 😃😃😃
- 运维企业专题(7)LVS高可用与负载均衡中篇——VS/NAT模式配置详解
- LVS DR模式负载均衡配置详解(配置篇一) 推荐
- Lvs 负载均衡之nat模式配置
- 运维工程师必备之负载 均衡集群及LVS详解
- LVS+Keepalived DR模式实现web负载均衡高可用
- LVS+Keepalived DR模式实现web负载均衡高可用
- lvs DR模式 +keepalived 实现directory 高可用、httpd服务负载均衡集群
- Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用
- CentOS6.4 LVS+keepalived高可用负载均衡服务配置
- CentOS6.4 LVS+keepalived高可用负载均衡服务配置
- CentOS6.4 LVS+keepalived高可用负载均衡服务配置
- lvs DR模式 +keepalived 实现directory 高可用、httpd服务负载均衡集群
- LVS的2种模式,DR/NAT详解和具体配置
- 负载均衡集群、LVS算法、搭建NAT模式LVS架构
- lvs+keepalived+bind实现负载均衡高可用智能dns
- Linux LVS(Linux virtual server)V1.26 负载均衡 详细配置教程
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
- 负载均衡集群介绍-LVS介绍-LVS调度算法-LVS NAT模式搭建
- lvs-dr模式原理详解和可能存在的“假负载均衡”
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置