keepalived的搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

最近测试了一下mysql+keepalived实现主从自动切换,主从都需要安装keepalived,使用vip漂移实现主从自动切换,这里主要记录的是keepalived的文件配置。

安装就不用多说了,编译或者yum安装都可以,编译安装的话注意将keepalived的执行命令cp到/usr/sbin 以及/etc/init.d/  配置文件可以默认cp到 /etc/keepalived/

主:172.16.171.130

从:172.16.171.140

vip: 172.16.171.120


两台服务器配置的均是BACKUP,主机优先级是100,从机优先级是90.均为非抢占模式nopreempt(只有BACKUP才可以设置为nopreempt),设置非抢占模式后,在原主机恢复并正常启动keepalived后,不会自动切回,若想切回master,只需去掉该节点的nopreempt选项并且将priority改的比其他节点大,然后重新加载配置文件即可(等MASTER切过来之后再将配置文件改回去再reload一下)。

notify_master 是切换为master时执行的脚本,主要用于判断主从是否已同步,并记录下主从切换时的日志位置。

notify_backup 是切换为backup时执行的脚本,主要是修改一些使用于从库的参数。

nofify_stop   是keepalived服务停掉后执行的脚本,主要是配置一些参数,并判断是否存在写操作。

notify_down /data/mysql/bin/MySQL.sh部分是在mysql 3306端口不通时执行的操作,脚本内容是:


#! /bin/sh

pkill keepalived


修改keepalived配置文件:

! Configuration File for keepalived

####global_defs区域 #####主要是配置故障发生时的通知对象以及机器标识

global_defs {

   notification_email{

   XXXX

}

   notification_email_from XXX

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id KeepAlive_Mysql

}

#####用来做健康检查的,当时检查失败时会将vrrp_instance的priority减少相应的值

默认是按照priority的优先级,当MASTER改为BUCKUP时 nopreempt才能生效 

vrrp_instance VI_1 {

    state MASTER

    nopreempt

    interface eth0

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    smtp_alert

#########增加虚拟IP地址

    virtual_ipaddress {

       172.16.171.120/24 brd 172.16.171.255 dev eth0 label eth0:1

    }

}

####配置虚拟IP端口

virtual_server 172.16.171.120 80 {

      delay_loop 2

      lb_algo wrr

      lb_kind DR

      persistence_timeout 60

      protocol TCP

      real_server 172.16.171.130 80 {

      weight 3

      notify_down /etc/keepalived/pkill.sh

      TCP_CHECK {

      connect_timeout 10

      nb_get_retry 3

      delay_before_retry 3

      connect_port 80

      }

      }

}


最后service keepalived start

ifconfig查看 绑定的虚拟IP是否成立

只要keeplived 重启或者挂掉  虚拟IP就会自动切换到另外一台,配置master的server 当keepalived启动后,会自动切换回IP!

本文转自岁月丶倾城博客51CTO博客,原文链接http://blog.51cto.com/alca0126/1793418如需转载请自行联系原作者

laihuadongcto
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
运维 Linux
keepalived详解(二)——keepalived安装与配置文件
keepalived详解(二)——keepalived安装与配置文件
16 1
|
9月前
|
关系型数据库 MySQL
Keepalived 简介
Keepalived 采用 VRRP CVirtual Router Redundancy Protocol , 虚拟路由冗余协议) ,以 软件 的形式实现服务的热备功能 。
122 0
|
8月前
|
数据安全/隐私保护 网络架构
Keepalived 安装与配置
安装好之后, 下一步就开始去来写这个配置文件了,就在这里面去建一个 etc 当中,就是在这个 etc 当中建一个这个 Keepalived 的 config 这样的一个文件:
118 1
Keepalived
目录 1.    基础掌握    1 1.1    服务安装    1 1.2    启动说明    1 1.3    配置说明    1 2.    高可用单实例    3 2.
1125 0
|
网络安全 Ubuntu 网络协议
|
监控 负载均衡 网络协议