千家信息网

搭建Keepalived实现双机热备

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,一.Keepalived双击热备概述Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能一判断 L
千家信息网最后更新 2024年11月25日搭建Keepalived实现双机热备

一.Keepalived双击热备

  • 概述
  • Keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(Health Checking)功能一判断 LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集。

  • 通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。

    当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。

  • VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议

keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。

在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协 同工作,共同构成一台虚拟路由器。

Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由 中会重新选举出一个主控路由,来继续工作,来保障不间断服务。

  • 安装
[ root@localhost ~]# yum install -y keepalived ipvsadm[root@localhost ~]# systemct1 enable keepalivedCreated symlink from /etc/systemd/ system/ multi-user. target .wants/keepalived.service to /usr/1ib/sys temd/system/keepal ived. service.

Keepalived可作为服务器的故障切换,故障切换主要针对虚拟IP地址的漂移来实现,因此能够适用于各种应用服务器(不管是web、FTP、Mail、还是SSH、DNS)。
下面介绍Keepalived的配置:

配置主服务器
安装Keepalived服务后,编辑Keepalived主配置文件:/etc/keepalived/keepalived.conf
在配置文件中,修改"global_defs{….}"区域可设置全局参数;修改"vrrp_instance 实例名称 {….}"区域可指定VRRP热备参数;
注释文字以"!"符号开头
修改配置文件:

vim /etc/keepalived/keepalived.conf 修改内容如下: glabal_defs { route_id R1 //服务器名称 } vrrp-instance VI_1 { state MASTER //确定热备类型(MASTER为主,BUCKUP为备) interface ens33 //热备份接口 virtal_router_id 1 //热备份组号 priority 100 //优先级(高的为主) advert_int 1 //Hello time } authentication { auth_type PASS auth_pass 12345 //密码认证(主备相同) } virtual_ipaddress { 192.168.18.254 //(VIP地址) } 

  • 配置备份服务器

在同一个Keepalived热备组内,所有服务器的Keepalived配置文件基本相同,所以在配置备份服务器时,可以参考主服务器的配置文件,只修改服务器名称、热备状态、优先级就可以了。
配置步骤与主基本相同:

安装软件包 yum -y install keepalived 编辑主配置文件 vim /etc/keepalived/keepalived.conf glabal_defs { route_id R2 //服务器名称 } vrrp-instance VI_1 { state BACKUP //确定热备类型(MASTER为主,BUCKUP为备) interface ens33 //热备份接口 virtal_router_id 1 //热备份组号 priority 30 //优先级(高的为主) advert_int 1 //Hello time } authentication { auth_type PASS auth_pass 12345 //密码认证(主备相同) } virtual_ipaddress { 192.168.18.254 //(VIP地址) } 

  • 测试
    可以通过一个简单的方法验证:使用客户机长pingVIP地址,然后将主服务器关闭,查看是否能通;
    通过测试发现:当主服务器关闭后ping测试在中断一次后即恢复正常,说明备份服务器夺回了VIP地址的控制权,服务恢复正常运行。

最后,当主服务器断开时,备份服务器会立刻转变为主服务器,正常使用。

0