keepalived use nopreempt

from http://bbs.chinaunix.net/thread-4146421-1-1.html

1 主设备配置一定要加上:nopreempt

2 防火墙问题
允许组播,两台设备上都需要执行
iptables -A INPUT -d 224.0.0.18 -j ACCEPT

或修改:vim /etc/sysconfig/iptables
适当位置添加行:
-A INPUT -d 224.0.0.18 -j ACCEPT

or iptables -F



这段时间在弄热备方面东西,采用的是keepalived配置HA
先说下遇到的问题:
1、主、从设备同时有vip起来,感觉主从设备之间通讯有问题
2、当配置为非抢占时没有效果,优先级高的仍然会在重新起来后抢占master

网上搜索了一下,很多人也遇到设置不抢占没有效果问题。解决办法也似乎并不能凑效。
后来经过反复修改配置终于测试通过了。下面我将配置分享出来希望能帮到有同样问题的朋友:

主设备:/etc/keepalived/keepalived.conf
  1. ! Configuration File for keepalived

  2. global_defs {
  3.         notification_email {
  4.                 root@localhost.localdomain
  5.         }
  6.         notification_email_from ha@localhost.localdomain
  7.         smtp_server 127.0.0.1
  8.         smtp_connect_timeout 30
  9.         router_id xyz
  10. }

  11. vrrp_sync_group xyz_vsg {
  12.         group {
  13.                 xyz_vi
  14.         }
  15. }

  16. vrrp_instance xyz_vi {
  17.         state BACKUP
  18.         nopreempt
  19.         smtp_alert
  20.         notify_fault /usr/bin/xyz_notify_mail.sh fault
  21.         notify_master /usr/bin/xyz_notify_mail.sh master
  22.         notify_backup /usr/bin/xyz_notify_mail.sh backup

  23.         interface eth0
  24.         track_interface {
  25.                 eth1
  26.         }

  27.         virtual_router_id 51
  28.         priority 150
  29.         advert_int 3
  30.         authentication {
  31.                 auth_type PASS
  32.                 auth_pass xyz123456
  33.         }

  34.         virtual_ipaddress {
  35.                 172.16.1.30/24 dev eth0 scope global
  36.         }
  37. }

复制代码
从设备配置:/etc/keepalived/keepalived.conf
  1. ! Configuration File for keepalived

  2. global_defs {
  3.         notification_email {
  4.                 root@localhost.localdomain
  5.         }
  6.         notification_email_from ha@localhost.localdomain
  7.         smtp_server 127.0.0.1
  8.         smtp_connect_timeout 30
  9.         router_id xyz
  10. }

  11. vrrp_sync_group xyz_vsg {
  12.         group {
  13.                 xyz_vi
  14.         }
  15. }

  16. vrrp_instance xyz_vi {
  17.         state BACKUP
  18.         smtp_alert
  19.         notify_fault /usr/bin/xyz_notify_mail.sh fault
  20.         notify_master /usr/bin/xyz_notify_mail.sh master
  21.         notify_backup /usr/bin/xyz_notify_mail.sh backup

  22.         interface eth0
  23.         track_interface {
  24.                 eth1
  25.         }

  26.         virtual_router_id 51
  27.         priority 100
  28.         advert_int 3
  29.         authentication {
  30.                 auth_type PASS
  31.                 auth_pass xyz123456
  32.         }

  33.         virtual_ipaddress {
  34.                 172.16.1.30/24 dev eth0 scope global
  35.         }
  36. }
复制代码
说明一下:
1、监控网卡,也可以和vip网卡相同
track_interface {
                eth0
        }
2、主、从配置中都不能有: mcast_src_ip ...
如果设置了一定会出现这样那样的问题。

3、主设备配置一定要加上:nopreempt,否则非抢占也不起作用。

4、防火墙问题
允许组播,两台设备上都需要执行
iptables -A INPUT -d 224.0.0.18 -j ACCEPT

或修改:vim /etc/sysconfig/iptables
适当位置添加行:
-A INPUT -d 224.0.0.18 -j ACCEPT

留言

熱門文章