LVS+Keepalived高可用群集

LVS+Keepalived高可用群集

一、Keepalived 双机热备

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

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 负载调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。

在基于 LVS+Keepalived 实现的 LVS 群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器。本节将以 DR 模式的 LVS 群集为基础,增加一台从负载调度器,使用Keepalived 来实现主、从调度器的热备,从而构建兼有负载均衡、高可用两种能力的 LVS 网站群集平台,如图 所示。

基础环境配置

关闭防火墙和安全机制(所有设备)

配置主、从调度器

配置主调度器步骤如下:

在101和102上安装keepalived和ipvsadm

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

主keepalived配置:

补 vrrp_strict 注释后关闭严格模式

(2)web服务器池配置

在 Keepalieved 的热备配置基础上添加"virtual server VIP 端口 {...}"区段来 配置虚拟服务器,主要包括对负载调度算法、群集工作模式、健康检查间隔、真实服务器地址等参数的设置。

从配置同理主配置
只是state状态为backup,优先级比主配置低

在主和从上启动服务

查看vip在主调度器上

lvs的策略

配置web节点服务器

根据所选择的群集工作模式不同(DR或NAT),节点服务器的配置也有些差异。以 DR模式为例,除了需要调整/proc 系统的 ARP 响应参数以外,还需要为虚拟接口 lo∶0 配置 VIP 地址,并添加一条到 VIP 的本地路由。

在103和104上配置

DR 模式需要节点服务器也配置 vip


如果要永久配置则写入/etc/rc.local中
再加权限则可永久配置

设置arp参数


创建测试网站

103:test1

104:test2

测试

测试keepalied的主从漂移

关闭101主keepalied,则VIP会去102从keepalied中

不影响客户端的访问

当网站服务器103关闭则只能访问104网站

lvs策略自动删除

当103网站修好后lvs策略自动添加回来

客户端访问正常

若后续添加NFS则参考上一章文档

相关推荐
HLC++10 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy14 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕15 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫16 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生16 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1117 小时前
linux基础IO
linux·运维·服务器
BelongPanda19 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯20 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983420 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器