Keepal ived 双机热备

1 Keepal ived 双机热备基础知识

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

1. 1 Keepal i ved 概述及安装

1. Keepalived 的热备方式

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

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

2. Keepalived 的安装与服务控制

(1)安装Keepalived

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

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

( 2 ) 控制Keepal ived 服务

YUM 安装keepalived 后, 执行以下命令将keepal i ved 服务设置为开机启动。

[root@localhost ~]# systemctl enable keepalived
Created symlink from /etc/systemd/system/multi-user.target.wants/keepalilib/systemd/system/keepalived.service.

1.2 使用Keepalived实现双机热备

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

主、备服务器中都需要安装Keepal i ved , 使用YUM 方式安装httpd 提供\Veb 服务。

1.主服务器的配置

Keepalived 服务的配置目录位于/etc/keepal ived/。其中, keepalived. conf是主配置文件。另外包括一个子目录samples/ , 提供了许多配置样例作为参考。在Keepalived 的配置文件中,使用“g lobal_de fs { … }”区段指定全局参数, 使用"vrrp_ ins t ance 实例名称{ …} "区段指定VRRP 热备参数,注释文字以“!”符号开头。

[root@localhost keepalived]# systemctl stop firewalld
[root@localhost keepalived]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak

[root@localhost keepalived]# vi keepalived.conf

global_defs {

router_id LVS_02

{

vrrp_instance VI_1 {
    state MASTER
    interface ets33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        au
th_pass 1111
    }
    virtual_ipaddress {
        192.168.10.172
    }
}

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

2. 备用服务器的配置

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

  • 路由器名称(router_i d ) : 建议为每个参与热备的服务器指定不同的名称。
  • 热备状态( state ) : 至少应有一台主服务器, 将状态设为MASTER: 可以有多台备用的服务器, 将状态设为BACKUP 。
  • 优先级(priority) : 数值越大则取得VIP 控制权的优先级越高, 因此主服务器的优先级应设为最高; 其他备用服务器的优先级可依次递减,但不要相同, 以免在争夺VIP 控制权时发生冲突。配置备用服务器( 可以有多台)时,可以参考主服务器的keepalived. conf配置文件内容, 只需修改路由器名称、热备状态、优先级。

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

3. 测试双机热备功能

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

2 LVS+Keepalived 高可用群集

Keepalived 的设计目标是构建高可用的LVS 负载均衡群集, 可以调用ipvsadm 工具来创建虚拟服务器、管理服务器池, 而不仅仅用作双机热备。使用Keepalived 构建LVS 群集更加简便易用, 主要优势体现在: 对LVS 负载调度器实现热备切换, 提高可用性;对服务器池中的节点进行健康检查, 自动移除失效节点, 恢复后再重新加入。
在基千LVS+Keepalived 实现的LVS 群集结构中, 至少包括两台热备的负载调度器, 三台以上的节点服务器。本节将以DR 模式的LVS 群集为基础,增加一台从负载调度器, 使用Keepalived 来实现主、从调度器的热备, 从而构建兼有负载均衡、高可用两种能力的LVS网站群集平台,如下图所示。

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

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值