天天看點

GALERA叢集文檔摘要目錄及介紹Galera叢集的優勢

說明:本文及其系列文章由作者翻譯自Galera Cluster官方文檔,若有不當之處,麻煩聯系作者處理,郵箱:[email protected]。轉摘請注明。

PS:在情人節到來之際,僅以此翻譯系列文章獻給我的女票蚊子,感謝将近6個年頭以來你對我的不離不棄,你使我更好!

Galera叢集是一個同步多主資料庫叢集,基于同步複制和Oracle的MySQL/InnoDB。 當Galera叢集在使用時,你可以直接往任一節點讀取和寫入,并且你可以不中斷叢集去丢棄任何單個節點,而無需處理複雜的故障轉移過程。

在更高層面上,Galera叢集由一個資料庫伺服器(即MySQL或MariaDB)組成,然後使用Galera複制插件來管理複制。更具體地說,MySQL複制插件API已經被擴充支援提供真正的多主同步複制所需的所有資訊和接口。此擴充API稱為寫集(Write-Set)複制API或wsrep API。通過wsrep API,Galera叢集提供基于認證的複制。複制事務(寫入事務)不僅包含要複制的資料庫行,而且還包括有關事務期間資料庫持有的所有鎖的資訊。然後,每個節點驗證緊靠在應用隊列中其他寫集的待複制的寫集。如果沒有沖突鎖,則寫集被應用寫入節點。此時,事務被認為已送出,之後每個節點将送出資料到表空間。這種方法也稱為虛拟同步複制,假定它在邏輯上是同步的,實際寫入和送出到表空間是獨立發生的,是以在每個節點上是異步的。

Galera叢集的優勢

Galera叢集為MySQL生态系統在高可用性(HA)方面提供了顯著改進。 僅通過Galera提供的一些功能就能實作MySQL的高可用性,為高可用性解決方案提供應用模式。

Galera叢集提供以下功能: 1.真正的多主模式,可以往任意節點任意時間讀和寫入。

2.異步複制沒有從庫延遲,在節點崩潰時沒有資料丢失。

3.緊耦合所有節點保持相同的狀态。 節點之間不允許分散資料。

4.多線程複制提供更好的性能和更多的負載 。

5.無主從故障切換操作,使用不受限制。

6.備用在故障轉移期間不用停機(因為沒有故障轉移)。

7.自動節點配置,無需手動備份資料庫并将其複制到新節點。

8.支援InnoDB。

9.對應用程式透明,無須(或最小的)更改應用程式。

10.不需要讀寫分離。 這是一個高可用性解決方案,在資料完整性和高性能與即時故障轉移方面都是穩健的。

Galera叢集的雲實施

Galera Cluster的另一個好處是良好的雲支援。 自動節點設定使得彈性向外擴充和伸縮操作沒有痛點。 Galera叢集已經被證明在雲中表現非常出色,例如,當使用多個小節點時,可以跨越多個資料中心 - 例如AWS區域 - 甚至是廣域網。

目錄

入門

  節點初始化

     安裝

     系統配置

     複制配置

  叢集初始化

    啟動叢集

    測試叢集

    重新開機叢集

技術說明

  資料庫複制

    主庫和從庫

    異步和同步複制

    解決同步複制中的問題

  基于證書的複制

    需要什麼基于證書的複制

    基于證書的複制如何工作

    Galera叢集中基于認證的複制

  複制API

    wsrep API

    Galera複制插件

    組通信插件

  隔離級别

    Galera叢集中的節點間隔離

    了解隔離級别

  狀态轉移

    狀态快照傳輸(SST)

    增量狀态轉移(IST)

  流控制

    流控制如何工作

    了解節點狀态

    節點狀态中的更改

  節點故障和恢複

    檢測單節點故障

    叢集可用性與分區容差

    從單節點故障恢複

  權重

    權重

    權重計算

    權重計算例子

配置

  節點配置

    節點如何加入叢集

    狀态轉移

  狀态快照傳輸

    邏輯狀态快照

    實體狀态快照

  恢複主元件

    了解主元件狀态

    修改儲存的主元件狀态

  重置權重

    查找優先級最高節點

    重置權重

  管理流控制

    監控流控制

    配置流控制

  自動收回

    配置自動收回

    檢查收回狀态

    從以前的版本更新

  模式更新

    總順序隔離

    滾動架構更新

  更新Galera叢集

    滾動更新

    批量更新

    僅供應商更新

  可編寫腳本的狀态快照傳輸

    使用常用SST腳本

    狀态傳輸腳本參數

    調用約定

    啟用可編寫腳本的SST

  Galera仲裁員

    啟動Galera仲裁器

  備份叢集資料

    狀态快照傳輸作為備份

部署

  叢集部署變式

    沒有叢集

    整堆棧聚類

    資料層聚類

    聚合堆疊叢集

  負載均衡

    HAProxy

    Pen

    Galera負載平衡器

  容器部署

    使用Docker

    使用Jails

監控

  監控叢集狀态

    檢查叢集完整性

    檢查節點狀态

    檢查複制運作狀況

    檢測慢網絡問題

  資料庫伺服器日志

    日志參數

    其他日志檔案

  通知指令

    通知指令參數

    示例通知腳本

    啟用通知指令

安全

  防火牆設定

    使用iptables進行防火牆配置   

    使用FirewallD進行防火牆配置

    使用PF的防火牆配置

  SSL設定

    SSL證書

    SSL配置

    狀态快照傳輸的SSL

  SELinux配置

    生成SELinux政策

遷移

  與獨立MySQL伺服器的差別

    伺服器差異

    表配置中的差異

    事務的差異

  遷移到Galera叢集

    更新系統表

    從MySQL遷移到Galera Cluster

支援

  故障排除

    經常問的問題

    伺服器錯誤日志

    未知指令錯誤

    使用者更改不複制

    叢集在ALTER上停止

    檢測慢節點

    處理多主機沖突

    雙節點叢集

  示例

    性能

    配置提示

參考

  MySQL wsrep選項

  Galera參數

    在MySQL中設定Galera的參數

  Galera狀态變量

  XtraBackup參數

  Galera負載平衡器參數

    配置參數

    配置選項

  版本控制資訊

    版本号

    Galera叢集的第三方實作

繼續閱讀