Linux系统下的keepalived双机热备

简介: 在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。

前言

本篇将简述的内容:Linux系统下的keepalived双机热备


一、概述

Keepalived 是一个基于 VRRP 协议来实现的,在多台服务器之间共享一个或多个虚拟IP地址,实现服务器的冗余备份。


1.原理

在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但

是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。


2使用方法

(一) 监控服务

keepalived可以通过监控服务的方式来实现高可用性。可以使用脚本来监控服务的运行状态,当服务出现故障时,keepalived将自动切换到备用服务器。


(二)虚拟IP地址的切换

keepalived通过VRRP协议来实现虚拟IP地址的切换。当主服务器出现故障时,备用服务器将接管虚拟IP地址,确保服务的连续性。


二、安装

配置基础环境

防火墙,SElinux,IP地址

安装keepalived


yum install -y keepalived


配置文件

/etc/keepalived/keepalived.conf

配置项


router_id 1 定义节点id

state MASTER BACKUP

interface ens33 配置监听的网卡

virtual_router_id 51 同一个热备组要保持一致

priority 100 节点优先级

advert_int 1 多少秒进行一次心跳检测

authentication {auth_type PASS auth_pass 1111} keepalived节点的认证方式,同一个keepalived双机热备组一定要保持一致

virtual_ipaddress 配置VIP,即漂移地址

core 主进程启动

vrrp vrrp协议:热备份路由协议

check 健康状态检测

三、配置双机热备

vim /etc/keepalived/keepalived.conf

master|backup


vrrp_instance VI_1 {
    state MASTER/BACKUP
    interface ens33
    virtual_router_id 51
    priority 100/80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
}


四、验证

ping验证

ping 自设虚拟IP地址

服务验证

分别在两台主机中安装httpd

启动web服务

启动keepalived服务

systemctl start httpd

systemctl start keepalived

访问虚拟ip查看是否跳转至web服务


五、双机热备的脑裂现象

Keepalived配置里同一 VRRP实例

如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。

vrrp实例名字不一致、优先级一致

防火墙打开,导致心跳无法正常通信

网卡故障

网卡进行多路复用

VIP无法通信

注释:vrrp_strict


总结

keepalived是一个非常强大的高可用性解决方案,可以在Linux系统下实现双机热备。通过配置keepalived,我们可以实现服务的冗余备份,确保系统的高可用性。在实际应用中,我们可以根据需求进行配置和优化,以满足不同场景下的高可用性需求。

目录
相关文章
|
8天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
35 4
|
5天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
69 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
7天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
26 5
Linux系统之安装OneNav个人书签管理器
|
6天前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
43 2
Linux系统之部署Linux管理面板1Panel
|
9天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
25 5
Linux系统之安装Ward服务器监控工具
|
1天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
20 3
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
3天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。Linux系统
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
2天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。