Keepalived高可用

Keepalived

Keepalived 是一个基于 VRRP 协议(Virtual Router Redundancy Protocol)的路由软件,用于为Linux系统(或者基于Linux内核的系统)提供负载均衡高可用性功能。其负载均衡框架依赖于LVS(Linux Virtual Server)中的IPVS内核模块。

运行过程大致为:多台安装keepalived服务器共同虚拟出一个VIP(Virtual IP),客户端通过VIP进行访问。VIP会绑定在优先级最高的Master节点的网卡上。当Master节点出问题了,次优先级的节点会代替Master的位置,VIP会绑定到该节点的网卡上,这个过程称为IP漂移

Example

准备两台机器(都安装上nginx):

KL1:172.28.128.3
KL2:172.28.128.4

分别安装Keepalived:

sudo yum install -y keepalived

安装完成后配置文件默认位置为/etc/keepalived/keepalived.conf

让KL1作为Master,KL2作为Backup,分别配置:

# KL1 keepalived.conf
vrrp_instance VI_1 {
    state MASTER    # keepalived角色,MASTER为主,BACKUP为备
    interface eth1    # 参与虚拟的网卡
    virtual_router_id 51    # 虚拟路由编号,主从需一致
    priority 101    # 优先级
    advert_int 1    # vrrp检查间隔,默认为1s
    authentication {	# 认证
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        172.28.128.100    # 虚拟的IP
    }
}
# KL2 keepalived.conf
vrrp_instance VI_1 {
    state BACKUP    
    interface eth1    
    virtual_router_id 51  
    priority 100   
    advert_int 1  
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        172.28.128.100
    }
}

重启服务:

sudo systemctl restart keepalived.service

查看KL1的网卡信息,多出一个虚拟ip
在这里插入图片描述

$ for i in $(seq 10); do curl 172.28.128.100;done
I am KL1
I am KL1
I am KL1
I am KL1
I am KL1

在客户端查看arp表,mac地址为KL1的eth1网卡物理地址:

$ arp -a
? (172.28.128.100) at 8:0:27:a2:14:57 on vboxnet2 ifscope [ethernet]

关闭KL1的keepalived.service,虚拟IP漂移到KL2:
在这里插入图片描述
此时KL2会发送一个arp广播,通知变更VIP的mac地址为自身的网卡地址,在客户端上再次查看arp表,mac地址已修改:

$ arp -a
? (172.28.128.100) at 8:0:27:d6:f0:df on vboxnet2 ifscope [ethernet]
for i in $(seq 5); do curl 172.28.128.100;done
I am KL2
I am KL2
I am KL2
I am KL2
I am KL2

Refs

https://www.keepalived.org/
https://github.com/acassen/keepalived
https://access.redhat.com/documentation/zh-tw/red_hat_enterprise_linux/7/html/load_balancer_administration/ch-lvs-overview-vsa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值