MYSQL+keepalived高可用集群实战

MySQL主从同步复制可以实现去数据库进行备份,保证网站数据的快速恢复,一般应用程序读写均在Master上,如果一旦Master服务器宕机,需要手工切换WEB网站连接数据库的IP至丛库,可以基于keepalived软件实现自动IP切换,保证网站高可用率,MySQL+keepalived集群架构配置方法如下:MySQL主库、丛库分别安装Keepalived服务:

(1)MySQL主库、丛库分别安装Keepalived服务:

tar  -xzvf  keepalived-1.2.1.tar.gz
cd keepalived-1.2.1 
./configure
make
make install 
DIR=/usr/local/
cp $DIR/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/
cp $DIR/etc/sysconfig/keepalived   /etc/sysconfig/ 
mkdir  -p  /etc/keepalived
cp   $DIR/sbin/keepalived         /usr/sbin/

(2)MySQL+Keepalived  Master配置文件代码如下:

! Configuration File for keepalived 
 global_defs { 
  notification_email { 
      wgkgood@163.com 
 } 
    notification_email_from wgkgood@163.com 
    smtp_server 127.0.0.1 
    smtp_connect_timeout 30 
    router_id LVS_DEVEL 
 }
 vrrp_script chk_mysql {
    script "/data/sh/check_mysql.sh" 
    interval 2 
    weight 2 
 } 
 # VIP1 
 vrrp_instance VI_1 { 
     state MASTER 
     interface eth0 
     lvs_sync_daemon_inteface eth0 
     virtual_router_id 151 
     priority 100 
     advert_int 5 
     nopreempt 
     authentication { 
         auth_type  PASS 
         auth_pass  1111 
     } 
     virtual_ipaddress { 
         192.168.0.198
     } 
     track_script { 
     chk_mysql 
    } 
 }

(3)MySQL+Keepalived Backup配置文件代码如下:

! Configuration File for keepalived 
 global_defs { 
  notification_email { 
      wgkgood@163.com 
 } 
    notification_email_from wgkgood@163.com 
    smtp_server 127.0.0.1 
    smtp_connect_timeout 30 
    router_id LVS_DEVEL 
 }
 vrrp_script chk_redis  {
    script "/data/sh/check_mysql.sh" 
    interval 2 
    weight 2 
 } 
 # VIP1 
 vrrp_instance VI_1 { 
     state BACKUP 
     interface eth0 
     lvs_sync_daemon_inteface eth0 
     virtual_router_id 151 
     priority 90 
     advert_int 5 
     nopreempt 
     authentication { 
         auth_type  PASS 
         auth_pass  1111 
     } 
     virtual_ipaddress { 
         192.168.0.198
     } 
     track_script { 
     chk_mysql 
    } 
 }

(4)两台MySQL服务器上配置/data/sh/check_mysql.sh脚本,内容如下:

#!/bin/bash 
#auto  check  mysql  process
NUM=`ps -ef |grep mysql|grep -v grep|grep  -v check|wc -l`
if 
[[ $NUM  -eq  0 ]];then
        /etc/init.d/keepalived  stop
fi

(5)WEB网站直接连接keepalived VIP即可实现网站自动切换,发现MySQL宕机,会自动切换至丛库上。

发表评论

后才能评论