LVS-DR + Keepalive搭建HA(实验+详解)

LVS-DR + Keepalive搭建过程及分析HA的使用

一、实验拓扑

在这里插入图片描述

二、LVS配置

首先搭建好LVS-DR

可以参考如下Blog
LVS的DR模式搭建

Master

1、挂载keepalive.iso文件,并解压

[root@localhost ~]# mkdir /mnt/iso1
[root@localhost ~]# mount -o loop Keepalived.iso /mnt/iso1
[root@localhost ~]# cp -a /mnt/iso1/* .

2、解压后,安装其依赖包;源码安装keepalive

[root@localhost keepalived-1.2.2]# yum -y install kernel-devel openssl-devel popt-devel gcc*
[root@localhost keepalived-1.2.2]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-642.el6.x86_64/
[root@localhost keepalived-1.2.2]# make && make install

检查keepalived的启动文件是否存在,并将其加入到开机自启

[root@localhost keepalived-1.2.2]# ll /etc/init.d/keepalived 
-rwxr-xr-x 1 root root 1288 220 04:15 /etc/init.d/keepalived
[root@localhost keepalived-1.2.2]# chkconfig --add keepalived
[root@localhost keepalived-1.2.2]# chkconfig keepalived on

2、修改其keepalived主配置文件

! Configuration File for keepalived

global_defs {
    
    
        router_id R1   #本地唯一标识 RID
   }
}
#VRRP的实例1
vrrp_instance VI_1 {
    
    
    state MASTER
    interface eth0
    virtual_router_id 66  属于同一个实例的VRID要相同
    priority 80
    advert_int 1
    authentication {
    
    
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    
    
        10.10.10.100
    }
}


virtual_server 10.10.10.100 80 {
    
    
        delay_loop 2
        lb_algo rr
        lb_kind DR
        protocol TCP
        
        #添加真实服务器的信息
        real_server 10.10.10.13 80 {
    
    
        	weight 1
        	TCP_CHECK {
    
    
        		connect_port 80
         	   connect_timeout 3
         	   nb_get_retry 3
        	    delay_before_retry 4
                }
        }
        real_server 10.10.10.14 80 {
    
    
                weight 1
                TCP_CHECK {
    
    
                        connect_port 80
                        connect_timeout 3
                        nb_get_retry 3
                        delay_before_retry 4
                }
        }
}

}
                     

3、测试

查看keepalive的日志文件,可见VRRP状态ARP接口都工作正常

扫描二维码关注公众号,回复: 13122073 查看本文章

在这里插入图片描述

Slave

1、配置集群地址

问题:

由于备LVS的网卡子接口IP也是10.10.10.100

  • 那么处于同一局域网环境下,IP出现冲突
  • ARP包会将流量即给主又给备,因为主与备的IP相同

解决:

  • IP地址的冲突是由网卡的启动脚本决定,修改之即可
  • keepalive会绑定ARP权限,当主LVS使用的时候,备LVS是没有ARP权限的

可见,备LVS上提示地址冲突

在这里插入图片描述

修改网卡的启动文件

vim /etc/sysconfig/network-scripts/ifup-eth 大约在256

将如下配置注释
在这里插入图片描述

重启网卡,虽然提示被使用了,但是网卡已经成功启动

在这里插入图片描述

关闭网卡的重定向

vim /etc/sysctl.conf 修改内核参数。 防止相同网络地址广播冲突, 如果有多快网卡需要设置多行
net.ipv4.conf.eth2.send_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0


sysctl -p 刷新内核参数

2、修改主配置文件

直接从主LVS上将配置文件传给备LVS

[root@localhost ~]# scp /etc/keepalived/keepalived.conf root@10.10.10.12:/etc/keepalived/keepalived.conf 

在这里插入图片描述

修改这三个地方
在这里插入图片描述

3、安装ipvsadm后,启动之

注意:

不用再次手动配置ipvsadm的集群节点信息,因为备LVS可以从keepalived的主配置文件中自动生成

在这里插入图片描述

三、测试

正常情况下,集群信息都是由主LVS提供

在这里插入图片描述
在这里插入图片描述

当主LVS的网卡出现故障或机器down机,则备LVS提供集群服务

1. 网卡出现故障

在这里插入图片描述
在这里插入图片描述

页面还是可以正常访问,查看备LVS的集群状态信息,可见LVS切换到了备LVS上

在这里插入图片描述

当主LVS的网卡恢复正常,切换到主LVS

在这里插入图片描述

2. 主LVSdown机

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

可见,页面还是正常访问,由于HA的作用,那么切换到备LVS

当主LVS恢复后,再次访问页面,可见集群站点部署在主LVS上

在这里插入图片描述

且备LVS的集群站点的状态没有信息
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/qq_41959899/article/details/113899995
今日推荐