MHA masterha_check_repl 检测过程

2015-07-16 12:09:38 · 作者: · 浏览: 0

MHA部署及配置是否OK,我们可以借助于MHA自带的masterha_check_ssh以及masterha_check_repl脚本来检测。masterha_check_repl检测是保证MHA成功切换的重要一步。本文主要描述了masterha_check_repl这个检测脚本到底做了些什么事情。有助于更好的理解MHA的相关原理及过程等。


1、当前的主从环境
[root@vdbsrv1 ~]# more /etc/hosts
127.0.0.1? ? localhost.localdomain localhost
192.168.1.6? vdbsrv1? #master
192.168.1.7? vdbsrv2? #slave1
192.168.1.8? vdbsrv3? #slave2
192.168.1.12 vdbsrv4? #manager


###mysql环境
[root@vdbsrv4 ~]# mysql -e "show variables like 'version'"
+---------------+------------+
| Variable_name | Value? ? ? |
+---------------+------------+
| version? ? ? | 5.6.22-log |
+---------------+------------+


[root@vdbsrv4 ~]# masterha_manager --version
masterha_manager version 0.56.


?


2、当前的MHA配置信息
[root@vdbsrv4 ~]$ more /etc/masterha/app1.cnf
[server default]
manager_workdir=/var/log/masterha/app1
manager_log=/var/log/masterha/app1/manager.log


user=mha
password=xxx
ssh_user=root
repl_user=repl?
repl_password=repl?
ping_interval=1
shutdown_script=""
master_ip_online_change_script=""
report_script=""
master_ip_failover_script=/tmp/master_ip_failover
?
[server1]
hostname=vdbsrv1
master_binlog_dir=/data/mysqldata


[server2]
hostname=vdbsrv2
master_binlog_dir=/data/mysqldata


[server3]
hostname=vdbsrv3
master_binlog_dir=/data/mysqldata/
#candidate_master=1


?


3、masterha_check_repl检测步骤
a、读取配置文件
b、检测配置文件中列出的mysql服务器(识别主从)
c、检测从库配置信息
? ? read_only参数
? ? relay_log_purge参数
? ? 复制过滤规则
d、ssh等效性验证
e、检测主库保存binlog脚本(save_binary_logs) ,主要是用于在master死掉后从binlog读取日志
f、检测各从库能否apply差量binlog(apply_diff_relay_logs)
g、检测IP切换,如果有部署脚本


?


Fri Apr 17 18:48:45 2015 - [info] Checking replication health on vdbsrv2..
Fri Apr 17 18:48:45 2015 - [info]? ok.
Fri Apr 17 18:48:45 2015 - [info] Checking replication health on vdbsrv3..
Fri Apr 17 18:48:45 2015 - [info]? ok.
Fri Apr 17 18:48:45 2015 - [info] Checking master_ip_failover_script status:? ###检测IP切换
Fri Apr 17 18:48:45 2015 - [info]? /tmp/master_ip_failover --command=status --ssh_user=root --orig_master_host=vdbsrv1
? --orig_master_ip=192.168.1.6 --orig_master_port=3306


IN SCRIPT TEST====/sbin/ifconfig eth0:0 down==/sbin/ifconfig eth0:0 192.168.1.13/24===


Checking the Status of the script.. OK
Fri Apr 17 18:48:45 2015 - [info]? OK.
Fri Apr 17 18:48:45 2015 - [warning] shutdown_script is not defined.
Fri Apr 17 18:48:45 2015 - [info] Got exit code 0 (Not master dead).


MySQL Replication Health is OK.