keepalived + mysql主從

來源:互聯網
上載者:User

標籤:keepalive

mysql高可用服務部署


Mysql主從搭建完畢,(mysql 主從部署請看MySQL 主從複製)現在有一個問題,如果master伺服器down機了,如何快速恢複服務呢?

    我們有兩套解決方案:

    1.如果程式串連的是master的IP,直接在slave伺服器上添加master的IP即可。這個手動去操作,而且需要花費時間比較長,可能還會出現誤操作的情況,不推薦

    

    2.可以使用keepalived、heartbeat作為HA檢測軟體,檢查MySQL服務是否正常,不正常則自動切換到slave上,推薦使用


那麼我們接下來就看一下如何?:


cd /data

yum    -y    install    dernel-devel  popt-devel  openssl-devel  

wget http://keepalived.org/software/keepalived-1.2.1.tar.gz

tar zxf keepalived-1.2.1.tar.gz 

cd keepalived-1.2.1

./configure --prefix=/usr/local/keepalived

       --with-kernel-dir=/usr/src/kernels/2.6.32-573.7.1.el6.x86_64/


在編譯的時候會遇到一些問題

****************************************************************************************


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/1C/wKioL1YU0e6CYe1VAAIjrFQir0Q579.jpg" title="1.png" alt="wKioL1YU0e6CYe1VAAIjrFQir0Q579.jpg" />

注意:若此處 /usr/src/kenels/ 下沒東西,可能過安裝 kernel-devel 組件:

    yum -y install kernel-devel

    安裝後,執行以上操作


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/1F/wKiom1YU0-6j03-8AAHaXnmBRCA818.jpg" title="2.png" alt="wKiom1YU0-6j03-8AAHaXnmBRCA818.jpg" />說明缺少popt-devel 組件,安裝此組件即可:

    yum -y install popt-devel


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/1D/wKioL1YU4Sqzy7yBAAGosEJfU1Y385.jpg" title="6.png" alt="wKioL1YU4Sqzy7yBAAGosEJfU1Y385.jpg" />


出現此提示,是缺少openssl-devel 組件,直接安裝即可

****************************************************************************************




650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/1F/wKiom1YU1NrgykvWAAImzIiTmPM110.jpg" title="3.png" alt="wKiom1YU1NrgykvWAAImzIiTmPM110.jpg" />

出現此介面,證編譯成功


    make && make install ;echo $?


650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/1C/wKioL1YU2CKDMRd5AAF3CUPrSNo016.jpg" title="4.png" alt="wKioL1YU2CKDMRd5AAF3CUPrSNo016.jpg" />

若返回0,即證明安裝成功


設定開機啟動

    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived     /etc/rc.d/init.d

    cp /usr/local/keepalived/etc/sysconfig/keepalived    /etc/sysconfig

    cp /usr/local/keepalived/sbin/keepalived        /usr/sbin

    chkconfig --add keepalived

    chkconfig --level 35 keepalived on

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/1C/wKioL1YU2R7jOUYXAANVgWCY7hg526.jpg" title="5.png" alt="wKioL1YU2R7jOUYXAANVgWCY7hg526.jpg" />

keepalived 安裝成功


mkdir -p /etc/keepalived


配置master伺服器,keepalived設定檔內容如下:


vim /etc/keepalived/keepalived.conf


! Configuration File for keepalived 

global_defs { 

  notification_email { 

     [email protected]

  } 

  notification_email_from [email protected]

  smtp_server 127.0.0.1 

  smtp_connect_timeout 30 

  router_id LVS_DEVEL 

# VIP1 

vrrp_instance VI_1 { 

   state BACKUP   

   interface eth0 

   lvs_sync_daemon_inteface eth0 

   virtual_router_id 151 

   priority 100 

   advert_int 5 

   nopreempt 

   authentication { 

       auth_type PASS 

       auth_pass 2222 

   } 

   virtual_ipaddress { 

       192.168.10.200                      #此處為虛擬IP

   } 

virtual_server 192.168.33.100 3306 { 

   delay_loop 6    

   lb_algo wrr    

   lb_kind DR   

   persistence_timeout 60    

   protocol TCP         

    real_server 192.168.10.171  3306 {              #此處為你的真實機IP

       weight 100        

       notify_down /data/sh/mysql.sh  #此處為關閉 keepalived 的指令碼地址

       TCP_CHECK { 

       connect_timeout 10 

       nb_get_retry 3 

        delay_before_retry 3 

       connect_port 3306 

       } 

   } 

}


mysql從 主機部署與主相同,只需將設定檔中的 real_server 修改為自己的IP ,將優先順序修改為小於100的數字即可


mysql.sh 指令碼內容為:


#!/bin/bash

pkill -0 mysqld

if [[ ! $? -eq 0 ]];then

    /etc/init.d/mysqld start

    sleep 5

    pkill -0 mysqld

        if [[ ! $? -eq 0 ]];then

            pkill keepalived

        fi

fi


給指令碼執行許可權:

    chmod +x /data/sh/mysql.sh

本文出自 “騎豬去旅行” 部落格,請務必保留此出處http://songqinglong.blog.51cto.com/7591177/1700670

keepalived + mysql主從

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.