在使用 Galera Cluster 時還是可以架設一般的 slave server (Percona XtraDB Cluster 則是 Percona 對 Galera Cluster 的封裝),像是這樣的架構:
其中 node{1,2} 為 cluster,node3 則是傳統的 async replication,來源的 master 為 node1。
當 node1 掛掉時,我們沒辦法自動將 node3 的 master 從 node1 改指到 node2,因為 binlog 的位置不一定正確。
在「Changing an async slave of a PXC cluster to a new Master」則是提供如何人工用最簡單的方式介入。
主要是靠 Galera Cluster 會在 binlog 內寫入 Xid
這個值,這個值可以在 global status 內的 wsrep_last_committed
看到。因為這個值在全 cluster 都是同步的,就可以拿來人工尋找 binlog 位置後手動下 CHANGE MASTER TO
,而不用 pt-table-sync 同步修老半天...
而且邏輯被整理出來以後,就有機會寫成程式自動化... 這算是一個不錯的開頭 :p