LVS+keepalived群集

一:Keepalived 双机热备基础知识

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

1.1:Keepalived 概述及安装

  1. Keepalived 的热备方式

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

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

2 . Keepalived 的安装与服务控制

(1)安装Keepalived

在CentOS 7 系统中, 使用YUM 方式安装keepalived. x86_64 0 : 1. 2. 13-8. el 7, 会自动安装Keepal ived 所需的软件包。除此之外,在LVS 群集环境中应用时,也需要用到ipvsadm管理工具

root@localhost \~\]# yum -y install keepalived ipvsadm

1.2:使用Keepalived 实现双机热备

基于VRRP 的热备方式, Keepalived 可以用作服务器的故障切换, 每个热备组可以有多台服务器------当然, 最常用的就是双机热备了。在这种双机热备方案中, 故障切换主要针对虚拟IP 地址的漂移来实现, 因此能够适用千各种应用服务器( 不管是Web 、FTP 、Mail ,还是SSH、DNS ... ... )。

本小节将通过一个简单的案例来说明Keepal i ved 双机热备的配置方法。其中,主、备服务器的IP 地址分别为172 . 16. 16. 17 3 和172. 16. 1 6.174, 基千漂移地址1 72. 16. 16. 172提供Web 服务, 如下图所示。

1.主服务器的配置

Keepalived 服务的配置目录位于/et c/keepal ived/。其中, keepalived. conf是主配置文件。另外包括一个子目录samp les/ , 提供了许多配置样例作为参考。

在Keepalived 的配置文件中,使用"g lobal_de fs { ... }"区段指定全局参数, 使用"vrrp_ ins t ance 实例名称{ ...} "区段指定VRRP 热备参数,注释文字以"!"符号开头。

root @localhost \~\]# systemct l stop firewalld //关闭防火墙 \[root @localhost \~\]# cd /etc/keepalived/ \[root @localhost keepalived\]# cp keepalived.conf keepalived.conf .bak \[root@l ocalhost keepal i ved\]# vi keepalived.conf global_defs { router_ i d HA_TEST_Rl } vrrp_inst ance VI_l { //定义VRRP 热备实例 state MASTER //热备状态, MASTER 表示主服务器 int erface ens33 //承载VIP 地址的物理接口 virtual_router_id 1 //虚拟路由器的ID 号,每个热备组保持一致 priority 100 //优先级,数值越大优先级越高 advert_int 1 //通告间隔秒数(心跳频率) authentication { //认证信息,每个热备组保持一致 auth_ type PASS //认证类型 auth_pass 123456 //密码字串 } virtual_ipaddress { //指定漂移地址(VIP),可以有多个 172. 16. 16. 172 } }

确认上述配置无误, 然后启动Keepalived 服务。实际状态为MASTER 的主服务器将为ens33 接口自动添加VIP 地址,通过ip命令可以查看。注意: ifconfig命令看不到。

  1. 备用服务器的配置

在同一个Keepa l i ved 热备组内, 所有服务器的Keepalived 配置文件基本相同, 包括虚拟路由器的ID 号、认证信息、漂移地址、心跳频率等。不同之处主要在于路由器名称、热备状态、优先级

► 路由器名称(router_i d ) : 建议为每个参与热备的服务器指定不同的名称。

► 热备状态( state ) : 至少应有一台主服务器, 将状态设为MASTER: 可以有多台备用的服务器, 将状态设为BACKUP 。

► 优先级(priority) : 数值越大则取得VIP 控制权的优先级越高, 因此主服务器的优先级应设为最高; 其他备用服务器的优先级可依次递减,但不要相同, 以免在争夺VIP 控制权时发生冲突。

配置备用服务器( 可以有多台)时,可以参考主服务器的keepalived. conf配置文件内容, 只需修改路由器名称、热备状态、优先级。

确认配置无误, 一样需要启动Keepalived 服务。此时主服务器仍然在线, VIP 地址实际上仍然由主服务器控制, 其他服务器处于备用状态。因此, 在备用服务器中将不会为ens33接口添加VIP 地址

  1. 测试双机热备功能

Keepalived 的日志消息保存在/var/log/messages 文件中, 在测试主、备故障自动切换功能时, 可以跟踪此日志文件来观察热备状态的变化。

二:LVS+Keepalived 高可用群集

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

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

使用Keepalived 构建LVS 群集时,也需要用到ipvsadm 管理工具。但大部分工作会由Keepalived 自动完成,不需要手动执行ipvsadm ( 除了查看和监控群集以外)

相关推荐
小卓笔记2 小时前
keepalived应用
linux·服务器·数据库
Hurry64 小时前
Rocky Linux 9.x 基于 kubeadm部署k8s 1.32
linux·运维·kubernetes
极客代码4 小时前
Unix 域套接字(本地套接字)
linux·c语言·开发语言·unix·socket·unix域套接字·本地套接字
zxnbmk4 小时前
ansible速查手册
linux·服务器·ansible
小卓笔记4 小时前
DNS主从服务器
运维·服务器
Muisti4 小时前
TCP 通信流程图
服务器·网络·windows
巷子里的童年ya5 小时前
Ansible模块
linux·centos·ansible
阿正的梦工坊5 小时前
Linux 命令:按内存使用大小排序查看 PID 的完全指南
linux·运维·服务器
神秘的土鸡5 小时前
Centos搭建Tomcat服务器:我的实战经验分享(成功版本 详细!)
linux·开发语言·python·tomcat·web
IT小饕餮5 小时前
linux 基础网络配置文件
linux·服务器·网络