Master 节点配置文件 (keepalived.conf)
! Configuration File for keepalived global_defs { router_id MASTER_NODE } vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight -20 } vrrp_instance VI_1 { state MASTER interface eth0 # 修改为您的网络接口名 virtual_router_id 51 priority 100 # Master 优先级通常更高 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 # 虚拟 IP 地址 } track_script { chk_nginx } notify_master "/etc/keepalived/notify_master.sh" notify_backup "/etc/keepalived/notify_backup.sh" notify_fault "/etc/keepalived/notify_fault.sh" }
Backup 节点配置文件 (keepalived.conf)
! Configuration File for keepalived global_defs { router_id BACKUP_NODE } vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 weight -20 } vrrp_instance VI_1 { state BACKUP interface eth0 # 修改为您的网络接口名 virtual_router_id 51 priority 90 # Backup 优先级通常更低 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 # 虚拟 IP 地址 } track_script { chk_nginx } notify_master "/etc/keepalived/notify_master.sh" notify_backup "/etc/keepalived/notify_backup.sh" notify_fault "/etc/keepalived/notify_fault.sh" }
在上面的配置中,我们定义了一个名为 VI_1
的 VRRP 实例。Master 节点具有更高的优先级(100),而 Backup 节点具有较低的优先级(90)。当 Master 节点出现故障时,Backup 节点将接管虚拟 IP 地址。
vrrp_script
部分定义了一个检查脚本 /etc/keepalived/check_nginx.sh
,用于检查 Nginx 服务是否正常运行。如果 Nginx 服务停止运行,Keepalived 将降低节点的优先级,从而触发主备切换。
notify_master
、notify_backup
和 notify_fault
分别定义了当节点成为主节点、备份节点或出现故障时执行的脚本。您可以根据需要创建这些脚本,以执行特定的操作。
请注意,您需要确保 check_nginx.sh
和通知脚本在 /etc/keepalived/
目录下存在并具有可执行权限。此外,您还需要根据实际的网络接口名和虚拟 IP 地址进行相应的修改。
最后,不要忘记在启动 Keepalived 服务之前,使用 systemctl enable keepalived
命令将其设置为开机自启,并使用 systemctl start keepalived
命令启动服务。
未经允许不得转载:Keepalived 主备(Master-Backup)配置文件的示例
发表评论