环境拓扑

chengAlived

#!/bin/bash
function checkModelone(){
echo "重新进行获取"
wget 192.168.158.147:3306 -O mysql
echo "获取成功"
echo "进行判断..."
grep "5.7.17" mysql > /dev/null
if [ $? -eq 0 ]; then
echo "mysql正在运行..."
echo "检查keepalived进程是否存在..."
ps aux|grep keepalived |grep -v grep
if [ $? -ne 0 ]
then
echo "keepalived进程丢失"
echo "准备重启keepalived..."
/usr/local/keepalived/sbin/keepalived -f /etc/keepalived/keepalived.conf
echo "重启成功"
else
echo "keepalived 正在运行..."
fi
else
echo "mysql端口异常..."
echo "准备杀除keepalived进程进行漂移"
chengkill keepalived
echo "漂移作业完毕"
fi
} function checkModeltwo(){
checkModelone
}
while [ true ]; do
/bin/sleep 10
if [ -d "mysql" ];then
touch mysql
else
if [ -s ./mysql ]; then
echo "文件不为空"
checkModelone
du -sh mysql
else
echo "文件为空"
checkModeltwo
fi
fi
done

运行规则:nohup ./chengAlived.sh &

说明+:

运行后, 会判断是否存在名字为"mysql"的文件, 否则新建, 把wget后的内容写进这个文件, 通过3306端口使用grep判断mysql版本号, 对keepalived漂移进行管理.

讲解+

第一台机器mysql主机+vip

第二台机器keepalived+lvs

启动脚本

nohup ./chengAlive.sh &

进程

ps aux | grep chengAlive.sh 

[root@localhost test]# ps aux | grep chengAlive.sh
root 16407 0.0 0.1 113128 1412 pts/1 S 15:27 0:00 /bin/bash ./chengAlive.sh
root 16410 0.0 0.1 112676 1008 pts/1 R+ 15:27 0:00 grep --color=auto chengAlive.sh

日志(mysql处于正常开启状态)

模拟宕机

假如mysql挂掉了(这是158.147)

然后keepalived查看脚本日志信息(158.149)

上面,,由于mysql已挂, kill掉keepalived, 实现漂移操作

抢占模拟

如果mysql重新启动(158.147)

再看keepalive(158.149)脚本日志

重新自动启动keepalive.抢占成功.

完毕.

维护keepalived与mysql漂移脚本的更多相关文章

  1. MySQL的keepalived高可用监控脚本

    MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占maste ...

  2. 基于keepalived搭建MySQL的高可用集群

    MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和 ...

  3. Keepalived+Lvs+Mysql主主复制

    一简单介绍 Keepalived+lvs+mysql主主复制是比較经常使用的一种Mysql高可用方案,当中lvs 提供读负载均衡,Keepalived通过虚拟vip漂移实现故障自己主动转移,而Mysq ...

  4. 基于keepalived搭建MySQL高可用集群

    MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和 ...

  5. 基于keepalived搭建MySQL热机集群

    背景 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,M ...

  6. (转)基于keepalived搭建MySQL的高可用集群

    基于keepalived搭建MySQL的高可用集群  原文:http://www.cnblogs.com/ivictor/p/5522383.html MySQL的高可用方案一般有如下几种: keep ...

  7. Keepalived与MySQL互为主从自动切换配置

    为解决Mysql数据库单点问题,实现两台MySQL数据库互为主备,双向replication.当一Master出现问题,则将Slave切换为Master继续工作. 环境说明 系统版本:CentOS L ...

  8. 基于keepalived搭建mysql双主高可用

    目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能 ...

  9. 使用KeepAlived搭建MySQL高可用环境

    使用KeepAlived搭建MySQL的高可用环境.首先搭建MySQL的主从复制在Master开启binlog,创建复制帐号,然后在Slave输入命令   2016年7月25日   配置安装技巧:   ...

随机推荐

  1. Redis:C#使用Redis(1)

    一.安装 1.下载安装包: 官方网站:redis.io 官方推荐windows版本:https://github.com/MSOpenTech/redis 2:下载压缩包,解压后如下 redis-se ...

  2. 关于Stuck Archiver的疑问

    客户使用crsctl stat res -t命令去查看RAC集群状态时,发现异常,知晓Stuck Archiver代表归档满,问我们为什么RAC是同一个库,只有实例1显示Stuck Archiver, ...

  3. jQuery显示隐藏

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. MYSQLi数据访问修改数据

    <link href="../bootstrap.min.css" rel="stylesheet" type="text/css" ...

  5. java 基础功能

    1.str.length();// 获取整个字符串的长度 public class Test { public static void main(String[] args) { String s = ...

  6. tortoise svn中更改用户

    1. Open Windows Explorer.2. Right-click anywhere in the window.3. Click TortoiseSVN → Settings.4. Cl ...

  7. vs使用gitflow

    1.背景:之前在开发一个项目时,用tfs管理代码,并用“禁止多人编辑”来避免冲突,但仅适用于开发团队较小时.缺点: (1).开发团队较大,开发人员较多时,会出现经常互相锁,增加沟通成本.比如增加文件时 ...

  8. [6]Windows内核情景分析 --APC

    APC:异步过程调用.这是一种常见的技术.前面进程启动的初始过程就是:主线程在内核构造好运行环境后,从KiThreadStartup开始运行,然后调用PspUserThreadStartup,在该线程 ...

  9. <<attention is all you need>>速读笔记

    背景 在seq2seq中,一般是有一个encoder 一个decoder ,一般是rnn/cnn 但是rnn 计算缓慢,所以提出了纯用注意力机制来实现编码解码. 模型结构 大部分神经序列转导模型都有一 ...

  10. win10系统进入BIOS

    按住shift+重启,在重启过程中界面会出现“疑难解答”,点击后,在新的界面点击“高级选项”,之后在新界面上点击“UEFI固件设置”,最后点击重启,重启过程中点击Delete键,就进入了BIOS界面了 ...