SUSE 12 环境安装keepalived及遇到的问题 (0penStack平台下虚机)

SUSE 12 环境安装keepalived及遇到的问题 (0penStack平台下虚机)

1、项目要求需做mysql高可用集群,最终选择的mysql+keepalived的方式实现,此文档只介绍keepalived安装及遇到的问题。

2、提前准备好安装包 :keepalived-2.0.7.tar.gz
安装keepalived必须先安装好各依赖包zypper install -y libnfnetlink-devel zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh
zypper install -y libnl* ipvsadm (这两个包必须安装,因为keepalived是基于ipvsadm来实现的高可用的)
安装完成后检查ip_vs模块是否启动 lsmod |grep ip_vs
输出上图结果正常,如无需收到加载

3、解压keepalived-2.0.7.tar.gz
tar -zxvf keepalived-2.0.7.tar.gz
cd keepalived-2.0.7
执行 ./configure --prefix=/usr/local/keepalived(指定安装目录-自定义) && make && make install
执行完成检查有无报错。
进入安装目录 修改配置文件

4、启动keepalived (本次是做的双活,另一台按如上操作再来一遍)
查看日志进程 检查keepalived 是否正常启动

5、本次安装遇到的最大坑
两台keepalived无法做到自动切换,原因是此OpenStack下的虚拟机mac地址无法自动解绑 ,当一台keepalived宕机后虚拟IP依然绑定在当期虚拟机网卡下。由于环境的局限性我这边的临时解决方案是当另一台keepalived监控到另外一台无心跳后,执行 “ping 局域网网关或者其他可联通服务器IP地址 -I keepalived虚拟IP -c 3”
(意思是通过虚拟IP 短ping网关或局域网内机器三次,当虚拟平台检测到地址失效后解绑)从而另外一台可绑定虚拟IP达到切换的目的,注意:此方法在切换时会丢1~2个包

当keepalived宕机后此虚拟IP应当自动解绑另一台才能切换为主机绑定IP ,不然IP占用另外一台无法工作

下图是我的keepalived配置

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id joychat
   vrrp_skip_check_adv_addr
#   vrrp_strict
#   vrrp_garp_interval 0
#   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 54
    priority 100
    advert_int 1
#    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        虚拟-IP 
}
        notify_master "/data/keepalived/Ping.sh"
}

virtual_server 虚拟-IP 3306 {
    delay_loop 2
#    lb_algo rr
#    lb_kind NAT
    persistence_timeout 60
    protocol TCP

    real_server  mysq-IP 3306 {
        weight 1
        notify_down /data/keepalived/shutdown.sh
        TCP_CHECK {
                connect_timeout 10
                nb_get_retry 3
                delay_before_retry 3
                connect_prot 3306
}

        }
    }

本人水平有限,望其他有更好方法的朋友留言探讨!



猜你喜欢

转载自blog.csdn.net/qq_35170079/article/details/82756567
今日推荐