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,我们可以实现服务的冗余备份,确保系统的高可用性。在实际应用中,我们可以根据需求进行配置和优化,以满足不同场景下的高可用性需求。

目录
相关文章
|
4天前
|
弹性计算 安全 Cloud Native
Alibaba Cloud Linux镜像系统超好用!兼容CentOS生态,性能稳定性绝对可以!
Alibaba Cloud Linux是阿里云的自研Linux发行版,兼容CentOS/RHEL,提供长期免费支持。它针对云服务器ECS优化,适用于多种场景,如Web服务、云原生应用等。Alibaba Cloud Linux 3基于Anolis OS 8,提供安全、高性能、十年维护及丰富的开源生态。用户可在ECS购买时选择镜像安装,支持多架构并提供热补丁、解决方案和快速启动版。更换ECS操作系统是免费的。
37 5
|
2天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
15 1
|
10天前
|
监控 Linux 数据处理
lslocks:Linux系统中的锁信息查看利器
`lslocks`是Linux工具,用于查看系统上的文件锁信息,帮助诊断进程同步问题。它显示持有锁的进程、锁类型(如POSIX、flock)和状态。通过简洁的输出,用户能识别死锁和资源争用,优化性能。结合其他命令如`grep`和`awk`可增强分析能力。需适当权限运行,定期监控以预防并发访问问题,处理死锁时要谨慎。
|
7天前
|
Linux 数据处理
Linux中的nproc命令:轻松查看系统CPU核心数
`nproc`命令在Linux中用于查看CPU核心数,简洁高效,无参数直接运行。它读取`/proc/cpuinfo`获取信息,适用于资源分配。例如,`nproc`显示核心数,`nproc --all`(非标准选项,可能需结合其他命令)展示更多详情。在脚本中,可将`nproc`输出赋值给变量以适应动态资源管理。使用时注意文件访问权限,检查结果准确性,并结合其他工具如`lscpu`获取更全面硬件信息。
|
10天前
|
监控 Linux 数据处理
探索Linux中的`lsmem`命令:深入了解系统内存布局
`lsmem`是Linux命令,用于显示系统内存布局和大小,帮助管理员和开发者理解内存使用情况。它提供详细输出,包括内存块的大小、范围、类型和关联,支持多种格式展示,如树状图。命令参数如`-h`显示帮助,`-t`以树形展示,`--human-readable`使大小更易读。需root权限运行,常与`free`、`vmstat`等工具结合使用,用于监控和优化内存。注意不同发行版可能存在兼容性差异。
|
13天前
|
存储 监控 安全
深入探索Linux的journalctl命令:系统日志的利器
**journalctl 深入解析:Linux 系统日志的强大工具** journalctl 是 Linux 中用于查询和管理 systemd 日志的命令行工具,与 systemd-journald 配合收集广泛的信息,包括内核消息和服务日志。它提供实时追踪、过滤、导出等功能,如 `-f` 实时监控,`-u` 过滤特定服务日志,`-k` 显示内核消息,`--since` 和 `--until` 选择时间范围。在实际应用中,结合权限管理、日志空间控制和有效过滤,journalctl 成为系统管理员诊断和优化系统的得力助手。
|
11天前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
|
11天前
|
存储 安全 Linux
一行代码使Linux系统崩溃?
一行代码使Linux系统崩溃?
15 1
|
12天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
15天前
|
网络协议 Linux 网络安全
Linux命令hostnamectl:掌握系统主机信息的利器
`hostnamectl`是Linux系统管理的关键工具,用于查看和设置主机名、内核信息等。它集成在`systemd`中,通过修改配置文件交互。命令特点包括综合显示多种信息、简单语法和设置功能。例如,`hostnamectl status`显示系统详情,`sudo hostnamectl set-hostname NEWHOSTNAME`用于更改主机名。使用时注意权限、备份配置、更新网络和重启相关服务,避免频繁更改。

热门文章

最新文章