当前位置: 首页 > news >正文

LVS + Keepalived 高可用群集

目录

一 、 Keepalived 双机热备基础知识

1. Keepalived 概述及安装

1.1 Keepalived 的热备方式

二、 使用 Keepalived 实现双机热备

1. 基础环境配置

2. 配置主调度器

3. 配置从调度器

4. 配置Web节点服务器

5. 测试 LVS+Keepalived 高可用群集


一 、 Keepalived 双机热备基础知识

Keepalived 起初是专门针对 LVS 设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检査(Health Checking)功能--判断 LVS 负载调度器、节点服务器的可用性,当master 主机出现故障及时切换到 backup节点保证业务正常,当 master 故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。

1. Keepalived 概述及安装

Keepalived 的官方网站位于 http://www.keepalived.org/,在非 LVS 群集环境中使用时,Keepalived 也可以作为热备软件使用。

1.1 Keepalived 的热备方式

Keepalived 采用 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux 服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案--由多台路由器组成一个热备组,通过共用的虚拟 IP地址对外提供服务;每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态。若当前在线的路由器失效,则其他路由器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。

热备组内的每台路由器都可能成为主路由器,虚拟路由器的IP 地址(VIP)可以在热备组内的路由器之间进行转移,所以也称为漂移IP地址。使用Keepalived 时,漂移地址的实现不需要手动建立虚接口配置文件(如 ens33 :0),而是由 Keepalived 根据配置文件自动管理。

二、 使用 Keepalived 实现双机热备

Keepalived 的设计目标是构建高可用的 LVS 负载均衡群集,可以调用ipvsadm 工具来创建虚拟服务器、管理服务器池,而不仅仅用作双机热备。使用Keepalived 构建 LVS 群集更加简便易用,主要优势体现在:对 LVS 负载调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

案例环境

操作系统配置IP服务
0penEuler242C4G192.168.10.101Keepalived/ipvsadm
0penEuler242C4G192.168.10.102Keepalived/ipvsadm
0penEuler242C4G192.168.10.103httpd
0penEuler242C4G192.168.10.104httpd
0penEuler242C4G192.168.10.105用于测试

1. 基础环境配置

关闭防火墙

systemctl stop firewalld

关闭内核安全机制

setenforce 0

2. 配置主调度器

配置主调度器步骤如下:

(1) 安装Keepalived与ipvsadm

(2)全局配置、热备配置

首先为主、从调度器实现热备功能,漂移地址使用 LVS 群集的 VIP 地址。

启动服务

3. 配置从调度器

从调度器的配置与主调度器基本相同,也包括全局配置、热备配置、服务器池配置,只需要调整 router_id、state、priority 参数即可,其余内容完全相同。配置完成以后重启 Keepalived 服务。

启动服务

4. 配置Web节点服务器

(1) 安装httpd

(2) 配置测试页面并启动服务

(3) 临时添加 VIP(重启失效)

(4) 修改内核参数

添加以下内容

5. 测试 LVS+Keepalived 高可用群集

在客户机的浏览器中,能够通过LVS+Keepalived 群集的 VIP 地址(192.168.10.172)正 常访问 Web 页面内容。当主、从调度器任何一个失效时,Web 站点仍然可以访问(可能需要 刷新或者重新打开浏览器);只要服务器池有两台及以上的真实服务器可用,就可以实现访问量的负载均衡。

http://www.xdnf.cn/news/703999.html

相关文章:

  • Redis Stack常见拓展
  • K6 是什么
  • ubuntu24 安装MongoDB-6.0.24 数据库操作步骤和配置参数说明
  • QuickBASIC QB64 支持 64 位系统和跨平台Linux/MAC OS
  • 使用Redisson实现分布式锁发现的【订阅超时】Subscribe timeout: (7500ms)
  • AI绘画:Stable Diffusion从入门到精通(系列教程)
  • ONLYOFFICE文档API:编辑器的品牌定制化
  • 算法训练第二天
  • 【AI智能体】Coze 插件从使用到实战详解
  • 从法律层面剖析危化品证书:两证一证背后的安全逻辑
  • Perforce P4产品简介:无限扩展+全球协作+安全管控+工具集成(附下载)
  • Android 异步编程中协程的完整实战示例
  • OpenFeign vs MQ:微服务通信如何选型?详解同步与异步的适用场景
  • C++23 std::fstreams基础回顾
  • 【25软考网工】第九章(2)网络管理命令
  • Vue-Router 基础使用
  • 结构性设计模式之Bridge(桥接)
  • 如何处理 Python 入门难以进步的现象
  • 常见路由协议解析:从原理到应用场景
  • 深入解析 Spring @Transactional 的事务开启机制
  • 谈谈iostat
  • 企业信息化/数字化项目管理办法V3.0
  • 红棉花板材亮相德国科隆展 东方智造赋能全球家居未来
  • 二重积分 -- 立体的体积
  • C++与Java类和对象的异同
  • 依赖nacos实例动态创建线程池并监听服务上下线
  • 深度解读漏洞扫描:原理、类型与应用实践
  • PostGIS栅格数据类型解析【geomval】
  • makefile学习笔记
  • Java图片处理实战:Imgscalr技术方案