Keepalived+mysql 自动切换
转:水煮鱼
Keepalived+mysql 自动切换
网络结构:
VIP 192.168.20.50
mysq11 192.168.20.37 主
mysql2 192.168.20.38 备
一 mysql 主主同步
二 安装keepalived
三 keepalived 主备配置文件
四 mysql状态检测脚本/root/bin/keepalived_check_mysql.sh
五 防火墙设置
六 测试及诊断
七 参考资料
注 keepalived之间使用vrrp组播方式通信使用的IP地址是224.0.0.18
一 mysql 主主同步
请百度谷歌。
二 安装keepalived
主备置文件不同处有 state nopreempt priority 参考资料里有详细说明作用
192.168.20.37 主配置
chmod 755 /root/keepalived_check_mysql.sh
五 防火墙设置
vrrp协议 使用224.0.0.18地址组播
iptables -I RH-Firewall-1-INPUT -d 224.0.0.18 -j ACCEPT
六 测试及工具
故障前
故障切换
可以用同网段的另一台服务器 arping 1 这个虚拟IP
看看对应该的MAC地址 可以知道虚拟IP对应的真实服务器
配置文件 不正确时 有时候日志会有以下提示
VRRP_Instance(VI_1) Now in FAULT state
advert_int 两台keepalived 这个参数 不一致时 日志会有以下提示
Keepalived_vrrp: advertissement interval mismatch mine=5000000 rcved=1
七 参考资料
keepalived 官网 http://www.keepalived.org/index.html
田老 http://www.keepalived.org/sery-lvs-cluster.pdf
Linuxtone http://docs.linuxtone.org/ebooks ... 0definitive%20guide–FinalBSD.pdf
虚拟路由器冗余协议 http://baike.baidu.com/view/876125.htm
组播 http://baike.baidu.com/view/492256.htm
Keepalived+mysql 自动切换
网络结构:
VIP 192.168.20.50
mysq11 192.168.20.37 主
mysql2 192.168.20.38 备
一 mysql 主主同步
二 安装keepalived
三 keepalived 主备配置文件
四 mysql状态检测脚本/root/bin/keepalived_check_mysql.sh
五 防火墙设置
六 测试及诊断
七 参考资料
注 keepalived之间使用vrrp组播方式通信使用的IP地址是224.0.0.18
一 mysql 主主同步
请百度谷歌。
二 安装keepalived
- wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
- tar zxvf keepalived-1.2.2.tar.gz
- cd keepalived-1.2.2
- ./configure --prefix=/
- make
主备置文件不同处有 state nopreempt priority 参考资料里有详细说明作用
192.168.20.37 主配置
- vim /etc/keepalived/keepalived.conf
- ! Configuration File for keepalivedglobal_defs {
- router_id 9ai9.net
- }vrrp_script check_run {
- script "/root/keepalived_check_mysql.sh"
- interval 5
- }vrrp_sync_group VG1 {
- group {
- VI_1
- }
- }vrrp_instance VI_1 {
- state MASTER
- interface eth0
- virtual_router_id 88
- priority 100
- advert_int 1
- nopreempt
- authentication {
- auth_type PASS
- auth_pass 9ai9.net
- }
- track_script {
- check_run
- }virtual_ipaddress {
- 192.168.20.50
- }
- }
- vim /etc/keepalived/keepalived.conf
- ! Configuration File for keepalivedglobal_defs {
- router_id 9ai9.net
- }vrrp_script check_run {
- script "/root/keepalived_check_mysql.sh"
- interval 5
- }vrrp_sync_group VG1 {
- group {
- VI_1
- }
- }vrrp_instance VI_1 {
- state BACKUP
- interface eth0
- virtual_router_id 88
- priority 80
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 9ai9.net
- }
- track_script {
- check_run
- }virtual_ipaddress {
- 192.168.20.50
- }
- }
- vim /root/keepalived_check_mysql.sh
- #!/bin/bashMYSQL=/usr/local/mysql/bin/mysql
- MYSQL_HOST=localhost
- MYSQL_USER=root
- MYSQL_PASSWORD=9ai9.netCHECK_TIME=3#mysql is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0
- MYSQL_OK=1function check_mysql_helth (){
- $MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -e "show status;" >/dev/null 2>&1
- if [ $? = 0 ] ;then
- MYSQL_OK=1
- else
- MYSQL_OK=0
- fi
- return $MYSQL_OK
- }while [ $CHECK_TIME -ne 0 ]
- do
- let "CHECK_TIME -= 1"check_mysql_helthif [ $MYSQL_OK = 1 ] ; then
- CHECK_TIME=0
- exit 0
- fiif [ $MYSQL_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]
- then
- /etc/init.d/keepalived stop
- exit 1
- fisleep 1done
chmod 755 /root/keepalived_check_mysql.sh
五 防火墙设置
vrrp协议 使用224.0.0.18地址组播
iptables -I RH-Firewall-1-INPUT -d 224.0.0.18 -j ACCEPT
六 测试及工具
故障前
1.jpg (58.28 KB, 下载次数: 2)
故障切换
2.jpg (92.32 KB, 下载次数: 2)
可以用同网段的另一台服务器 arping 1 这个虚拟IP
看看对应该的MAC地址 可以知道虚拟IP对应的真实服务器
配置文件 不正确时 有时候日志会有以下提示
VRRP_Instance(VI_1) Now in FAULT state
advert_int 两台keepalived 这个参数 不一致时 日志会有以下提示
Keepalived_vrrp: advertissement interval mismatch mine=5000000 rcved=1
七 参考资料
keepalived 官网 http://www.keepalived.org/index.html
田老 http://www.keepalived.org/sery-lvs-cluster.pdf
Linuxtone http://docs.linuxtone.org/ebooks ... 0definitive%20guide–FinalBSD.pdf
虚拟路由器冗余协议 http://baike.baidu.com/view/876125.htm
组播 http://baike.baidu.com/view/492256.htm
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
学习了