溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL的高可用性之Keepalived 雙主熱備工作原理及作用

發(fā)布時間:2020-05-09 15:23:48 來源:億速云 閱讀:446 作者:三月 欄目:MySQL數(shù)據(jù)庫

本文主要給大家簡單講講MySQL的高可用性之Keepalived 雙主熱備工作原理及作用,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL的高可用性之Keepalived 雙主熱備工作原理及作用這篇文章可以給大家?guī)硪恍嶋H幫助。

通常說的「雙機熱備」是指兩臺機器都在運行,但并不是兩臺機器都同時在提供服務。當提供服務的一臺出現(xiàn)故障的時候,另外一臺會馬上自動接管并且提供服務,而且切換的時間非常短。

Keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虛擬路由冗余協(xié)議。在VRRP中有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。

VRRP路由器是指運行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協(xié)議創(chuàng)建的,是邏輯概念。一組VRRP路由器協(xié)同工作,共同構(gòu)成一臺虛擬路由器。 Vrrp中存在著一種選舉機制,用以選出提供服務的路由即主控路由,其他的則成了備份路由。當主控路由失效后,備份路由中會重新選舉出一個主控路由,來繼續(xù)工作,來保障不間斷服務。

環(huán)境描述:


MySQL的高可用性之Keepalived 雙主熱備工作原理及作用

OS:Ubuntu16.04
MASTER:172.16.29.205
BACKUP:172.16.29.197
VIP:172.16.29.206

[root@masterr ~]# vi /etc/keepalived/keepalived.conf
global_defs {
notification_email {
test@sina.com
 }
notification_email_from  admin@test.com
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           #優(yōu)先級,backup設置90
 advert_int 1
 nopreempt             #不主動搶占資源,只在master這臺優(yōu)先級高的設置,backup不設置
 authentication {
 auth_type PASS
 auth_pass 1111
 }
 virtual_ipaddress {
 172.16.29.206
 }
}
virtual_server 172.16.29.206 3306 {
 delay_loop 2
 #lb_algo rr              #LVS算法,用不到,我們就關(guān)閉了
 #lb_kind DR              #LVS模式,如果不關(guān)閉,備用云服務器不能通過VIP連接主MySQL
 persistence_timeout 50  #同一IP的連接60秒內(nèi)被分配到同一臺真實云服務器
 protocol TCP
 real_server 172.16.29.205 3306 {   #檢測本地mysql,backup也要寫檢測本地mysql
 weight 3
 notify_down /etc/keepalived/mysql.sh    #當mysq服down時,執(zhí)行此腳本,殺死keepalived實現(xiàn)切換
 TCP_CHECK {
 connect_timeout 3    #連接超時
 nb_get_retry 3       #重試次數(shù)
 delay_before_retry 3 #重試間隔時間
  }
}   
[root@masterr ~]# vi /usr/local/keepalived/mysql.sh
#!/bin/bash
sudo service keepalived stop
[root@masterr ~]# chmod +x /usr/local/keepalived/mysql.sh
[root@masterr ~]# /etc/init.d/keepalived start

backup云服務器只修改priority為90、nopreempt不設置、real_server設置本地IP。

3、測試高可用性

1.通過Mysql客戶端通過VIP連接,看是否連接成功。

2.停止master這臺mysql服務,是否能正常切換過去,可通過ip addr命令來查看VIP在哪臺云服務器上。

3.可通過查看/var/log/messges日志,看出主備切換過程

4.master云服務器故障恢復后,是否主動搶占資源,成為活動云服務器。

MySQL的高可用性之Keepalived 雙主熱備工作原理及作用就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI