目录

前言

         一、准备工作

二、配置步骤

1、安装KeepAlived

2.配置KeepAlived

3、主备主机的KeepAlived配置文件

4、启动主备及的KeepAlived服务

5、在防火墙中放行vrrp协议

总结


前言

        CentOS7通常用于部署生产环境,保障业务连续性是生产环境必须具备的能力。生产环境下的服务器通常在其服役期间内很少停机休息,随着开机时长的增长,服务器会出现各种各样的问题,有些故障势必要停机修复,在此背景下,通常需要多台服务器同时为生产提供服务,用以消除单点故障问题,本文将介绍如何利用KeepAlived程序进行双机热备,希望能给需要的读者朋友带来一些帮助,也用此文来巩固小编对此技术点的掌握。

一、准备工作

准备事项列表

序号

准备项

描述

1

两台CentOS7主机

可以是实体机也可以是虚拟机

2

配置好两台主机的网卡参数

保障两台主机处在同一网段

3

将yum源指向阿里云

用以提升软件下载速度

二、配置步骤

1、安装KeepAlived

  • 命令

yum install keepalived

  • 效果截图

centos 7 kworker进程很多 centos7keepalived_服务器

  • 详细描述

在两台主机中全部需要安装KeepAlived软件,安装过程完全相同。

2.配置KeepAlived

  • 命令

vi /etc/keepalived/keepalived.conf

  • 效果截图

centos 7 kworker进程很多 centos7keepalived_服务器_02

详细描述

        配置文件大致分成三个部分,第一部分是全局配置,中间部分为VRRP实例配置部分,最后一部分为虚拟服务器转发的部分。本文的目的是只部署服务器的HA,所以第三部分的配置暂且忽略不谈,我们只详细讲解第一部分以及中间部分的配置。具体参数的配置说明如下表:

配置参数清单

序号

配置项

配置项描述

1

 notification_email

主备节点发生切换时通知邮件所发送的目的邮箱地址

2

 notification_email_from

发件人的邮箱地址

3

smtp_server 

发件服务器的地址

4

smtp_connect_timeout

连接发件服务器的超时时长

5

router_id LVS_DEVEL

keepalived的标志

6

vrrp_skip_check_adv_addr

跳过vrrp报文的通告地址,降低vrrp报文校验的耗时

7

vrrp_strict

严格遵守vrrp协议规则

8

vrrp_garp_interval 

每组gratuitous arp的延时单位为秒,默认为0

9

vrrp_gna_interval 

na消息延时

10

 state MASTER

keepalived启动后的初始状态,默认为MASTER状态,可以配置成BACKUP状态

11

interface 

接入网络的网络适配器名称,例如:ens33等

12

virtual_router_id 

虚拟路由ID,主备两台机器应配置成相同的值

13

priority 

主备争抢的优先级,数值越大优先级越高

14

advert_int

主备之间同步检查的时间间隔以秒为单位

15

auth_type 

同组之间通讯的认证类型,取PASS或AH,PASS比较通用

16

auth_pass 

 

认证秘钥,主备配置必须相同

17

virtual_ipaddress 

统一向外开发的虚拟IP地址,每条一行

3、主备主机的KeepAlived配置文件

  • MASTER配置文件
! Configuration File for keepalived

global_defs {
   notification_email {
     jasonzhang1224@163.com
   }
   notification_email_from jasonzhang1224@163.com
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL_master
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface bond0
    virtual_router_id 1
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass a123456.
    }
    virtual_ipaddress {
        192.168.123.135
    }
}
  • BACKUP配置文件
! Configuration File for keepalived

global_defs {
   notification_email {
     jasonzhang1224@163.com
   }
   notification_email_from jasonzhang1224@163.com
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface bond0
    virtual_router_id 1
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass a123456.
    }
    virtual_ipaddress {
        192.168.123.135
    }
}

4、启动主备及的KeepAlived服务

  • 命令

添加启动项:systemctl enable keepalived

启动服务:systemctl status keepalived

  • 效果图

centos 7 kworker进程很多 centos7keepalived_centos_03

centos 7 kworker进程很多 centos7keepalived_服务器_04

 

  • 详细描述

        启动后发现两台机器的状态都是一致的,同为MASTER,这样的结果是防火墙导致的,需将VRRP协议添加到防火墙放行策略中。完成策略添加后重新启动KeepAlived服务,装备状态可恢复正常。

5、在防火墙中放行vrrp协议

  • 命令

firewall-cmd --permanent --add-protocol=vrrp

firewall-cmd --reload

systemctl restart keepalived

  • 效果图

centos 7 kworker进程很多 centos7keepalived_服务器_05

centos 7 kworker进程很多 centos7keepalived_负载均衡_06

总结

        上文便是CentOS7下利用KeepAlived配置双机设备的全部配置过程,希望能够为大家提供些许指引。