1. 程式人生 > >基於Keepalived的MySQL高可用

基於Keepalived的MySQL高可用

keepalived負責的是故障轉移,至於故障轉以後的節點之間資料的一致性問題依賴於具體的複製模式。
不管是主從、一主多從還是雙主、叢集節點個數、主從具體的模式無關(常規復制,半同步複製,GTID複製,多執行緒複製,甚至可以是MGR)都沒有直接的關係。
個人認為,MySQL高可用方向,MGR+自動故障轉移中介軟體(keepalived),應該是是個趨勢。怎麼感覺MHA的配置又臭又長。

keepalive的安裝

1、官方下載
wget http://www.keepalived.org/software/keepalived-XXXX.tar.gz
2、解壓,編譯安裝
tar zxvf keepalived-XXXX.tar
.gz ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.XXXXXXXX/ make && make install cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ cp
/usr/local/keepalived/sbin/keepalived /usr/sbin/ service keepalived start

2,Keepalived配置

3,自行主從(主主)搭建,注意事項

  1,主從(或者主主)伺服器之間相互ping的同,如果不同,可能是防火牆的原因
  2,給予相關shell指令碼的可執行許可權,chmod +x mysql_check.sh
  3,測試之前先搭建好主從,單純測試keepalived的故障轉移功能的話,甚至主從就不用搭建,所以高可用的本質,還是跟複製的模式有很大的關係

整個搭建過程不算複雜,如果各個節點之間使用指令碼標準化安裝的話並不需要花很長時間,以下是節點的故障轉移的效果,可以發現一個連線可以自動從一個節點轉移到另外一個節點。