0


keepalived+lvs集群,实现高可用

环境准备:两台虚拟机,关闭防火墙,selinux,配置阿里云仓库,配置epel

192.168.88.21 dr1 负载均衡器 master

192.168.88.22 dr2 负载均衡器 backup

192.168.88.23 rs1 web1

192.168.88.24 rs2 web2

实验说明:给主机配置一个虚拟IP192.168.88.100 当访问虚拟IP时,可以访问到nginx服务器下的项目。当主机服务器宕机时,备用机可以代替主机工作。当主机nginx服务挂掉后,实现自动启动nginx服务,保持项目可以随时访问。

一、安装Keepalived

1、在master上安装配置Keepalived ipvsadm

yum install keepalived  ipvsadm -y

2、在master上修改配置文件

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {                        
    router_id Director1    #两边不一样。
    }
    
vrrp_instance VI_1 {                
    state MASTER                #另外一台机器是BACKUP    
    interface ens33                #心跳网卡    
    virtual_router_id 51            #虚拟路由编号,主备要一致
    priority 150                #优先级    
    advert_int 1                #检查间隔,单位秒    
    authentication {
        auth_type PASS
        auth_pass 1111
        }
    virtual_ipaddress {
        192.168.88.100/24       dev      ens33       #VIP和工作接口
        }
    }
    
virtual_server 192.168.88.100 80 {        #LVS 配置,VIP,就是keepalived配置的对外地址
    delay_loop 3                #服务论询的时间间隔,#每隔3秒检查一次real_server状态
    lb_algo rr                #LVS 调度算法
    lb_kind DR                 #LVS 集群模式
    protocol TCP
    real_server 192.168.88.23 80 {
        weight 1                    #权重
        TCP_CHECK {
            connect_timeout 3       #健康检查方式,连接超时时间
            }
        }
    real_server 192.168.88.24 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3    #设定连接超时时间为3秒 超过视为掉线
            }
        }
}

3、在backup上安装配置Keepalived ipvsadm

yum install keepalived   ipvsadm -y

4、在backup上修改配置文件

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
        router_id Director2
        }

vrrp_instance VI_1 {
        state BACKUP                            #另外一台机器是BACKUP
        interface ens33                         #心跳网卡
        virtual_router_id 51
        priority 90                            #优先级
        advert_int 1                            #检查间隔,单位秒
        authentication {
                auth_type PASS
                auth_pass 1111
                }
        virtual_ipaddress {
                192.168.88.100/24 dev ens33       #VIP和工作端口
                }
        }

virtual_server 192.168.88.100 80 {                #LVS 配置,VIP
        delay_loop 3                            #服务论询的时间间隔
        lb_algo rr                              #LVS 调度算法
        lb_kind DR                              #LVS 集群模式
        protocol TCP
        real_server 192.168.88.23 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 3
                        }
                }
        real_server 192.168.88.24 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 3
                        }
                }
}

5、master和backup上启动服务

systemctl enable keepalived
 systemctl start keepalived

二、web1和web2配置

1、192.168.88.23(web1)和24(web2)安装nginx,并且设置开机自启

yum install -y nginx
systemctl start nginx
systemctl enable nginx

2、copy网卡配置文件,配置虚拟地址

cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.88.100   #对外提供服务的地址
NETMASK=255.255.255.255
ONBOOT=yes
systemctl restart network

3、、配置路由

route add 192.168.88.100 dev lo

4、配置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_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

三、测试: 观察lvs路由条目

1、master上 查询 # ipvsadm -Ln

ipvsadm -Ln

2、观察vip地址在哪台机器上

ip a

3、修改nginx默认项目文件,便于区分访问到那个服务器

web1

echo nginx111 > /usr/share/nginx/html/index.html

web2

echo nginx222 > /usr/share/nginx/html/index.html

4、客户端浏览器访问vip

5、关闭master上的keepalived服务,再次访问vip

systemctl stop keepalived.service 

6、关闭web1站点服务,再次访问VIP

systemctl stop nginx

标签: lvs 服务器 apache

本文转载自: https://blog.csdn.net/2201_75556224/article/details/142466320
版权归原作者 李高杰996 所有, 如有侵权,请联系我们删除。

“keepalived+lvs集群,实现高可用”的评论:

还没有评论