keepalived+mysql backup伺服器可ping通過vip但telnet vip+3306失敗問題

來源:互聯網
上載者:User

標籤:重試   角色   ping   res   錯誤提示   去掉   global   timeout   delay   

環境:

OS:CentOS 7_X64

資料庫:mysql-5.7

MASTER:192.168.119.23

BACKUP:192.168.119.24

VIP:192.168.119.138

 

keepalived+mysql搭建過程的詳細配置就不描述了,網上很多寫得很詳細的配置文檔自己可以去參考,我們直奔主題 。

這裡主要分享在下本人在搭建公司的keepavlied+mysql出現一個很奇怪的現象,當A伺服器為master主時邦定VIP 192.168.119.138,在A本機上可以正常ping 192.168.119.138 和 telnet 192.168.119.138 3306連接埠,此時在B伺服器上ping 192.168.119.138也正常,但telnet 192.168.119.138 3306 時出現找不到路由的錯誤提示,同時檢查B伺服器此時是沒有VIP 屬於正常的現象,可是telnet VIP+其他連接埠正常的。

經常反覆的測試發現,當A、B伺服器同時運行keepalived時,作為backup角色的伺服器無法telnet 192.168.119.138 3306,將backup角色服務器上的keepalived關閉後,卻可以正常ping telnet。

問題還是在於設定檔,將keepalived.conf設定檔的LVS用不到調試演算法lb_algo和轉寄方式lb_kind去掉,正是這兩項導致backup伺服器無法訪問mysql。正常的設定檔如下: 

 

[[email protected] ~]# vi  /etc/keepalived/keepalived.conf

global_defs {

notification_email {

[email protected]

}

notification_email_from  [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id MYSQL_HA      #標識,雙主相同

}

vrrp_instance VI_1 {

state BACKUP           #兩台都設定BACKUP

interface eth0

virtual_router_id 51       #主備相同

priority 100           #優先順序,backup設定50

advert_int 1

nopreempt             #不主動搶佔資源,只在master這台優先順序高的設定,backup不需設定

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.119.138

}

}

virtual_server 192.168.0.204 3306 {

delay_loop 2

#lb_algo rr              #LVS演算法,用不到,我們就關閉了

#lb_kind DR              #就是這項導致上述的現象,LVS模式,如果不關閉,待命伺服器不能通過VIP串連主MySQL

persistence_timeout 50  #同一IP的串連60秒內被分配到同一台真實伺服器

protocol TCP

real_server 192.168.119.23 3306 {   #檢測本地mysql,backup也要寫檢測本地mysql

weight 3

notify_down /usr/local/keepalived/mysql.sh    #當mysq服down時,執行此指令碼,殺死keepalived實現切換,也可以加入其他命令或指令碼。

TCP_CHECK {

connect_timeout 3    #連線逾時

nb_get_retry 3       #重試次數

delay_before_retry 3 #稍候再試時間

}

}

 

雖然問題是解決的了,但沒搞明白為什麼會這樣?我使用相同版本的mysql和keepalived在RHEL 6.0 X64環境下測試並沒有出現這問題。求高手出現解答。

keepalived+mysql backup伺服器可ping通過vip但telnet vip+3306失敗問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.