keepalived+lvs 集群

拓扑

环境
192.168.0.116 dr1 负载均衡器
192.168.0.117 dr2 负载均衡器
192.168.0.118 rs1 web1
192.168.0.119 rs2 web2

步骤

  1. 在master上安装配置keepalived
  2. 在master上修改配置文件
  3. 在backup上安装keepalived
  4. 拷贝master上的keepalived.conf 到backup上
  5. 拷贝后修改配置文件
  6. master和backup上启动服务
  7. web服务器配置
  8. 测试
在master上安装配置keepalived
yum install keepalived ipvsadm -y 
ipvsadm 安装不启动

在master上修改配置文件
vim /etc/keepalived/keepalived.conf

!Configuration File for keepalived
global_defs{
   router_id Director1 #两边不一样
}
vrrp_instance VI_1{
     state MASTER      #另一台主机就是backup
     interface ens32   #心跳网卡
     virtual_router_id 51   #虚拟路由器编号,主备要一致
     priority  150         #优先级
     advert_int  1         #检查间隔,单位秒
     authentication {
           auth_type  PASS
           auth_pass  1111   
     }
     virtual_ipaddress {
         192.168.0.20/24 dev ens32   #VIP和工作端口
     }
}
virtual_server  192.168.0.20 80{     #LVS配置,VIP
    delay_loop 3            #服务轮询的时间间隔
    lb_algo  rr              #LVS 调度算法
    lb_kind  DR             #LVS 集群模式
    protocol TCP
    real_server  192.168.0.118 80{
       weight 1 
       TCP_CHECK{
           connect_timeout 3
          }
    }
    real_server 192.168.0.119 80{
       weight  1
       TCP_CHECK{
           connect_timeout 3
          }
    }
}


在backup上安装keepalived
yum install keepalived ipvsadm -y     ipvsadm 安装不启动
scp 192.168.0.116:/etc/keepalived/keepalived.conf  192.168.0.117:/etc/keepalived/        拷贝主服务器配置到从服务器上 

拷贝后修改配置文件
router_id  Director2
state BACKUP 
priority 100


master和backup上启动服务
systemctl enable keepalived
systemctl start keepalived 
reboot


web1 web2 相同配置
安装web测试站点
yum install -y httpd &&systemctl start httpd && systemctl enable  httpd 
netstat -antp |grep httpd 
elinks 127.0.0.1
自定义web网页,以便观察负载均衡结果
vim /var/www/html/index.html

配置虚拟地址
cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.0.20
NETMASK=255.255.255.255
ONBOOT=YES
其他行注释掉


配置路由
vim /etc/rc.local
/sbin/route add host 192.168.0.20 dev lo:0

配置ARP 
vim  /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.default.arp_ignore=2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
reboot

测试

观察lvs路由条目
master上查询#ipvsadm -L
观察VIP地址在哪台机器上
客户端浏览器访问VIP
关闭master上的keepalived服务,再次访问VIP
master上关闭 systemctl stop keepalived.service
关闭web1站点服务,再次访问VIP

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据