HCRM博客

如何在CentOS上安装和配置Keepalived以实现高可用性?

CentOS Keepalived 安装与配置指南

一、Keepalived简介

如何在CentOS上安装和配置Keepalived以实现高可用性?-图1
(图片来源网络,侵权删除)

Keepalived 是一个基于 VRRP (Virtual Router Redundancy Protocol) 协议的容错软件,用于提高络服务的可用性与可靠性,它通常用于实现路由器和交换机的高可用性,但也可以在负载均衡器(如LVS)前提供高可用性服务,Keepalived的主要功能包括健康检查和故障切换,当主节点出现故障时,备份节点会自动接管其工作。

二、安装 Keepalived

系统更新

在安装 Keepalived 之前,首先确保系统是最新的:

sudo yum update y

安装依赖包

Keepalived 需要一些依赖包来支持其编译和运行:

sudo yum install y gcc openssldevel libnl3devel netsnmpdevel

下载和解压源码

从官网或镜像站下载 Keepalived 源码,并解压:

cd /opt
sudo wget https://www.keepalived.org/software/keepalived2.2.8.tar.gz
sudo tar zxvf keepalived2.2.8.tar.gz
cd keepalived2.2.8

编译和安装

进入解压后的目录,进行编译和安装:

如何在CentOS上安装和配置Keepalived以实现高可用性?-图2
(图片来源网络,侵权删除)
sudo ./configure prefix=/usr/local/keepalived
sudo make && sudo make install

配置环境变量

将 Keepalived 添加到系统环境变量中:

echo "export PATH=\$PATH:/usr/local/keepalived/bin" >> ~/.bash_profile
source ~/.bash_profile

三、配置 Keepalived

编辑配置文件

Keepalived 的主配置文件是/usr/local/keepalived/etc/keepalived/keepalived.conf,可以使用 vi 或其他文本编辑器进行编辑:

sudo vi /usr/local/keepalived/etc/keepalived/keepalived.conf

全局定义(global_defs)

在配置文件顶部设置全局定义,例如路由器 ID:

global_defs {
    router_id lb132
}

> 3.VRRP 实例定义(vrrp_instance)

定义一个 VRRP 实例,其中包含虚拟 IP 地址、优先级等信息:

如何在CentOS上安装和配置Keepalived以实现高可用性?-图3
(图片来源网络,侵权删除)
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.75.131
    }
}

> 4.启动 Keepalived

保存配置文件后,启动 Keepalived:

sudo systemctl start keepalived

> 5.设置开机自启

为了确保 Keepalived 在系统重启后自动启动,执行以下命令:

sudo systemctl enable keepalived

四、验证 Keepalived 安装与配置

检查状态

使用以下命令检查 Keepalived 的运行状态:

sudo systemctl status keepalived

或者查看绑定的虚拟 IP:

ip a | grep 192.168.75.131

测试故障转移

模拟主节点故障,观察备用节点是否接管了虚拟 IP 地址,可以通过停止主节点的 Keepalived 服务来进行测试:

sudo systemctl stop keepalived

然后观察备用节点是否获取了虚拟 IP 地址。

五、高级配置与优化

非抢占模式配置

在某些场景下,可能不希望备用节点接管主节点的工作,这时可以配置非抢占模式:

vrrp_instance VI_1 {
    state BACKUP
    nopreempt
    interface ens33
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.75.131
    }
}

在这种配置下,即使备用节点的优先级高于主节点,也不会在主节点恢复后重新接管虚拟 IP。

Keepalived 作为一款高效的高可用性解决方案,通过简单的配置即可实现网络服务的故障转移,本文详细介绍了如何在 CentOS 系统上安装、配置和验证 Keepalived,以及如何进行高级配置以适应不同的应用场景,掌握这些技能可以帮助系统管理员更好地保障网络服务的稳定性和可靠性。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/16154.html

分享:
扫描分享到社交APP
上一篇
下一篇