Keepalived 部署(主从、双主)

1,476 阅读2分钟

!!! 本文已参与「新人创作礼」活动,一起开启掘金创作之路。更多干货文章,可以访问 菜鸟厚非

安装

Keepalived 安装较为简单,执行 yum 目录即可

yum install keepalived -y

主从模式

服务器角色
192.168.91.135master
192.168.91.136backup

一、master

1 . 查 master 未启动 Keepalived 前 ip 信息,可看到只有当前一个主机 ip 192.168.91.135 在这里插入图片描述 2 . 配置 keepalived.conf

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.91.166/24 dev ens33 label ens33:1
    }
}

3 . 启动且加入开机自启

systemctl start keepalived
 systemctl enable keepalived

4 . 查看 IP,可以看到此时多了一个 ip ,即 vip 192.168.91.166

ip addr  

在这里插入图片描述

二、backup

1 . 查 backup 未启动 Keepalived 前 ip 信息,可看到只有当前一个主机 ip 192.168.91.136 在这里插入图片描述 2 . 配置 keepalived.conf

vim /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.91.166/24 dev ens33 label ens33:1
    }
}

3 . 同上启动且开机自启

4 . 查看 IP,可以看到此时还是只有一个 ip 192.168.91.136,是因为当前节点 backup 节点,且主节点还在存活着 在这里插入图片描述

三、主备测试

经过 一、二 两个步骤 Keepalived 已经部署成功,可以看到 VIP 在 192.168.91.166 此时在 191.168.91.135 服务器。 1 . 停止 191.168.91.135 服务器 Keepalived ,并查看 ip 。可以看到 VIP 192.168.91.166 已经消失。

systemctl stop keepalived
ip addr

在这里插入图片描述 2 . 查看 191.168.91.136 服务器 ip ,可以看到 VIP 192.168.91.166 已经飘到了此服务器 在这里插入图片描述 在这里插入图片描述

双主模式

此模式是会有两个 VIP(192.168.91.166、192.168.91.167) 分别在不同的服务器,形成相互主备的模式

服务器角色
192.168.91.135master、backup
192.168.91.136backup、master

135 服务器

1 . 在 191.168.91.135 修改 keepalived 配置文件,且重启

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.91.166/24 dev ens33 label ens33:1
    }
}

vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 2222
    }
    virtual_ipaddress {
    192.168.91.167/24 dev ens33 label ens33:2
    }
}
systemctl restart keepalived

2 . 查看 ip ,可以看到,当前服务器拥有两个 VIP 在这里插入图片描述

136 服务器

1 . 在 191.168.91.136 修改 keepalived 配置文件,且重启 keepalived

vim /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.91.166/24 dev ens33 label ens33:1
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface ens33
    virtual_router_id 52
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2222
    }
    virtual_ipaddress {
        192.168.91.167/24 dev ens33 label ens33:2
    }   
}
systemctl restart keepalived

2 . 查看两台服务器 ip 可以看到各自拥有一个 VIP 在这里插入图片描述 在这里插入图片描述

配置详解

vrrp_instance

参数说明
interface实际网卡名
virtual_router_idVRRP 路由 ID实例,每个实例是唯一的
priority优先级,备服务器设置比 master 小
advert_int指定VRRP 心跳包通告间隔时间,默认1秒
virtual_ipaddress虚拟IP(VIP)

vrrp_script

指定检查nginx工作状态脚本(根据nginx状态判断是否故障转移)