keepalived双机热备

一.keepalived双机热备份基础知识

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

1.Keepalived概述

Keepalived的官方网站位于http://www.keepalived.org/,本章将以YUM方式讲解Keepalived的安装、配置和使用过程。在非LVS群集环境中使用时,Keepalived也可以作为热备软件使用。

Keepalived的热备方式:

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

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

2.使用Keepalived实现双机热备份

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

二.双机热备份实验

1.实验环境

通过一个简单的案例来说明Keepalived双机热备的配置方法。其中,主、备服务器的IP地址分别为172.16.16.173和172.16.16.174,基于漂移地址172.16.16.172提供Web服务,如图所示

2.Keepalived的安装与服务控制

(1)安装Keepalived

yum -y install keepalived ipvsadm

(2)开机自启

systemctl enable Keepalived

3.主服务器配置

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

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

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

4.备份服务器的配置

在同一个Keepalived热备份组内,所有服务器的Keepalived配置文件基本相同,包括虚拟路由器的ID号,认证信息,漂移地址,心跳频率等;不同之处:

  1. 路由器名称(router_id):建议为每个参与热备的服务器指定不同的名称
  2. 热备状态(state):至少应有一台主服务器,将或者哪个台设为MASTER;可以有多台备用的服务器,将状态设为BACKUP。
  3. 优先级(priority):数值越大则取得VIP控制权的优先级越高,因此主服务器的优先级应设为最高;其他备用服务器的优先级可依次递减,但不要相同,以避免在争夺VIP控制权时发生冲突。

配置完成后启动Keepalived服务,只要主服务仍然正常,VIP地址就有主服务器控制,其他服务器处于备用状态,因此,在备用服务器中奖不会为ens33接口添加VIP地址。

5.测试

主备服务器都配置完成后,将主服务关闭,会发现VIP地址会被添加到备服务的ens33上,此时在使用ip a命令在备服务器查询就可以看到。

相关推荐
暗恋 懒羊羊16 分钟前
Linux 生产者消费者模型
linux·开发语言·ubuntu
安红豆.1 小时前
Linux基础入门 --13 DAY(SHELL脚本编程基础)
linux·运维·操作系统
..空空的人1 小时前
linux基础指令的认识
linux·运维·服务器
penny_tcf1 小时前
Linux基础命令halt详解
linux·运维·服务器
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
什么鬼昵称1 小时前
Pikachu-xxe-xxe漏洞
网络·安全·xxe
N1cez1 小时前
vscode 连接服务器 不用输密码 免密登录
服务器·vscode
杨哥带你写代码2 小时前
构建高效新闻推荐系统:Spring Boot的力量
服务器·spring boot·php
荣世蓥2 小时前
10.2 Linux_进程_进程相关函数
linux·运维·服务器