上一篇在安装过程中指定了Keepalived的配置文件目录,因此其中Keepalived的配置文件为/etc/Keepalived/keepalived.conf和keepalived的所有配置文件由于Keepalived配置文件包含许多设置,因此这里按功能将Keepalived配置文件分为以下三个部分:
全局配置(全局配置)
VRRP配置
LVS的构成
Keepalived的配置文件组织为块,每个块的内容包含在{}中,与#! 的第一行都是注释。
注意: {}前面需要空间; 此外,Keepalived没有配置文件检测机制,即使配置文件错误,Keepalived也可以正常启动,但不能正常工作。
本节首先使用Keepalived的HA功能,因此介绍了Keepalived配置文件的全局和VRRP部分的配置。
1、全球结构
的简单全局配置如下:
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification _ email _ from Alexandre.cassen @ firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
notification_email :定义接收报警邮件的地址,每行可设置一个以上。 请注意,要打开邮件提醒,必须在本地打开sendmail服务
通告_ email _ from :定义邮件的目标
smtp_server :定义发送邮件的SMTP服务器的地址
SMTP _ connect _ time out :定义连接到SMTP服务器的超时时间
router _ id :定义keepalived服务器的显示,在发送邮件时显示在邮件主题中
2、VRRP部分配置
VRP部分配置是所有关键配置的核心,主要用于实现关键高可用性功能。 VRRP部分主要用于配置节点角色(主节点或从节点)、实例绑定的网络接口、节点之间的身份验证机制、虚拟IP等。 一般设定项目如下。
vrrp_instance VI_1 {
状态主程序
接口eth 0
virtual_router_id 51
优先级100
advert_int 1
跟踪_接口{
eth0
eth1
}
认证动作{
auth_type PASS
auth_pass 1111
}
virtual _ IP地址{
192.168.200.16
192.168.200.17
192.168.200.18
}
nopreempt
preemtp_delay 300
notify_master 'xxx.sh '
notify_backup 'xxx.sh '
notify_fault 'xxx.sh '
notify_stop 'xxx.sh '
}
VRRP部分由vrrp_instance标识,该实例包含若干设置。
vrrp _ instance :自定义实例名称跟在vrrp实例的开头
state :定义此关键角色。 MASTER表示主服务器,BACKUP表示备用服务器
接口:定义keepalived监视的网络接口
virtual_router_id :定义虚拟根id。 是数字。 同一HA群集中的Master和Backup的虚拟根id必须匹配
优先级:定义节点的优先级。 数字越大,表示优先级越高。 在单个HA群集中,主机优先级最高,优先级高的备份很可能被选为下一个主机
advert _ int :定义master和Backup之间的检测间隔(以秒为单位)
track_interface :定义用于附加监视的网络接口。 其中一个接口故障Keepalived变为FAULT状态
认证:定义节点之间的通信认证类型和密码。 auth_type用于定义验证类型,有两种类型:路径和AH; auth_pass用于定义密码,每个节点之间的密码必须相同才能正常通信
virtual _ IP地址—允许定义虚拟IP地址(VIP ),并在每行中设置多个虚拟IP。 Keepalived使用系统命令ip address add将虚拟IP添加到主操作系统中,以便您可以查看使用ip addr命令添加的虚拟IP; 添加IP的方法各不相同,包括直接使用IP地址,以xxx.xxx.xxx.xxx dev eth0的方式将虚拟IP绑定到特定网络接口,以及xxx.xxx.xxx.xxx/24
nopreempt :定义节点的不抢占功能。 在集群进行了一次主备用交换机后,原始主机恢复正常后,不再次成为主机,而是等待当前运行的主机出现故障后再次成为主机。 这样可以避免备用切换带来的风险。 请注意,只有备份节点的state必须设置为非抢占模式,而且只能在高优先级节点上设置
preemtp_delay :定义切换延迟时间、单位秒,避免在定义的时间内发生主切换。 重新启动网络和服务,用于不想发生备用切换的场景
notify _ master :定义keepalived进入master状态时运行的脚本。 它可以是报警脚本或服务管理脚本。 此外,脚本还允许接收参数
notify _ backup :定义keepalived进入backup状态时运行的脚本
notify _ fault :定义keepalived进入fault状态时运行的脚本
notify _ stop :定义keepalived停止后运行的脚本