keepalived实现lvs的主备

本文介绍如何使用 LVS 和 Keepalived 在 Redhat 7.5 上搭建高可用的负载均衡系统。通过配置主备调度器,当主调度器故障时,备用调度器会立即接管,确保服务连续性。实验覆盖了从软件安装到配置及测试的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言:
ldirectord + lvs实现服务器的高可用之后,我们仍需考虑到,如果lvs调度器故障,我们有应该如何确保服务的正常访问呢?所以出现了lvs调度器的主备,使用两台调度器(一主一备)当主调度器故障,立即器用启用备用调度器,使访问不受影响。

实验环境:
redhat 7.5

server1(lvs-主)172.25.60.1/24
server4(lvs-备)172.25.60.4/24
server2(apache)172.25.60.2/24
server3(apache)172.25.60.3/24

配置:
(1)server1/4上安装keepalived并配置
server1:

keepalived-2.0.17.tar.gz 自己下载压缩包 
tar -zxf keepalived-2.0.17.tar.gz 
yum install gcc openssl-devel 安装源码编译所需要的环境 
cd keepalived-2.0.17 
./configure --prefix=/usr/local/keepalived --with-init=systemdls
make && make install
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
vim /etc/keepalived/keepalived.conf	//配置文件如下
global_defs {
   notification_email {
	root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER		//主调度器
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.60.100		//vip,启动服务时自动生成
    }
}

virtual_server 172.25.60.100 80 {		
    delay_loop 3
    lb_algo rr			//轮询
    lb_kind DR			//DR模式
    #persistence_timeout 50
    protocol TCP

    real_server 172.25.60.2 80 {	//server2
	TCP_CHECK {
        weight 1
            connect_timeout 3
            retry 3
            delay_before_retry 3
	    }
    }

    real_server 172.25.60.3 80 {	//server3
	TCP_CHECK {
        weight 1
            connect_timeout 3
            retry 3
            delay_before_retry 3
	    }
    }
}

server4:

keepalived-2.0.17.tar.gz 自己下载压缩包 
tar -zxf keepalived-2.0.17.tar.gz 
yum install gcc openssl-devel 安装源码编译所需要的环境 
cd keepalived-2.0.17 
./configure --prefix=/usr/local/keepalived --with-init=systemdls 
make && make install
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
vim /etc/keepalived/keepalived.conf	//配置文件如下
global_defs {
    notification_email {
	   root@localhost
    }
    notification_email_from keepalived@localhost
    smtp_server 127.0.0.1
    smtp_connect_timeout 30
    router_id LVS_DEVEL
    vrrp_skip_check_adv_addr
    #vrrp_strict
    vrrp_garp_interval 0
    vrrp_gna_interval 0
    }
vrrp_instance VI_1 {
    state BACKUP		//备
    interface eth0
    virtual_router_id 51
    priority 50			//比主调度器小
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.60.100
    }
}
virtual_server 172.25.60.100 80 {
    delay_loop 3
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP
    
    real_server 172.25.60.2 80 {
	TCP_CHECK {
        weight 1
            connect_timeout 3
            retry 3
            delay_before_retry 3
    	}
    }

    real_server 172.25.60.3 80 {
	TCP_CHECK {
        weight 1
            connect_timeout 3
            retry 3
            delay_before_retry 3
	    }
    }
}

开启keppalived时配置的vip自动在主调度器上生效

 systemctl start  keepalived  

(2)server2/3上开启配置好的apache

systemctl start httpd

测试:
当主备都开启时:查看主备ip时,vip(172.25.60.100)在server1(主)上生效,此时用物理机访问时通过server1调度访问后端服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当主调度器故障时:查看主备ip时,vip(172.25.60.100)在server2(备)上生效,此时用物理机访问时通过server2调度访问后端服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当server1恢复正常时,将继续通过server1调度(vip将回到server1上)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值