CentOS Keepalived 安装与配置指南
一、Keepalived简介
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
编译和安装
进入解压后的目录,进行编译和安装:
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 地址、优先级等信息:
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,以及如何进行高级配置以适应不同的应用场景,掌握这些技能可以帮助系统管理员更好地保障网络服务的稳定性和可靠性。