Keepalived 监控 mysql 主从切换
2016-01-14 15:22
435 查看
1)、在两台机子上面分别安装 mysql , keepalived
2)、
keepalived 主从:
主:vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP # 备用用 BACKUP
interface eth2 #用的是哪个网卡
virtual_router_id 59 #虚拟路由地址必须一样,才能配置成一个组
priority 100 # 备用用 90
advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
nopreempt
authentication {
auth_type PASS #(密码形式)
auth_pass 1111
}
virtual_ipaddress {
192.168.32.100
}
notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modi.txt"
#notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}
virtual_server 192.168.32.100 3306 {
delay_loop 6 #每隔6s 查询 realserver 状态
lb_algo rr #lvs 算法
lb_kind NAT #Direct Route
persistence_timeout 60 #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP # 用 TCP协议检查 realserver 状态
real_server 192.168.32.79 3306 {
weight 1
notify_down /usr/local/sbin/keepalived.sh
TCP_CHECK {
connect_timeout 10 #10s 无响应超时
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
从:vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP # 备用用 BACKUP
interface eth2 #用的是哪个网卡
virtual_router_id 59 #虚拟路由地址必须一样,才能配置成一个组
priority 90 # 备用用 90
advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
nopreempt
authentication {
auth_type PASS #(密码形式)
auth_pass 1111
}
virtual_ipaddress {
192.168.32.100
}
notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh2>&1 | tee /tmp/modi.txt"
#notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}
virtual_server 192.168.32.100 3306 {
delay_loop 2 #每隔2s 查询 realserver 状态
lb_algo rr #lvs 算法
lb_kind NAT #Direct Route
persistence_timeout 60 #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP # 用 TCP协议检查 realserver 状态
real_server 192.168.32.87 3306 {
weight 1
notify_down /usr/local/sbin/keepalived.sh
TCP_CHECK {
connect_timeout 10 #10s 无响应超时
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
其中主从 keepalived.sh:
#!/bin/bash
service keepalived restart
service mysql start
主从modify_master.sh:
#!/bin/bash
/usr/local/mysql/bin/mysql -uroot -p1234567 -e 'set global read_only=0;'
/usr/local/mysql/bin/mysql -uroot -h
192.168.32.87 -p1234567 -e 'set global read_only=1;' (其中 -h 后面主机要么空格,要么加引号,从修改为:192.168.32.79)
mysql 主从 (需搭建互为主从):请参考我博客的 mysql主从
2)、
keepalived 主从:
主:vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP # 备用用 BACKUP
interface eth2 #用的是哪个网卡
virtual_router_id 59 #虚拟路由地址必须一样,才能配置成一个组
priority 100 # 备用用 90
advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
nopreempt
authentication {
auth_type PASS #(密码形式)
auth_pass 1111
}
virtual_ipaddress {
192.168.32.100
}
notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh 2>&1 | tee /tmp/modi.txt"
#notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}
virtual_server 192.168.32.100 3306 {
delay_loop 6 #每隔6s 查询 realserver 状态
lb_algo rr #lvs 算法
lb_kind NAT #Direct Route
persistence_timeout 60 #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP # 用 TCP协议检查 realserver 状态
real_server 192.168.32.79 3306 {
weight 1
notify_down /usr/local/sbin/keepalived.sh
TCP_CHECK {
connect_timeout 10 #10s 无响应超时
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
从:vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP # 备用用 BACKUP
interface eth2 #用的是哪个网卡
virtual_router_id 59 #虚拟路由地址必须一样,才能配置成一个组
priority 90 # 备用用 90
advert_int 1 #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
nopreempt
authentication {
auth_type PASS #(密码形式)
auth_pass 1111
}
virtual_ipaddress {
192.168.32.100
}
notify_master "/bin/bash -x /usr/local/sbin/modify_master.sh2>&1 | tee /tmp/modi.txt"
#notify_master "/bin/echo master >> /etc/keepalived/temp.txt"
}
virtual_server 192.168.32.100 3306 {
delay_loop 2 #每隔2s 查询 realserver 状态
lb_algo rr #lvs 算法
lb_kind NAT #Direct Route
persistence_timeout 60 #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP # 用 TCP协议检查 realserver 状态
real_server 192.168.32.87 3306 {
weight 1
notify_down /usr/local/sbin/keepalived.sh
TCP_CHECK {
connect_timeout 10 #10s 无响应超时
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
其中主从 keepalived.sh:
#!/bin/bash
service keepalived restart
service mysql start
主从modify_master.sh:
#!/bin/bash
/usr/local/mysql/bin/mysql -uroot -p1234567 -e 'set global read_only=0;'
/usr/local/mysql/bin/mysql -uroot -h
192.168.32.87 -p1234567 -e 'set global read_only=1;' (其中 -h 后面主机要么空格,要么加引号,从修改为:192.168.32.79)
mysql 主从 (需搭建互为主从):请参考我博客的 mysql主从
相关文章推荐
- Loops with PL/SQL
- MySQL 数据库主从复制架构
- MySQL 数据库主从复制架构
- sqlzoo练习答案--More JOIN operations
- MySQL 数据库主从复制架构
- SQLSERVER索引的维护
- sqlzoo练习答案--The JOIN operation
- mysql中OPTIMIZE TABLE的作用
- SQl -维护数据的完整性--约束 -
- SQL server 2008架构
- 通过Navicat for MySQL恢复数据 mysql [Err] 2006 - MySQL server has gone away [Err] INSERT INTO错误
- mysqld_multi stop 不能停掉mysql
- 卸载了PL/SQL Developer,说一下与Toad for Oracle的对照
- Zabbix错误提示MySQL server has gone away解决
- Zabbix错误提示MySQL server has gone away解决
- sqoop 从mysql导入数据到hive报错
- XXMySQL数据库运维变更流程
- MySQL架构
- Oracle存储过程单步调试方法(使用pl/sql developer工具)
- MySQL 数据库主从复制架构