More Related Content Similar to Mysql mmm演讲-冯浩 (20) Mysql mmm演讲-冯浩1. 《 Mysql-mmm 实现 HA 》 《瞬间表锁 mmm-tools 实现快照备份》 演讲人 : 冯 浩 网 名 :FH.CN|ISADBA Email : [email_address] Blog: www.mysqlops.com | linuxguest.blog.51cto.com ChinaUnix 技术沙龙 10. mysql-mmm 运行机制 MMM_MONITOR Listen:tcp9988 Mysql Master A Agent Mysql Master B Agent Mysql slave C Agent Listen:tcp9989 Listen:tcp9989 Listen:tcp9989 mmm_monitor 进程用监控的数据和读取配置文件中的信息,通过 tcp9988 和 9989 与客户端通信,完成各种对客户端的设置操作,比如虚拟 IP 的添加和删除…… mmm_monitor 进程读取配置文件中的信息连接到 agent 的 mysql 端口,检查 mysql 的的相关状态 。 18. mysql-mmm 安装后文件一览 文件目录 描述 /usr/lib/perl5/vendor_perl/5.8.8/MMM MMM 使用的 perl 模块 /usr/lib/mysql-mmm MMM 的脚本插件 /usr/sbin MMM 的命令保存路径 /var/log/mysql-mmm MMM 的日志保存路径 /etc MMM 配置文件保存的路径 /etc/mysql-mmm MMM 配置文件保存的路径,优先级最高 /etc/init.d/ agentd 和 monitor 的启动关闭脚本 28. mysql-mmm 故障处理机制 MMM_MONITOR Listen:tcp9988 Mysql Master A Agent Mysql Master B Agent Mysql slave C Agent Listen:tcp9989 Listen:tcp9989 Listen:tcp9989 monitor 检查 agent 的以下几个状态 1 、 agent 进程 2 、 ping 3 、 mysql 4 、 rep_threads 、 5 、 rep_backlog ping 检查默认是 1s ,通过 ping_interval 配置 mysql 相关的检查默认是 5s ,通过 check_period 配置, trap_period 表示一个节点检测不成功持续的时间,默认为 10 秒,如果超过这个时间就认为这个节点失败了。 如果活动的 master 检测到失败,那么 writer role 将从原来的主机上移除。 active master : 1 、 mysql 设置为 read_only 模式 2 、删除活动的连接 3 、删除虚拟 IP slave : 1 、完成原来主机上的复制工作 2 、切换 master 到新的主机上 new active master : 1 、 mysql 设置为可写模式 2 、配置虚拟 ip Editor's Notes 12/14/11 12/14/11 [root@andy ~]# mmm_backup --host db1 --copy-method scp --dest-dir /mmm_backup/ INFO: Checking local destination directory '/mmm_backup/'... INFO: Directory is ok INFO: Verifying ssh connection to remote host 'root@192.168.199.128' (command: ssh -p 22 root@192.168.199.128 date)... root@192.168.199.128's password: Thu Dec 8 00:05:42 CST 2011 INFO: OK: SSH connection works fine! INFO: ssh -p 22 root@192.168.199.128 /usr/lib/mysql-mmm//tools/create_snapshot root@192.168.199.128's password: File descriptor 4 (socket:[1785871]) leaked on lvcreate invocation. Parent PID 16900: perl Logical volume "mmm_snapshot" created OK: Snapshot created! INFO: Copying 'var' from snapshot on host 'db1' with copy method 'scp' INFO: Executing command scp -P22 -c blowfish -r root@192.168.199.128:/mmm_snapshot/var /mmm_backup// 拷贝文件 INFO: Copied directory var! INFO: Copying '_mmm' from snapshot on host 'db1' with copy method 'scp' INFO: Executing command scp -P22 -c blowfish -r root@192.168.199.128:/mmm_snapshot/_mmm /mmm_backup// root@192.168.199.128's password: status.txt 100% 2345 2.3KB/s 00:00 my.cnf 100% 5570 5.4KB/s 00:00 INFO: Copied directory _mmm! INFO: ssh -p 22 root@192.168.199.128 /usr/lib/mysql-mmm//tools/remove_snapshot root@192.168.199.128's password: Logical volume "mmm_snapshot" successfully removed OK: Snapshot removed! 12/14/11