Keepalived的子配置文件设定
在主配置文件中如果写入过多的配置不利于对于主配置文件的阅读
bash
[root@KA1 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
#故障告警接收邮箱,keepalived 状态变化会发邮件通知
notification_email {
timinglee_zln@163.com
}
#发件人邮箱
notification_email_from timinglee_zln@163.com
#smtp 邮件服务器地址,这里用本机 127.0.0.1,需要本地开启 postfix 服务才能发邮件
smtp_server 127.0.0.1
#smtp 连接超时时间 30 秒
smtp_connect_timeout 30
#路由器 ID,集群内每台 keepalived 主机 ID 要不一样,本机叫 KA1,备机可以叫 KA2
router_id KA1
#跳过部分 ARP 广播地址检查,优化 ARP 处理
vrrp_skip_check_adv_addr
#严格模式,注释掉;开启会限制 VRRP,部分环境 VIP 无法访问,这里关闭以方便测试
#vrrp_strict
#免费 ARP 报文发送间隔 1 秒,VIP 切换后快速通告全网更新 ARP 表
vrrp_garp_interval 1
#GNA 邻居通告报文间隔 1 秒
vrrp_gna_interval 1
#VRRP 组播地址,默认 224.0.0.18,这里修改为 224.0.0.44,主备两台必须一致
vrrp_mcast_group4 224.0.0.44
}
#指定独立子配置文件
include /etc/keepalived/conf.d/*.conf
[root@KA1 ~]# mkdir /etc/keepalived/conf.d -p
[root@KA1 ~]# vim /etc/keepalived/conf.d/webvip.conf
# 定义VRRP实例,实例名称WEB_VIP,主备两台实例名必须完全一致
vrrp_instance WEB_VIP {
# 本机角色 MASTER主节点;备机写BACKUP;priority优先级决定谁是主,state只是初始标记
state MASTER
# VRRP监听的物理网卡,VIP绑定在这块网卡上,你的机器是eth0
interface eth0
# 虚拟路由ID,同一个VRRP组主备必须相同,范围0‑255
virtual_router_id 51
# 优先级,数值越大优先级越高,主节点100,备机一般设90,优先级高抢VIP
priority 100
# 通告报文发送间隔,单位秒,每1秒发一次VRRP心跳报文
advert_int 1
# VRRP认证,主备密码必须一样,防止非法节点加入集群
authentication {
auth_type PASS # 认证类型:密码明文认证
auth_pass 1111 # VRRP密码,主备必须完全相同
}
# 虚拟IP地址(VIP),漂移地址,业务访问这个IP
virtual_ipaddress {
# VIP地址/掩码,绑定eth0网卡,别名设备eth0:0
172.25.254.100/24 dev eth0 label eth0:0
}
}
[root@KA1 ~]# keepalived -t -f /etc/keepalived/keepalived.conf
[root@KA1 ~]# systemctl restart keepalived.service
[root@KA1 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.254.50 netmask 255.255.255.0 broadcast 172.25.254.255
inet6 fe80::3901:aeea:786a:7227 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:26:33:d9 txqueuelen 1000 (Ethernet)
RX packets 17383 bytes 1417554 (1.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32593 bytes 3135052 (2.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.254.100 netmask 255.255.255.0 broadcast 0.0.0.0
ether 00:0c:29:26:33:d9 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 118 bytes 6828 (6.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 118 bytes 6828 (6.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0