2016-06-25 42 views
0

我有一個5節點的Percona Galera Mysql羣集。Percona羣集 - 主節點失敗,如何繼續

真正的主節點和奴隸死了(服務器關閉),我假設,現在其中一個奴隸節點是主人,我檢查了他們的狀態(網站關閉),他們都是同步,沒有改變,我想要開始備份主節點,並重新獲得「主控」狀態,並獲得幾個小時前更新的數據。

這是一個活動的高交易數據庫,所以數據是100%重要的。

我可以正常啓動主站,還是應該/可以從更新的從站複製數據並將其粘貼到主站中? (我知道一切都在哪裏)。

什麼是最佳行動方案?

+0

我不明白。如果使用galera羣集,則沒有主節點。集羣中的每個節點都可以充當主節點,每個節點都有相同的信息。集羣中有多少個節點?有多少人墜毀?如果節點自動返回羣集中的成員。它同步日期,並在線 –

+0

5節點,我的意思是作爲你引導的節點的主人,即時尋找100%避免裂腦和數據丟失,我的理解是一個主 - 主複製真的是一個主 - 從時間和數據的緩衝區。 – iGNEOS

+0

如果你想要你可以打電話給我,我們可以談論你的問題,並且只把結果放在這裏。我希望我的英語夠好。你從哪裏來 ? –

回答

1

這裏一些東西從MariaDB的

MariaDB的加萊拉羣集爲MariaDB的一個同步多主羣集。它僅在Linux上可用,並且僅支持 XtraDB/InnoDB存儲引擎(儘管MyISAM有實驗支持 --請參閱wsrep_replicate_myisam系統變量)。

從MariaDB 10.1開始,Galera Cluster的wsrep API默認包含 。這可作爲 MariaDB 10.0和MariaDB 5的單獨下載獲得。5個

特點

  • 同步複製
  • 主動 - 主動多主拓撲
  • 讀取和寫入任何羣集節點
  • 自動成員控制,故障節點下降來自集羣
  • 自動售貨機IC節點加入
  • 真正的並行複製,對行級
  • 直接客戶端連接,本地MariaDB的

外觀&感覺有益

上述特點得到一些好處的

DBMS集羣解決方案,包括:

  • 沒有從滯後
  • 沒有丟失的事務
  • 讀取和寫入的可擴展性
  • 較小的客戶端延遲

它可以完美兼容MaxScale一個DB代理。

這裏還有來自FromDual的概述,它不是最新的,但你可以看到Galera的工作非常好。

https://www.fromdual.com/sites/default/files/galera_fromdual_cm_2013.pdf

2

既然你有5個節點集羣,死亡2例,你仍然有定額,這意味着您的集羣仍然有效,可以服務查詢。 所有節點應該同步,以便您可以將任何活動節點作爲主節點,並重新引導失敗的節點。 (沒有主人的概念,但上面的主人意味着你可以讓你的應用程序指向這個主節點)。

如果活動節點(集羣)上沒有太多的活動,那麼失敗的節點會做IST追趕。如果活動太多,這意味着寫集在活動節點gcache中不再可用,那麼將完成SST。

+0

概念,如主從和主 - 主在這裏有沒有關係。這些是異步複製術語,並且您沒有使用異步複製。您正在使用同步的PXC。如上所述,在PXC中沒有「主」或「從」的概念。所有節點都是平等的。所有節點都可以接受寫入,並且所有節點都保持相互同步。當你提出失敗的主機時,只需正常啓動它們(即:不要引導)。他們將重新加入羣集並同步其他節點上可能發生的任何更改。 – utdrmac

0

一個可以將Galera視爲主+ N-1奴隸。但是,如果指定的主人死亡,你會失去一些正常運行時間 - 正如你發現的那樣。使用這種配置有一些「有效」的原因,但將所有節點視爲讀寫是正常的,在這種情況下,一個節點的死亡幾乎不被注意。

如果您可以簡單地重新啓動死主,它將與其他節點通信,並可能做一個快速的IST來修復數據。

如果你不得不用一個新的盒子來替換失效的Master,那麼需要一個SST來加載數據。這是自動的;你什麼都不做(或者什麼都不做)。由於SST需要的時間量與數據量成正比,這可能需要很長時間。 你不應該自己複製數據。

如果你有一個計劃,當主設備死亡時將寫入路由到另一個節點會更好。這可能會導致整個系統的中斷最少。

另一種選擇是更改節點的IP地址,以欺騙客戶端認爲它是舊的主節點。

還有一個想法是在5個節點前使用Proxy(MaxScale,HAProxy等),並重新配置它以建立新的主節點。