1、配置selinux ,iptables ,同步时间

  • 各节点时间必须同步:

            ntpdate TIME_SERVER_IP (如果没有ntpdate,安装ntp包,或者直接安装ntpdate包)

            vim /etc/chrony.conf

                server TIME_SERVER_IP iburst

                #server 0.centos.pool.ntp.org iburst

                #server 1.centos.pool.ntp.org iburst

                #server 2.centos.pool.ntp.org iburst

                #server 3.centos.pool.ntp.org iburst

            systemctl restart chronyd

  • 确保iptables及selinux不会成为阻碍。

  • 各节点之间可通过主机名互相通信(对KA并非必须):建议使用/etc/hosts文件实现(DNS服务如果有问题,还不如hosts文件好用)

  • 确保各节点的用于集群服务的接口支持MULTICAST通信:多播或叫组播,使用D类地址(224-239)。(多播地址最好不要使用默认的,手动修改一下。因为如果好多个集群服务都是用默认的,虽然有认证机制,但是也会互相发送信息,虽然因为认证机制丢弃掉了,但也影响性能,也会产生无用的日志。)

2、在ka1上

#vim keepalived.conf

! Configuration File for keepalived
global_defs {
   notification_email {
     root@localhost(提醒是发送邮件地址)
   }
   notification_email_from keepalived@localhost(邮件来源)
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id proxy1
   vrrp_mcast_group4 224.1.1.1(组播地址与备用ka服务器相同)
}
vrrp_instance VI_1 {
    state MASTER
    interface eth1(提供服务的网卡名称)
    virtual_router_id 66(与备用ka服务器的相同,即表明在同一网段)
    priority 100(抢占虚拟IP的优先级)
    advert_int 1
    authentication {
        auth_type PASS (认证方式:PASS为简单字符串密码,推荐使用;AH为IPSEC方式,不推荐使用)
        auth_pass 123456 
    }
    virtual_ipaddress {
        172.18.0.200/16 (注意掩码,默认为32)
    }
}


3在ka2上

    #vim keepalived.conf

! Configuration File for keepalived
global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id proxy2 (不能与主ka相同)
   vrrp_mcast_group4 224.1.1.1
}
vrrp_instance VI_1 {
    state BACKUP  (备用模式)
    interface eth1
    virtual_router_id 66
    priority 80  (抢占IP优先级)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        172.18.0.200/16
    }
}

vrrp_instance <STRING> {

    state MASTER|BACKUP:当前节点在此虚拟路由器上的初始状态;只能有一个是MASTER,余下的都应该为BACKUP

    interface IFACE_NAME:绑定为当前虚拟路由器使用的物理接口

    virtual_router_id VRID:当前虚拟路由器惟一标识,范围是0-255

    priority 100:当前物理节点在此虚拟路由器中的优先级;范围1-254

    advert_int 1:vrrp通告的时间间隔,默认1s

}


启用ka的日志

    vim /etc/sysconfig/keepalived 

KEEPALIVED_OPTIONS="-D -S 3"

    vim /etc/rsyslog.conf 

local3.*   /var/log/keepalived.log