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命令看不到。

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 文件中, 在测试主、备故障自动切换功能时, 可以跟踪此日志文件来观察热备状态的变化。

二:LVS+Keepalived 高可用群集

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

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

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值