LVS+Keepalived群集

 Keepalived 双 机 热 备 基 础 知 识

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

 Keepalived概述

1.Keepalived   的热备方式

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

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

2.Keepalived  的安装与服务控制

(1)安装Keepalived

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

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

(2)控制Keepalived   服务

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

[root@localhost ~]# systemctl enable keepalived

使用Keepalived 实现双机热备

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

主、备服务器中都需要安装Keepalived, 使用YUM方式安装httpd  提供Web服务。

1.主服务器的配置

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

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

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

[root@localhost keepalived]# systemctl start keepalived 

[root@localhost keepalived]# ip addr show dev ens33

2. 备用服务器的配置

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

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

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

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

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

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

3. 测试双机热备功能

Keepalived 的日志消息保存在/var/log/messages  文件中,在测试主、备故障自动切换功能时,可以跟踪此日志文件来观察热备状态的变化。以针对连通性和Web服务的测试为例,主要操作如下。

(1)连通性测试

在客户机中执行“ping -t172.16.16.172” 命令,能够正常、持续ping 通,根据以下操作继续观察测试结果。

① 停止启用主服务器的Keepalived服务,发现ping测试只中断了1或2个包即恢复正常,说明已有其他服务器接替VIP地址,并及时响应客户机请求。

② 重新启用主服务器的Keepalived服务,发现ping测试再次中断1或2个包即恢复正常,说明主服务器已恢复正常,并夺回VIP 地址的控制权。

(2)Web 访问测试

在客户机中访问http://172.16.16.172/,  将看到由主服务器172.16.16.173提供的网页文档。

① 停止启用主服务器的Keepalived服务,再次访问上述Web服务,将看到由备用服务 器172.16.16.174提供的网页文档,说明VIP地址已切换至备用服务器。

② 重新启用主服务器的Keepalived服务,再次访问上述 Web服务,将看到重新由主服 务器172.16.16.173提供的网页文档,说明主服务器已重新夺取VIP地址。

(3)查看日志记录

在执行主、备服务器故障切换的过程中,分别观察各自的/var/log/messages   日志文件, 可以看到MASTER、SLAVE 状态的迁移记录。

① 主服务器中,Keepalived 服务状态先变为“stop”,移除VIP 地址,恢复后重新变为 MASTER。

② 备用服务器中,状态先切换为MASTER,待主服务器恢复后再交回控制权。

通过上述测试过程,可以发现双机热备已经正常。客户机只要通过VIP地址就可以访问服务器所提供的Web等应用。其中,任何一台服务器失效,另一台服务器将会立即接替服务,从而实现高可用性。实际应用时,注意主、备服务器所提供的Web服务内容要保持一致。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值