1. 程式人生 > >keepalived+mysql 高可用集群

keepalived+mysql 高可用集群

spa pan etc persist mask int src ipa att

mysql 為主主模式參考 https://my.oschina.net/sanmuyan/blog/877373

192.168.100.129 mysql 主節點/keepalived 主節點
192.168.100.130 mysql 備節點/keepalived 備節點
192.168.100.150 虛擬IP

主備節點

yum install keepalived -y
vim  /etc/keepalived/keepalived.conf
! Configuration File for keepalived

vrrp_instance VI_1 {
    state MASTER    #備節點設置為BACKUP
    interface eth0
    virtual_router_id 51 #主備保持一致
    priority 100 #備節點90
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.100.150  #虛擬IP
    }
}

virtual_server 192.168.100.150 3306 { #虛擬IP
    delay_loop 6
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

    real_server 192.168.100.129 3306 { #真實IP 備節點為192.168.100.130
    weight 3
    notify_down /root/mysql.sh   #如果本地IP 3306端口宕掉 則執行該腳本(殺死keepalived進程)
    TCP_CHECK {
    connect_timeout 3   
    nb_get_retry 3       
    delay_before_retry 3 
  }
}
[[email protected] ~]# vim mysql.sh
#!/bin/bash
pkill keepalived

[[email protected] ~]# chmod +x mysql.sh 

實驗

技術分享

說明keepalived已經開始工作

關閉主服務器 短暫的超時備服務器接管了虛擬IP

技術分享

keepalived進程正在運行

[[email protected] ~]# ps -el | grep keepalived
1 S     0  16274      1  0  80   0 - 27926 poll_s ?        00:00:00 keepalived
5 S     0  16275  16274  0  80   0 - 28487 poll_s ?        00:00:00 keepalived
5 S     0  16276  16274  0  80   0 - 28457 poll_s ?        00:00:00 keepalived
[root@localhost ~]# systemctl stop mysqld  關閉mysql服務

keepalived 進程已經被kill

技術分享

keepalived+mysql 高可用集群