目录
前言
一、准备工作
二、配置步骤
1、安装KeepAlived
2.配置KeepAlived
3、主备主机的KeepAlived配置文件
4、启动主备及的KeepAlived服务
5、在防火墙中放行vrrp协议
总结
前言
CentOS7通常用于部署生产环境,保障业务连续性是生产环境必须具备的能力。生产环境下的服务器通常在其服役期间内很少停机休息,随着开机时长的增长,服务器会出现各种各样的问题,有些故障势必要停机修复,在此背景下,通常需要多台服务器同时为生产提供服务,用以消除单点故障问题,本文将介绍如何利用KeepAlived程序进行双机热备,希望能给需要的读者朋友带来一些帮助,也用此文来巩固小编对此技术点的掌握。
一、准备工作
准备事项列表
序号 | 准备项 | 描述 |
1 | 两台CentOS7主机 | 可以是实体机也可以是虚拟机 |
2 | 配置好两台主机的网卡参数 | 保障两台主机处在同一网段 |
3 | 将yum源指向阿里云 | 用以提升软件下载速度 |
二、配置步骤
1、安装KeepAlived
- 命令
yum install keepalived
- 效果截图
- 详细描述
在两台主机中全部需要安装KeepAlived软件,安装过程完全相同。
2.配置KeepAlived
- 命令
vi /etc/keepalived/keepalived.conf
- 效果截图
详细描述
配置文件大致分成三个部分,第一部分是全局配置,中间部分为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
- 效果图
- 详细描述
启动后发现两台机器的状态都是一致的,同为MASTER,这样的结果是防火墙导致的,需将VRRP协议添加到防火墙放行策略中。完成策略添加后重新启动KeepAlived服务,装备状态可恢复正常。
5、在防火墙中放行vrrp协议
- 命令
firewall-cmd --permanent --add-protocol=vrrp
firewall-cmd --reload
systemctl restart keepalived
- 效果图
总结
上文便是CentOS7下利用KeepAlived配置双机设备的全部配置过程,希望能够为大家提供些许指引。